Class to compute floating point variables from a track which can be recorded as a flat TNtuple or serve as input to a MVA method.
More...
#include <BestMatchedTruthVarSet.h>
|
void | initialize () final |
| Require the Monte Carlo truth information at initialisation.
|
|
void | beginEvent () final |
| Prepare the Monte Carlo truth information at start of the event.
|
|
bool | extract (const CDCTrack *ptrCDCTrack) override |
| Generate and assign the contained variables. More...
|
|
std::vector< Named< Float_t * > > | getNamedVariables (const std::string &prefix) override |
| Getter for the named references to the individual variables Base implementaton returns empty vector.
|
|
virtual std::vector< Named< Float_t * > > | getNamedVariables (const std::string &prefix __attribute__((unused))) |
| Getter for the named references to the individual variables Base implementaton returns empty vector. More...
|
|
std::vector< Named< Float_t * > > | getNamedVariables () |
| Getter for the named references to the individual variables.
|
|
MayBePtr< Float_t > | find (const std::string &varName) override |
| Pointer to the variable with the given name. More...
|
|
virtual bool | extract (const Object *obj __attribute__((unused))) |
| Main method that extracts the variable values from the complex object. More...
|
|
bool | extract (const Object &obj) |
| Method for extraction from an object instead of a pointer.
|
|
std::map< std::string, Float_t > | getNamedValues (const std::string &prefix) const |
| Getter for a map of names to float values. More...
|
|
std::map< std::string, Float_t > | getNamedValues () const |
| Getter for a map of names to float values.
|
|
void | beginRun () override |
| Receive and dispatch signal for the beginning of a new run.
|
|
void | endRun () override |
| Receive and dispatch signal for the end of the run.
|
|
void | terminate () override |
| Receive and dispatch Signal for termination of the event processing.
|
|
|
Float_t | get () const |
| Getter for the value of the ith variable. Static version.
|
|
Float_t & | var () |
| Reference getter for the value of the ith variable. Static version.
|
|
AssignFinite< Float_t > | finitevar () |
| Reference getter for the value of the ith variable. Transforms non-finite values to finite value.
|
|
void | addProcessingSignalListener (ProcessingSignalListener *psl) |
| Register a processing signal listener to be notified.
|
|
int | getNProcessingSignalListener () |
| Get the number of currently registered listeners.
|
|
|
constexpr static int | named (const char *name) |
| Getter for the index from the name. More...
|
|
|
static const size_t | nVars |
| Number of floating point values represented by this class.
|
|
Class to compute floating point variables from a track which can be recorded as a flat TNtuple or serve as input to a MVA method.
Definition at line 65 of file BestMatchedTruthVarSet.h.
◆ extract() [1/2]
bool extract |
( |
const CDCTrack * |
ptrCDCTrack | ) |
|
|
override |
Generate and assign the contained variables.
Find the MC track with the highest number of hits in the segment
Flag if CDCTrack is matched in CDCMCTrackLookUp, which uses m_minimalMatchPurity = 0.5
count number of correct hits
Definition at line 35 of file BestMatchedTruthVarSet.cc.
37 if (not ptrCDCTrack)
return false;
44 ITrackType trackMCMatch = mcTrackLookUp.getMCTrackId(ptrCDCTrack);
45 bool trackIsFake =
false;
47 unsigned int numberOfCorrectHits = 0;
50 bool trackHasMinimalMatchPurity = (trackMCMatch != INVALID_ITRACK);
52 if (not trackHasMinimalMatchPurity) {
56 auto hitIsCorrect = [&hitLookUp, &trackMCMatch](
const CDCRecoHit3D & recoHit) {
57 return hitLookUp.getMCTrackId(recoHit.getWireHit().getHit()) == trackMCMatch;
59 numberOfCorrectHits = std::count_if(begin(*ptrCDCTrack), end(*ptrCDCTrack), hitIsCorrect);
61 const double purity = (double)numberOfCorrectHits / ptrCDCTrack->size();
69 bool trackIsClone = cloneLookUp.isTrackClone(*ptrCDCTrack);
70 bool matchedNotClone = (not trackIsClone) and (not trackIsFake);
71 var<
named(
"truth")>() = matchedNotClone;
72 var<
named(
"truth_track_is_fake")>() = trackIsFake;
73 var<
named(
"truth_track_is_matched")>() = not trackIsFake;
74 var<
named(
"truth_matched_hits")>() = numberOfCorrectHits;
75 var<
named(
"truth_track_is_clone")>() = trackIsClone;
76 var<
named(
"truth_first_nloops")>() = mcTrackLookUp.getFirstNLoops(ptrCDCTrack);
78 var<
named(
"truth_MCTrackID")>() = trackMCMatch;
◆ extract() [2/2]
virtual bool extract |
( |
const Object *obj |
__attribute__(unused) | ) |
|
|
inlinevirtualinherited |
Main method that extracts the variable values from the complex object.
- Returns
- Indication whether the extraction could be completed successfully. Base implementation returns always true.
Definition at line 58 of file BaseVarSet.h.
◆ find()
MayBePtr<Float_t> find |
( |
const std::string & |
varName | ) |
|
|
inlineoverridevirtualinherited |
◆ getNamedValues()
std::map<std::string, Float_t> getNamedValues |
( |
const std::string & |
prefix | ) |
const |
|
inlineinherited |
Getter for a map of names to float values.
- Parameters
-
prefix | Name prefix to apply to all variable names. |
Definition at line 90 of file BaseVarSet.h.
◆ getNamedVariables()
virtual std::vector<Named<Float_t*> > getNamedVariables |
( |
const std::string &prefix |
__attribute__(unused) | ) |
|
|
inlinevirtualinherited |
Getter for the named references to the individual variables Base implementaton returns empty vector.
- Parameters
-
prefix | Name prefix to apply to all variable names. |
Definition at line 74 of file BaseVarSet.h.
◆ named()
constexpr static int named |
( |
const char * |
name | ) |
|
|
inlinestaticconstexprprotectedinherited |
Getter for the index from the name.
Looks through the associated names and returns the right index if found Returns nVars (one after the last element) if not found.
- Parameters
-
name | Name of the sought variable |
- Returns
- Index of the name, nVars if not found.
Definition at line 88 of file VarSet.h.
The documentation for this class was generated from the following files: