Belle II Software  release-08-01-10
TrackFinderMCTruthRecoTracksModule Class Reference

This module uses the simulated truth information (MCParticles and their relations) to determine which hits belong to which particles and writes track candidates filled with necessary information into the DataStore. More...

#include <TrackFinderMCTruthRecoTracksModule.h>

Inheritance diagram for TrackFinderMCTruthRecoTracksModule:
Collaboration diagram for TrackFinderMCTruthRecoTracksModule:

Public Types

enum  EModulePropFlags {
  c_Input = 1 ,
  c_Output = 2 ,
  c_ParallelProcessingCertified = 4 ,
  c_HistogramManager = 8 ,
  c_InternalSerializer = 16 ,
  c_TerminateInAllProcesses = 32 ,
  c_DontCollectStatistics = 64
}
 Each module can be tagged with property flags, which indicate certain features of the module. More...
 
typedef ModuleCondition::EAfterConditionPath EAfterConditionPath
 Forward the EAfterConditionPath definition from the ModuleCondition.
 

Public Member Functions

 TrackFinderMCTruthRecoTracksModule ()
 Constructor of the module. More...
 
void initialize () override
 Initialize the Module. More...
 
void beginRun () override
 Called when entering a new run.
 
void event () override
 This method is the core of the module. More...
 
void endRun () override
 This method is called if the current run ends.
 
virtual std::vector< std::string > getFileNames (bool outputFiles)
 Return a list of output filenames for this modules. More...
 
virtual void terminate ()
 This method is called at the end of the event processing. More...
 
const std::string & getName () const
 Returns the name of the module. More...
 
const std::string & getType () const
 Returns the type of the module (i.e. More...
 
const std::string & getPackage () const
 Returns the package this module is in.
 
const std::string & getDescription () const
 Returns the description of the module.
 
void setName (const std::string &name)
 Set the name of the module. More...
 
void setPropertyFlags (unsigned int propertyFlags)
 Sets the flags for the module properties. More...
 
LogConfiggetLogConfig ()
 Returns the log system configuration.
 
void setLogConfig (const LogConfig &logConfig)
 Set the log system configuration.
 
void setLogLevel (int logLevel)
 Configure the log level.
 
void setDebugLevel (int debugLevel)
 Configure the debug messaging level.
 
void setAbortLevel (int abortLevel)
 Configure the abort log level.
 
void setLogInfo (int logLevel, unsigned int logInfo)
 Configure the printed log information for the given level. More...
 
void if_value (const std::string &expression, const std::shared_ptr< Path > &path, EAfterConditionPath afterConditionPath=EAfterConditionPath::c_End)
 Add a condition to the module. More...
 
void if_false (const std::shared_ptr< Path > &path, EAfterConditionPath afterConditionPath=EAfterConditionPath::c_End)
 A simplified version to add a condition to the module. More...
 
void if_true (const std::shared_ptr< Path > &path, EAfterConditionPath afterConditionPath=EAfterConditionPath::c_End)
 A simplified version to set the condition of the module. More...
 
bool hasCondition () const
 Returns true if at least one condition was set for the module.
 
const ModuleConditiongetCondition () const
 Return a pointer to the first condition (or nullptr, if none was set)
 
const std::vector< ModuleCondition > & getAllConditions () const
 Return all set conditions for this module.
 
bool evalCondition () const
 If at least one condition was set, it is evaluated and true returned if at least one condition returns true. More...
 
std::shared_ptr< PathgetConditionPath () const
 Returns the path of the last true condition (if there is at least one, else reaturn a null pointer). More...
 
Module::EAfterConditionPath getAfterConditionPath () const
 What to do after the conditional path is finished. More...
 
std::vector< std::shared_ptr< Path > > getAllConditionPaths () const
 Return all condition paths currently set (no matter if the condition is true or not).
 
bool hasProperties (unsigned int propertyFlags) const
 Returns true if all specified property flags are available in this module. More...
 
bool hasUnsetForcedParams () const
 Returns true and prints error message if the module has unset parameters which the user has to set in the steering file.
 
const ModuleParamListgetParamList () const
 Return module param list.
 
template<typename T >
ModuleParam< T > & getParam (const std::string &name) const
 Returns a reference to a parameter. More...
 
bool hasReturnValue () const
 Return true if this module has a valid return value set.
 
int getReturnValue () const
 Return the return value set by this module. More...
 
std::shared_ptr< PathElementclone () const override
 Create an independent copy of this module. More...
 
std::shared_ptr< boost::python::list > getParamInfoListPython () const
 Returns a python list of all parameters. More...
 

Static Public Member Functions

static void exposePythonAPI ()
 Exposes methods of the Module class to Python.
 

Protected Member Functions

virtual void def_initialize ()
 Wrappers to make the methods without "def_" prefix callable from Python. More...
 
virtual void def_beginRun ()
 Wrapper method for the virtual function beginRun() that has the implementation to be used in a call from Python.
 
virtual void def_event ()
 Wrapper method for the virtual function event() that has the implementation to be used in a call from Python.
 
virtual void def_endRun ()
 This method can receive that the current run ends as a call from the Python side. More...
 
virtual void def_terminate ()
 Wrapper method for the virtual function terminate() that has the implementation to be used in a call from Python.
 
void setDescription (const std::string &description)
 Sets the description of the module. More...
 
void setType (const std::string &type)
 Set the module type. More...
 
template<typename T >
void addParam (const std::string &name, T &paramVariable, const std::string &description, const T &defaultValue)
 Adds a new parameter to the module. More...
 
template<typename T >
void addParam (const std::string &name, T &paramVariable, const std::string &description)
 Adds a new enforced parameter to the module. More...
 
void setReturnValue (int value)
 Sets the return value for this module as integer. More...
 
void setReturnValue (bool value)
 Sets the return value for this module as bool. More...
 
void setParamList (const ModuleParamList &params)
 Replace existing parameter list.
 

Private Member Functions

template<class THit , class TSimHit >
bool isWithinNLoops (double Bz, const THit *aHit, double nLoops)
 helper function which returns true if the current hit is within n loops the template give the hit type and the according sim hit type (e.g. More...
 
std::list< ModulePtrgetModules () const override
 no submodules, return empty list
 
std::string getPathString () const override
 return the module name.
 
void setParamPython (const std::string &name, const boost::python::object &pyObj)
 Implements a method for setting boost::python objects. More...
 
void setParamPythonDict (const boost::python::dict &dictionary)
 Implements a method for reading the parameter values from a boost::python dictionary. More...
 

Private Attributes

bool m_usePXDHits
 Boolean to select if PXDHits should be used.
 
bool m_useSVDHits
 Boolean to select if SVDHits should be used.
 
bool m_useCDCHits
 Boolean to select if CDCHits should be used.
 
bool m_useOnlyAxialCDCHits
 Boolean to select if only axial CDCHits should be used.
 
bool m_useOnlyBeforeTOP
 Boolean to select if CDC hits after TOP detector are discarded.
 
float m_useNLoops
 Number of loops to include in the MC tracks - effects only CDC.
 
bool m_useReassignedHits
 Boolean to select the inclusion of hits form discarded secondary daughters.
 
bool m_useSecondCDCHits
 Also includes the CDC 2nd hit information in the mc tracks.
 
bool m_enforceTrueHit
 If set true only cluster hits that have a relation to a TrueHit will be included in the track candidate.
 
std::vector< std::string > m_whichParticles
 List of keywords to mark what properties particles must have to get a track candidate .
 
int m_particleProperties
 Internal encoding of m_whichParticles to avoid string comparisons. More...
 
double m_energyCut
 Create track candidates only for MCParticles with energy above this cut.
 
bool m_neutrals
 Boolean to mark if track candidates should also be created for neutral particles.
 
bool m_mergeDecayInFlight
 Boolean to merge decay in flight chains that involve a single charged particle.
 
bool m_setTimeSeed
 Boolean to forward the production time as seed time.
 
double m_smearing
 Smearing of MCMomentum and MCVertex in %. More...
 
std::vector< double > m_smearingCov
 Covariance matrix used to smear the true pos and mom before passed to track candidate. More...
 
TMatrixDSym m_initialCov
 The std::vector m_smearingCov will be translated into this TMatrixD.
 
int m_notEnoughtHitsCounter
 will hold number of tracks that do not have enough hits to form a track candidate (total NDF less than 5) More...
 
int m_noTrueHitCounter
 will hold number of cluster hits that do not have a corresponding true hit More...
 
int m_nRecoTracks = 0
 will hold the total number of created track candidates
 
std::string m_recoTracksStoreArrayName
 RecoTracks StoreArray name.
 
int m_minPXDHits
 Minimum number of PXD hits per track to allow track candidate creation.
 
int m_minSVDHits
 Minimum number of SVD hits per track to allow track candidate creation.
 
int m_minCDCAxialHits
 Minimum number of CDC hits from axial wires per track to allow track candidate creation.
 
int m_minCDCStereoHits
 Minimum number of CDC hits from stereo wires per track to allow track candidate creation.
 
bool m_allowFirstCDCSuperLayerOnly
 Boolean to allow tracks to pass the stereo hit requirement if they touched only the first (axial) CDC layer.
 
int m_minimalNdf
 Minimum number of total hits per track to allow track candidate creation. More...
 
std::vector< int > m_fromPdgCodes
 if size() is not 0, only for particles having an ancestor (parent or parent of parent etc) with PDG codes same as in this vector a track candidate be created
 
std::vector< int > m_particlePdgCodes
 if size() is not 0, only for particles with PDG codes same as in this vector a track candidate will be created
 
bool m_onlyCheckDirectParentPdgCode = false
 To be used together with WhichParticles to select the ancestor and daughters. More...
 
bool m_mcParticlesPresent
 This flag is set to false if there are no MC Particles in the data store (probably data run?) and we can not create MC Reco tracks. More...
 
double m_splitAfterDeltaT
 Minimal time delay between two sim hits (in ns) after which MC reco track will be split into seperate tracks. More...
 
bool m_discardAuxiliaryHits = false
 if true hits marked as auxiliary will not be included in the RecoTrack
 
std::vector< uint > m_param_useCDCSuperLayers
 List of super layers to be used.
 
std::vector< uint > m_param_useCDCLayers
 List of layers to be used.
 
std::vector< uint > m_param_ignoreCDCLayers
 List of layers to be ignored in tracking.
 
std::array< bool, 9 > m_useCDCSuperLayers {}
 Bits for the used super layers ATTENTION: hardcoded value for number of super layers.
 
std::array< bool, 56 > m_useCDCLayers {}
 Bits for the used layers ATTENTION: hardcoded value for number of layers.
 
StoreArray< MCParticlem_MCParticles
 MCParticles StoreArray.
 
StoreArray< RecoTrackm_RecoTracks
 RecoTracks StoreArray.
 
StoreArray< PXDTrueHitm_PXDTrueHits
 PXDTrueHits StoreArray.
 
StoreArray< PXDClusterm_PXDClusters
 PXDClusters StoreArray.
 
StoreArray< SVDTrueHitm_SVDTrueHits
 SVDTrueHits StoreArray.
 
StoreArray< SVDClusterm_SVDClusters
 SVDTrueHits StoreArray.
 
StoreArray< CDCHitm_CDCHits
 CDCHits StoreArray.
 
StoreArray< CDCSimHitm_CDCSimHits
 CDCSimHits StoreArray.
 
std::string m_name
 The name of the module, saved as a string (user-modifiable)
 
std::string m_type
 The type of the module, saved as a string.
 
std::string m_package
 Package this module is found in (may be empty).
 
std::string m_description
 The description of the module.
 
unsigned int m_propertyFlags
 The properties of the module as bitwise or (with |) of EModulePropFlags.
 
LogConfig m_logConfig
 The log system configuration of the module.
 
ModuleParamList m_moduleParamList
 List storing and managing all parameter of the module.
 
bool m_hasReturnValue
 True, if the return value is set.
 
int m_returnValue
 The return value.
 
std::vector< ModuleConditionm_conditions
 Module condition, only non-null if set.
 

Detailed Description

This module uses the simulated truth information (MCParticles and their relations) to determine which hits belong to which particles and writes track candidates filled with necessary information into the DataStore.

The Relations MCParticles -> Hits for PXD, SVD and CDC are used. At the moment CDCHits, PXDTrueHits, SVDTrueHits, PXDCluster hits and SVDCluster hits can be used By default only track candidates for primary particles (= particles from the generator) are created but this can be changed with the WhichParticles option. For every hit the true time information is extracted from the trueHits or simHit hits. This Information is used to sort the hits in the correct order for the fitting of curling tracks. The created genfit::TrackCandidates can be fitted with GenFitterModule.

Definition at line 46 of file TrackFinderMCTruthRecoTracksModule.h.

Member Enumeration Documentation

◆ EModulePropFlags

enum EModulePropFlags
inherited

Each module can be tagged with property flags, which indicate certain features of the module.

Enumerator
c_Input 

This module is an input module (reads data).

c_Output 

This module is an output module (writes data).

c_ParallelProcessingCertified 

This module can be run in parallel processing mode safely (All I/O must be done through the data store, in particular, the module must not write any files.)

c_HistogramManager 

This module is used to manage histograms accumulated by other modules.

c_InternalSerializer 

This module is an internal serializer/deserializer for parallel processing.

c_TerminateInAllProcesses 

When using parallel processing, call this module's terminate() function in all processes().

This will also ensure that there is exactly one process (single-core if no parallel modules found) or at least one input, one main and one output process.

c_DontCollectStatistics 

No statistics is collected for this module.

Definition at line 77 of file Module.h.

Constructor & Destructor Documentation

◆ TrackFinderMCTruthRecoTracksModule()

Constructor of the module.

Sets the description of the module.

Definition at line 42 of file TrackFinderMCTruthRecoTracksModule.cc.

42  : Module()
43 {
44  //Set module properties
45  setDescription("Uses the MC information to create genfit::TrackCandidates for primary MCParticles and Relations between them. "
46  "Fills the created genfit::TrackCandidates with all information (start values, hit indices) needed for the fitting.");
48 
49  // choose which hits to use, all hits assigned to the track candidate will be used in the fit
50  addParam("UsePXDHits",
52  "Set true if PXDHits or PXDClusters should be used",
53  true);
54  addParam("UseSVDHits",
56  "Set true if SVDHits or SVDClusters should be used",
57  true);
58  addParam("UseCDCHits",
60  "Set true if CDCHits should be used",
61  true);
62  addParam("UseOnlyAxialCDCHits",
64  "Set true if only the axial CDCHits should be used",
65  false);
66  addParam("UseNLoops",
68  "Set the number of loops whose hits will be marked as priortiy hits. All other hits "
69  "will be marked as auxiliary and therfore not considered for efficiency computations "
70  "By default, all hits will be priority hits.",
71  INFINITY);
72  addParam("UseOnlyBeforeTOP",
74  "Mark hits as auxiliary after the track left the CDC and touched the TOP detector "
75  "(only implemented for CDCHits).",
76  false);
77  addParam("UseReassignedHits",
79  "Include hits reassigned from discarded seconardy daughters in the tracks.",
80  false);
81  addParam("UseSecondCDCHits",
83  "Also includes the CDC 2nd hit information in the MC tracks.",
84  false);
85  addParam("MinPXDHits",
87  "Minimum number of PXD hits needed to allow the created of a track candidate",
88  0);
89  addParam("MinSVDHits",
91  "Minimum number of SVD hits needed to allow the created of a track candidate",
92  0);
93  addParam("MinCDCAxialHits",
95  "Minimum number of CDC hits form an axial wire needed to allow the created of a track candidate",
96  0);
97  addParam("MinCDCStereoHits",
99  "Minimum number of CDC hits form a stereo wire needed to allow the created of a track candidate",
100  0);
101  addParam("AllowFirstCDCSuperLayerOnly",
103  "Allow tracks to pass the stereo hit requirement if they touched only the first (axial) CDC layer",
104  false);
105 
106  addParam("MinimalNDF",
107  m_minimalNdf,
108  "Minimum number of total hits needed to allow the creation of a track candidate. "
109  "It is called NDF (number of degrees of freedom) because it counts the dimensionality. "
110  "2D hits are counted as 2",
111  5);
112 
113  //choose for which particles a track candidate should be created
114  //this is just an attempt to find out what is the most suitable way to select particles, if you have other/better ideas, communicate it to the tracking group...
115  addParam("WhichParticles",
117  "List of keywords to mark what properties particles must have to get a track candidate. "
118  "If several properties are given all of them must be true: "
119  "\"primary\" particle must come from the generator, "
120  "\"PXD\", \"SVD\", \"CDC\", \"TOP\", \"ARICH\", \"ECL\" or \"KLM\" particle must have hits in the subdetector with that name. "
121  "\"is:X\" where X is a PDG code: particle must have this code. "
122  "\"from:X\" any of the particles's ancestors must have this (X) code",
123  std::vector<std::string>(1, "primary"));
124  addParam("onlyCheckDirectParentPdgCode",
126  "To be used together with WhichParticles to select the ancestor and daughters. "
127  "If true, only check the direct parent to be contained in the list of possible ancestors. "
128  "If false, check all ancestors in in the list of possible ancestors. "
129  "This could be used to e.g. only create MCRecoTracks for slow pions from D* decays instead of creating an MCRecoTrack "
130  "for every pion as long as the D* is one of its ancestors.",
132 
133  addParam("EnergyCut",
134  m_energyCut,
135  "Track candidates are only created for MCParticles with energy larger than this cut ",
136  double(0.0));
137 
138  addParam("Neutrals",
139  m_neutrals,
140  "Set true if track candidates should be created also for neutral particles",
141  bool(false));
142 
143  addParam("MergeDecayInFlight",
145  "Merge decay in flights that produce a single charged particle to the parent particle",
146  bool(false));
147 
148  addParam("SetTimeSeed",
150  "Set true to forward the production time as time seed of the particles to the RecoTrack",
151  true);
152 
153  //smearing of MCMomentum
154  addParam("Smearing",
155  m_smearing,
156  "Smearing of MCMomentum/MCVertex prior to storing it in genfit::TrackCandidate (in %). "
157  "A negative value will switch off smearing. This is also the default.",
158  -1.0);
159 
160  addParam("SmearingCov",
162  "Covariance matrix used to smear the true pos and mom before passed to track candidate. "
163  "This matrix will also passed to Genfit as the initial covarance matrix. "
164  "If any diagonal value is negative this feature will not be used. "
165  "OFF DIAGONAL ELEMENTS DO NOT HAVE AN EFFECT AT THE MOMENT",
166  std::vector<double>(36, -1.0));
167 
168  addParam("SplitAfterDeltaT",
170  "Minimal time delay between two sim hits (in ns) after which MC reco track will be "
171  "split into seperate tracks. If < 0, don't do splitting."
172  "This feature was designed to be used in MC cosmics reconstruction to get two MCRecoTracks"
173  "when track pass through empty SVD region, so that number of MCRecoTracks can be compared with"
174  "number of non merged reco tracks. ",
175  -1.0);
176 
177  // names of output containers
178  addParam("RecoTracksStoreArrayName",
180  "Name of store array holding the RecoTracks (output)",
181  std::string(""));
182 
183  addParam("TrueHitMustExist",
185  "If set true only cluster hits that have a relation to a TrueHit will be included in the track candidate",
186  false);
187 
188  addParam("discardAuxiliaryHits",
190  "If set true hits marked as auxiliary (e.g. hits in higher loops) will not be included in the track candidate.",
192 
193  addParam("useCDCSuperLayers",
195  "List of CDC super layers to be used.",
197 
198  addParam("useCDCLayers",
200  "List of layers to be used. "
201  "If a layer number is given in 'ignoreLayers', too, this will result on a B2FATAL. "
202  "Either use 'useLayers' and provide a set of layers to be used, "
203  "or use 'ignoreLayers' and provide a list of layers to be ignored, but not both at the same time.",
205 
206  addParam("ignoreCDCLayers",
208  "List of layers to be ignored. "
209  "If a layer number is given in 'useLayers', too, this will result on a B2FATAL. "
210  "Either use 'useLayers' and provide a set of layers to be used, "
211  "or use 'ignoreLayers' and provide a list of layers to be ignored, but not both at the same time.",
213 
214 
215 
216 }
void setDescription(const std::string &description)
Sets the description of the module.
Definition: Module.cc:214
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
Definition: Module.cc:208
Module()
Constructor.
Definition: Module.cc:30
@ c_ParallelProcessingCertified
This module can be run in parallel processing mode safely (All I/O must be done through the data stor...
Definition: Module.h:80
bool m_useCDCHits
Boolean to select if CDCHits should be used.
bool m_enforceTrueHit
If set true only cluster hits that have a relation to a TrueHit will be included in the track candida...
double m_energyCut
Create track candidates only for MCParticles with energy above this cut.
std::vector< std::string > m_whichParticles
List of keywords to mark what properties particles must have to get a track candidate .
bool m_discardAuxiliaryHits
if true hits marked as auxiliary will not be included in the RecoTrack
int m_minimalNdf
Minimum number of total hits per track to allow track candidate creation.
bool m_useReassignedHits
Boolean to select the inclusion of hits form discarded secondary daughters.
std::vector< double > m_smearingCov
Covariance matrix used to smear the true pos and mom before passed to track candidate.
bool m_allowFirstCDCSuperLayerOnly
Boolean to allow tracks to pass the stereo hit requirement if they touched only the first (axial) CDC...
bool m_onlyCheckDirectParentPdgCode
To be used together with WhichParticles to select the ancestor and daughters.
bool m_mergeDecayInFlight
Boolean to merge decay in flight chains that involve a single charged particle.
bool m_setTimeSeed
Boolean to forward the production time as seed time.
float m_useNLoops
Number of loops to include in the MC tracks - effects only CDC.
double m_splitAfterDeltaT
Minimal time delay between two sim hits (in ns) after which MC reco track will be split into seperate...
bool m_useSecondCDCHits
Also includes the CDC 2nd hit information in the mc tracks.
int m_minCDCStereoHits
Minimum number of CDC hits from stereo wires per track to allow track candidate creation.
bool m_usePXDHits
Boolean to select if PXDHits should be used.
std::vector< uint > m_param_useCDCLayers
List of layers to be used.
bool m_useOnlyBeforeTOP
Boolean to select if CDC hits after TOP detector are discarded.
std::vector< uint > m_param_ignoreCDCLayers
List of layers to be ignored in tracking.
std::vector< uint > m_param_useCDCSuperLayers
List of super layers to be used.
int m_minCDCAxialHits
Minimum number of CDC hits from axial wires per track to allow track candidate creation.
int m_minSVDHits
Minimum number of SVD hits per track to allow track candidate creation.
bool m_useOnlyAxialCDCHits
Boolean to select if only axial CDCHits should be used.
double m_smearing
Smearing of MCMomentum and MCVertex in %.
std::string m_recoTracksStoreArrayName
RecoTracks StoreArray name.
int m_minPXDHits
Minimum number of PXD hits per track to allow track candidate creation.
bool m_neutrals
Boolean to mark if track candidates should also be created for neutral particles.
bool m_useSVDHits
Boolean to select if SVDHits should be used.
void addParam(const std::string &name, T &paramVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.
Definition: Module.h:560

Member Function Documentation

◆ clone()

std::shared_ptr< PathElement > clone ( ) const
overridevirtualinherited

Create an independent copy of this module.

Note that parameters are shared, so changing them on a cloned module will also affect the original module.

Implements PathElement.

Definition at line 179 of file Module.cc.

◆ def_endRun()

virtual void def_endRun ( )
inlineprotectedvirtualinherited

This method can receive that the current run ends as a call from the Python side.

For regular C++-Modules that forwards the call to the regular endRun() method.

Reimplemented in PyModule.

Definition at line 439 of file Module.h.

◆ def_initialize()

virtual void def_initialize ( )
inlineprotectedvirtualinherited

Wrappers to make the methods without "def_" prefix callable from Python.

Overridden in PyModule. Wrapper method for the virtual function initialize() that has the implementation to be used in a call from Python.

Reimplemented in PyModule.

Definition at line 420 of file Module.h.

◆ evalCondition()

bool evalCondition ( ) const
inherited

If at least one condition was set, it is evaluated and true returned if at least one condition returns true.

If no condition or result value was defined, the method returns false. Otherwise, the condition is evaluated and true returned, if at least one condition returns true. To speed up the evaluation, the condition strings were already parsed in the method if_value().

Returns
True if at least one condition and return value exists and at least one condition expression was evaluated to true.

Definition at line 96 of file Module.cc.

◆ event()

void event ( void  )
overridevirtual

This method is the core of the module.

This method is called for each event. All processing of the event has to take place in this method.

Reimplemented from Module.

Definition at line 329 of file TrackFinderMCTruthRecoTracksModule.cc.

◆ getAfterConditionPath()

Module::EAfterConditionPath getAfterConditionPath ( ) const
inherited

What to do after the conditional path is finished.

(defaults to c_End if no condition is set)

Definition at line 133 of file Module.cc.

◆ getConditionPath()

std::shared_ptr< Path > getConditionPath ( ) const
inherited

Returns the path of the last true condition (if there is at least one, else reaturn a null pointer).


Definition at line 113 of file Module.cc.

◆ getFileNames()

virtual std::vector<std::string> getFileNames ( bool  outputFiles)
inlinevirtualinherited

Return a list of output filenames for this modules.

This will be called when basf2 is run with "--dry-run" if the module has set either the c_Input or c_Output properties.

If the parameter outputFiles is false (for modules with c_Input) the list of input filenames should be returned (if any). If outputFiles is true (for modules with c_Output) the list of output files should be returned (if any).

If a module has sat both properties this member is called twice, once for each property.

The module should return the actual list of requested input or produced output filenames (including handling of input/output overrides) so that the grid system can handle input/output files correctly.

This function should return the same value when called multiple times. This is especially important when taking the input/output overrides from Environment as they get consumed when obtained so the finalized list of output files should be stored for subsequent calls.

Reimplemented in RootOutputModule, StorageRootOutputModule, and RootInputModule.

Definition at line 134 of file Module.h.

◆ getName()

const std::string& getName ( ) const
inlineinherited

Returns the name of the module.

This can be changed via e.g. set_name() in the steering file to give more useful names if there is more than one module of the same type.

For identifying the type of a module, using getType() (or type() in Python) is recommended.

Definition at line 187 of file Module.h.

◆ getParamInfoListPython()

std::shared_ptr< boost::python::list > getParamInfoListPython ( ) const
inherited

Returns a python list of all parameters.

Each item in the list consists of the name of the parameter, a string describing its type, a python list of all default values and the description of the parameter.

Returns
A python list containing the parameters of this parameter list.

Definition at line 279 of file Module.cc.

◆ getReturnValue()

int getReturnValue ( ) const
inlineinherited

Return the return value set by this module.

This value is only meaningful if hasReturnValue() is true

Definition at line 381 of file Module.h.

◆ getType()

const std::string & getType ( ) const
inherited

Returns the type of the module (i.e.

class name minus 'Module')

Definition at line 41 of file Module.cc.

◆ hasProperties()

bool hasProperties ( unsigned int  propertyFlags) const
inherited

Returns true if all specified property flags are available in this module.

Parameters
propertyFlagsOred EModulePropFlags which should be compared with the module flags.

Definition at line 160 of file Module.cc.

◆ if_false()

void if_false ( const std::shared_ptr< Path > &  path,
EAfterConditionPath  afterConditionPath = EAfterConditionPath::c_End 
)
inherited

A simplified version to add a condition to the module.

Please note that successive calls of this function will add more than one condition to the module. If more than one condition results in true, only the last of them will be used.

Please be careful: Avoid creating cyclic paths, e.g. by linking a condition to a path which is processed before the path where this module is located in.

It is equivalent to the if_value() method, using the expression "<1". This method is meant to be used together with the setReturnValue(bool value) method.

Parameters
pathShared pointer to the Path which will be executed if the return value is false.
afterConditionPathWhat to do after executing 'path'.

Definition at line 85 of file Module.cc.

◆ if_true()

void if_true ( const std::shared_ptr< Path > &  path,
EAfterConditionPath  afterConditionPath = EAfterConditionPath::c_End 
)
inherited

A simplified version to set the condition of the module.

Please note that successive calls of this function will add more than one condition to the module. If more than one condition results in true, only the last of them will be used.

Please be careful: Avoid creating cyclic paths, e.g. by linking a condition to a path which is processed before the path where this module is located in.

It is equivalent to the if_value() method, using the expression ">=1". This method is meant to be used together with the setReturnValue(bool value) method.

Parameters
pathShared pointer to the Path which will be executed if the return value is true.
afterConditionPathWhat to do after executing 'path'.

Definition at line 90 of file Module.cc.

◆ if_value()

void if_value ( const std::string &  expression,
const std::shared_ptr< Path > &  path,
EAfterConditionPath  afterConditionPath = EAfterConditionPath::c_End 
)
inherited

Add a condition to the module.

Please note that successive calls of this function will add more than one condition to the module. If more than one condition results in true, only the last of them will be used.

See https://confluence.desy.de/display/BI/Software+ModCondTut or ModuleCondition for a description of the syntax.

Please be careful: Avoid creating cyclic paths, e.g. by linking a condition to a path which is processed before the path where this module is located in.

Parameters
expressionThe expression of the condition.
pathShared pointer to the Path which will be executed if the condition is evaluated to true.
afterConditionPathWhat to do after executing 'path'.

Definition at line 79 of file Module.cc.

◆ initialize()

void initialize ( void  )
overridevirtual

Initialize the Module.

This method is called only once before the actual event processing starts.

Reimplemented from Module.

Definition at line 218 of file TrackFinderMCTruthRecoTracksModule.cc.

◆ isWithinNLoops()

bool isWithinNLoops ( double  Bz,
const THit *  aHit,
double  nLoops 
)
private

helper function which returns true if the current hit is within n loops the template give the hit type and the according sim hit type (e.g.

CDCHit and CDCSimHit)

Parameters
Bzthe z-component of the B field
aHitpointer to the hit under investiation
nLoopsthe number of loops the hit should be in
Returns
: returns true if the hit is on the < nLoops th loop of the track

Definition at line 961 of file TrackFinderMCTruthRecoTracksModule.cc.

◆ setDescription()

void setDescription ( const std::string &  description)
protectedinherited

Sets the description of the module.

Parameters
descriptionA description of the module.

Definition at line 214 of file Module.cc.

◆ setLogInfo()

void setLogInfo ( int  logLevel,
unsigned int  logInfo 
)
inherited

Configure the printed log information for the given level.

Parameters
logLevelThe log level (one of LogConfig::ELogLevel)
logInfoWhat kind of info should be printed? ORed combination of LogConfig::ELogInfo flags.

Definition at line 73 of file Module.cc.

◆ setName()

void setName ( const std::string &  name)
inlineinherited

Set the name of the module.

Note
The module name is set when using the REG_MODULE macro, but the module can be renamed before calling process() using the set_name() function in your steering file.
Parameters
nameThe name of the module

Definition at line 214 of file Module.h.

◆ setParamPython()

void setParamPython ( const std::string &  name,
const boost::python::object &  pyObj 
)
privateinherited

Implements a method for setting boost::python objects.

The method supports the following types: list, dict, int, double, string, bool The conversion of the python object to the C++ type and the final storage of the parameter value is done in the ModuleParam class.

Parameters
nameThe unique name of the parameter.
pyObjThe object which should be converted and stored as the parameter value.

Definition at line 234 of file Module.cc.

◆ setParamPythonDict()

void setParamPythonDict ( const boost::python::dict &  dictionary)
privateinherited

Implements a method for reading the parameter values from a boost::python dictionary.

The key of the dictionary has to be the name of the parameter and the value has to be of one of the supported parameter types.

Parameters
dictionaryThe python dictionary from which the parameter values are read.

Definition at line 249 of file Module.cc.

◆ setPropertyFlags()

void setPropertyFlags ( unsigned int  propertyFlags)
inherited

Sets the flags for the module properties.

Parameters
propertyFlagsbitwise OR of EModulePropFlags

Definition at line 208 of file Module.cc.

◆ setReturnValue() [1/2]

void setReturnValue ( bool  value)
protectedinherited

Sets the return value for this module as bool.

The bool value is saved as an integer with the convention 1 meaning true and 0 meaning false. The value can be used in the steering file to divide the analysis chain into several paths.

Parameters
valueThe value of the return value.

Definition at line 227 of file Module.cc.

◆ setReturnValue() [2/2]

void setReturnValue ( int  value)
protectedinherited

Sets the return value for this module as integer.

The value can be used in the steering file to divide the analysis chain into several paths.

Parameters
valueThe value of the return value.

Definition at line 220 of file Module.cc.

◆ setType()

void setType ( const std::string &  type)
protectedinherited

Set the module type.

Only for use by internal modules (which don't use the normal REG_MODULE mechanism).

Definition at line 48 of file Module.cc.

◆ terminate()

virtual void terminate ( void  )
inlinevirtualinherited

This method is called at the end of the event processing.

This method is called only once after the event processing finished. Use this method for cleaning up, closing files, etc.

This method can be implemented by subclasses.

Reimplemented in ROIDQMModule, DQMHistOutputToEPICSModule, DQMHistInjectionModule, DQMHistAnalysisTRGModule, DQMHistAnalysisRunNrModule, DQMHistAnalysisRooFitExampleModule, DQMHistAnalysisPXDTrackChargeModule, DQMHistAnalysisPXDReductionModule, DQMHistAnalysisPXDEffModule, DQMHistAnalysisPXDCMModule, DQMHistAnalysisPXDChargeModule, DQMHistAnalysisDeltaTestModule, DQMHistAnalysisDeltaEpicsMonObjExampleModule, ROISenderModule, PXDROIFinderAnalysisModule, SVDDQMExpressRecoModule, SVDDQMClustersOnTrackModule, PXDUnpackerOTModule, PXDUnpackerOldModule, PXDUnpackerModule, PXDReadRawONSENModule, PXDReadRawBonnDAQMatchedModule, PXDReadRawBonnDAQModule, PXDPackerModule, PXDPackerErrModule, PXDDQMTrackRawNtupleModule, PXDDQMEfficiencyNtupleSelftrackModule, PXDDQMEfficiencyNtupleModule, PXDMCBgTupleProducerModule, PXDBgTupleProducerModule, PyModule, DQMHistSnapshotsModule, DQMHistDeltaHistoModule, DQMHistComparitorModule, DQMHistAnalysisTRGGDLModule, DQMHistAnalysisTRGECLModule, DQMHistAnalysisTOPModule, DQMHistAnalysisSVDOnMiraBelleModule, DQMHistAnalysisSVDGeneralModule, DQMHistAnalysisSVDEfficiencyModule, DQMHistAnalysisPXDFitsModule, DQMHistAnalysisOutputRelayMsgModule, DQMHistAnalysisOutputMonObjModule, DQMHistAnalysisOutputFileModule, DQMHistAnalysisMonObjModule, DQMHistAnalysisMiraBelleModule, DQMHistAnalysisKLMModule, DQMHistAnalysisInputTestModule, DQMHistAnalysisInputPVSrvModule, DQMHistAnalysisHLTMonObjModule, DQMHistAnalysisHLTModule, DQMHistAnalysisExampleFlagsModule, DQMHistAnalysisExampleModule, DQMHistAnalysisEventT0TriggerJitterModule, DQMHistAnalysisEventT0EfficiencyModule, DQMHistAnalysisEpicsExampleModule, DQMHistAnalysisECLSummaryModule, DQMHistAnalysisECLShapersModule, DQMHistAnalysisECLOutOfTimeDigitsModule, DQMHistAnalysisECLConnectedRegionsModule, DQMHistAnalysisECLModule, DQMHistAnalysisDAQMonObjModule, DQMHistAnalysisCDCMonObjModule, DQMHistAnalysisCDCDedxModule, DQMHistAnalysisARICHMonObjModule, DQMHistAnalysisARICHModule, VXDMisalignmentModule, TRGRAWDATAModule, TRGTOPWaveformPlotterModule, TRGTOPUnpackerWaveformModule, TRGTOPUnpackerModule, TRGTOPTRD2TTSConverterModule, TRGTOPDQMModule, KLMTriggerModule, TRGGRLUnpackerModule, GRLNeuroTrainerModule, GRLNeuroModule, TRGGRLDQMModule, TRGGRLProjectsModule, TRGGRLModule, TRGGRLMatchModule, TRGGDLUnpackerModule, TRGGDLSummaryModule, TRGGDLDSTModule, TRGGDLDQMModule, TRGGDLModule, TRGECLUnpackerModule, TRGECLTimingCalModule, TRGECLRawdataAnalysisModule, TRGECLQAMModule, TRGECLDQMModule, TRGECLBGTCHitModule, TRGECLModule, TRGECLFAMModule, MCMatcherTRGECLModule, CDCTriggerUnpackerModule, TRGCDCTSStreamModule, TRGCDCTSFUnpackerModule, TRGCDCTSFDQMModule, TRGCDCT3DUnpackerModule, TRGCDCT3DDQMModule, TRGCDCT3DConverterModule, TRGCDCT2DDQMModule, TRGCDCETFUnpackerModule, TRGCDCModule, CDCTriggerTSFModule, CDCTriggerTSFFirmwareModule, CDCTriggerNeuroIDHistModule, CDCTriggerNeuroDataModule, CDCTriggerNDFinderModule, CDCTrigger2DFinderModule, CDCTriggerHoughETFModule, CDCTriggerNeuroDQMOnlineModule, CDCTriggerNeuroDQMModule, FindletModule< AFindlet >, FindletModule< TrackFinderAutomaton >, FindletModule< FacetCreator >, FindletModule< CKFToCDCFromEclFindlet >, FindletModule< AxialTrackCreatorMCTruth >, FindletModule< AxialStraightTrackFinder >, FindletModule< CKFToCDCFindlet >, FindletModule< CKFToSVDSeedFindlet >, FindletModule< SegmentLinker >, FindletModule< TrackCreatorSegmentTripleAutomaton >, FindletModule< TrackCreatorSegmentPairAutomaton >, FindletModule< SegmentOrienter >, FindletModule< SegmentCreatorFacetAutomaton >, FindletModule< TrackFinderSegmentTripleAutomaton >, FindletModule< SegmentFinderFacetAutomaton >, FindletModule< CKFToSVDFindlet >, FindletModule< TrackRejecter >, FindletModule< SegmentCreatorMCTruth >, FindletModule< TrackFinderCosmics >, FindletModule< TrackExporter >, FindletModule< SuperClusterCreator >, FindletModule< AsicBackgroundLibraryCreator >, FindletModule< HitBasedT0Extractor >, FindletModule< TrackFinderSegmentPairAutomaton >, FindletModule< ClusterPreparer >, FindletModule< AxialTrackFinderHough >, FindletModule< CosmicsTrackMergerFindlet >, FindletModule< TrackOrienter >, FindletModule< TrackLinker >, FindletModule< TrackFinder >, FindletModule< SegmentPairCreator >, FindletModule< MonopoleAxialTrackFinderLegendre >, FindletModule< HitReclaimer >, FindletModule< ClusterRefiner< BridgingWireHitRelationFilter > >, FindletModule< AxialTrackFinderLegendre >, FindletModule< AxialTrackCreatorSegmentHough >, FindletModule< TrackQualityEstimator >, FindletModule< StereoHitFinder >, FindletModule< CKFToPXDFindlet >, FindletModule< WireHitPreparer >, FindletModule< TrackFlightTimeAdjuster >, FindletModule< TrackCreatorSingleSegments >, FindletModule< SegmentRejecter >, FindletModule< SegmentFitter >, FindletModule< SegmentTripleCreator >, FindletModule< SegmentTrackCombiner >, FindletModule< vxdHoughTracking::SVDHoughTracking >, FindletModule< MCVXDCDCTrackMergerFindlet >, FindletModule< TrackCombiner >, FindletModule< MonopoleStereoHitFinder >, FindletModule< DATCONFPGAFindlet >, FindletModule< WireHitBackgroundDetector >, FindletModule< AxialSegmentPairCreator >, FindletModule< WireHitCreator >, FindletModule< TrackQualityAsserter >, FindletModule< MonopoleStereoHitFinderQuadratic >, FindletModule< ClusterBackgroundDetector >, FindletModule< CDCTrackingEventLevelMdstInfoFillerFindlet >, VXDTFTrainingDataCollectorModule, SPTC2RTConverterModule, SegmentNetworkAnalyzerModule, NoKickCutsEvalModule, MLSegmentNetworkProducerModule, FastBDTClassifierTrainingModule, FastBDTClassifierAnalyzerModule, VXDQETrainingDataCollectorModule, TrackFinderVXDAnalizerModule, SecMapTrainerVXDTFModule, SecMapTrainerBaseModule, V0FinderModule, TrackQETrainingDataCollectorModule, V0findingPerformanceEvaluationModule, TrackingPerformanceEvaluationModule, HitXPModule, FillTrackFitNtupleModule, EffPlotsModule, StudyMaterialEffectsModule, CollectorTestModule, TrackFilterModule, SVDROIFinderModule, SVDROIFinderAnalysisModule, SVDROIFinderAnalysisDataModule, StandardTrackingPerformanceModule, TCConvertersTestModule, SPTCRefereeModule, SPTC2GFTCConverterModule, SpacePointCreatorTestModule, SpacePoint2TrueHitConnectorModule, RT2SPTCConverterModule, PhaseSpaceAnalysisModule, GFTC2SPTCConverterModule, CurlingTrackCandSplitterModule, ROIReadTestModule, MuidModule, MCTrackCandClassifierModule, MCV0MatcherModule, Chi2MCTrackMatcherModule, BeamSpotMonitorModule, GenfitVisModule, ExtModule, TOPXTalkChargeShareSetterModule, TOPWaveformFeatureExtractorModule, TOPUnpackerModule, TOPTimeBaseCalibratorModule, TOPTBCComparatorModule, TOPRingPlotterModule, TOPRawDigitConverterModule, TOPPDFCheckerModule, TOPPackerModule, TOPNtupleModule, TOPModuleT0CalibratorModule, TOPMCTrackMakerModule, TOPLLScannerModule, TOPLaserCalibratorModule, TOPInterimFENtupleModule, TOPLaserHitSelectorModule, TOPGainEfficiencyCalculatorModule, TOPDoublePulseGeneratorModule, TOPTriggerDigitizerModule, TOPCosmicT0FinderModule, TOPCommonT0CalibratorModule, TOPChannelT0MCModule, TOPChannelT0CalibratorModule, TOPBunchFinderModule, TOPBackgroundModule, TOPAlignerModule, SVDSpacePointQICalibrationModule, SVDSpacePointCreatorModule, SVDTriggerQualityGeneratorModule, SVDDigitizerModule, SVD3SamplesEmulatorModule, SVDDataFormatCheckModule, SVDCoGTimeEstimatorModule, SVDShaperDigitsFromTracksModule, SVDPerformanceTTreeModule, SVDMaxStripTTreeModule, SVDEventT0PerformanceTTreeModule, SVDClusterFilterModule, SVDClusterEvaluationTrueInfoModule, SVDPackerModule, svdDumpModule, SVDCrossTalkFinderModule, SVDClusterQualityEstimatorModule, SVDClusterQualityEstimatorCalibrationModule, SVDChargeSharingAnalysisModule, SVDHotStripFinderModule, SVDChannelMappingModule, SVDBackgroundModule, FullSimTimingModule, FullSimModule, VXDDedxPIDModule, PIDNtupleModule, MdstPIDModule, KlongValidationModule, KLMExpertModule, ECLExpertModule, DataWriterModule, HitLevelInfoWriterModule, CDCDedxValidationModule, CDCDedxSkimCDSTModule, CDCDedxSkimModule, CDCDedxScanModule, CDCDedxPIDModule, CDCDedxDQMModule, CDCDedxCorrectionModule, Root2BinaryModule, Convert2RawDetModule, CheckErrorEventModule, PXDSpacePointCreatorModule, PXDPerformanceModule, PXDClustersFromTracksModule, PXDBackgroundModule, AWESOMEBasicModule, MVAMultipleExpertsModule, MVAExpertModule, MasterClassModule, KLMUnpackerModule, KLMScintillatorSimulatorModule, KLMReconstructorModule, KLMPackerModule, KLMDQM2Module, KLMDQMModule, KLMDigitizerModule, KLMClustersReconstructorModule, KLMClusterEfficiencyModule, EKLMDataCheckerModule, BKLMTrackingModule, BKLMSimHistogrammerModule, BKLMDigitAnalyzerModule, BKLMAnaModule, SoftwareTriggerResultPrinterModule, SoftwareTriggerModule, GeometryModule, TrepsInputModule, TeeggInputModule, PhokharaInputModule, KoralWInputModule, KKGenInputModule, RemoveMCParticlesModule, OverrideGenerationFlagsModule, HepevtOutputModule, GeneratorPreselectionModule, GeneratedVertexDisplacerModule, HepMCOutputModule, HepMCInputModule, FragmentationModule, EvtGenDecayModule, CRYInputModule, BHWideInputModule, BBBremInputModule, BabayagaNLOInputModule, AafhInputModule, ZMQTxWorkerModule, ZMQTxInputModule, ZMQRxWorkerModule, ZMQRxOutputModule, TxModule, RxModule, AsyncWrapper, SeqRootOutputModule, SeqRootInputModule, RootOutputModule, RootInputModule, ProfileModule, HistoManagerModule, RandomBarrierModule, ProgressBarModule, SwitchDataStoreModule, SubEventModule, MergeDataStoreModule, HistoModule, ECLWaveformFitModule, eclWaveformCalibCollectorModule, ECLUnpackerModule, ECLTrimShowersAndDigitsModule, ECLTRGInformationModule, ECLTrackClusterMatchingPerformanceModule, ECLTrackClusterMatchingParametrizationExpertModule, ECLTrackClusterMatchingModule, ECLSplitterN2Module, ECLSplitterN1Module, ECLShowerShapeModule, ECLShowerCorrectorModule, ECLShowerCalibratorModule, ECLPackerModule, ECLMatchingPerformanceExpertModule, ECLLOMModule, ECLLocalMaximumFinderModule, ECLHitDebugModule, ECLFinalizerModule, ECLFillCellIdMappingModule, ECLDQMEXTENDEDModule, ECLDQMModule, EclDisplayModule, ECLDigitizerPureCsIModule, ECLDigitizerModule, ECLDigitCalibratorModule, ECLDigiStudyModule, ECLDataAnalysisModule, EclCovMatrixNtupleModule, ECLCRFinderModule, ECLCovarianceMatrixModule, ECLCompressBGOverlayModule, ECLClusterPSDModule, ECLChargedPIDDataAnalysisValidationModule, ECLChargedPIDDataAnalysisModule, ECLChargedPIDModule, ECLBackgroundModule, PhysicsObjectsMiraBelleModule, PhysicsObjectsMiraBelleHadronModule, PhysicsObjectsMiraBelleDstModule, PhysicsObjectsMiraBelleDst2Module, PhysicsObjectsMiraBelleBhabhaModule, PhysicsObjectsDQMModule, DQMHistAnalysisInputModule, DisplayModule, StorageSerializerModule, StorageRootOutputModule, StorageDeserializerModule, SeqRootMergerModule, PartialSeqRootReaderModule, Ds2RawFileModule, Rbuf2RbufModule, Rbuf2DsModule, RawInputModule, Raw2DsModule, FastRbuf2DsModule, EvReductionModule, Ds2RbufModule, Ds2RawModule, CertifyParallelModule, SerializerModule, Root2RawModule, MonitorDataCOPPERModule, GenRawSendModule, DeSerializerPXDModule, DeSerializerModule, ElapsedTimeModule, HLTDs2ZMQModule, HLTDQM2ZMQModule, ReceiveEventModule, Ds2SampleModule, TrackAnaModule, MonitorDataModule, DqmHistoManagerModule, TxSocketModule, RxSocketModule, DAQPerfModule, CDCUnpackerModule, CDCRecoTrackFilterModule, CDCPackerModule, CDCInitialT0DeterminationModule, ScanCDCGeoModule, CDCDQMModule, cdcDQM7Module, CDCDigitizerModule, CDCCRTestModule, CDCCrossTalkAdderModule, CDCCosmicAnalysisModule, QcsmonitorStudyModule, QcsmonitorDigitizerModule, PlumeDigitizerModule, PindiodeStudyModule, PinDigitizerModule, TPCStudyModule, TpcDigitizerModule, MicrotpcStudyModule, He3tubeStudyModule, He3DigitizerModule, FANGSStudyModule, FANGSDigitizerModule, DosiStudyModule, DosiDigitizerModule, CsIStudyModule, CsiStudy_v2Module, CsiModule, CsIDigitizerModule, CsiDigitizer_v2Module, ClawsStudyModule, ClawsDigitizerModule, ClawStudyModule, ClawDigitizerModule, BgoStudyModule, BgoDigitizerModule, BeamDigitizerModule, BeamabortStudyModule, ReprocessorModule, NtuplePhase1_v6Module, AnalysisPhase1StudyModule, BGOverlayInputModule, BeamBkgTagSetterModule, BeamBkgMixerModule, BeamBkgHitRateMonitorModule, BeamBkgGeneratorModule, BelleMCOutputModule, B2BIIMdstInputModule, B2BIIFixMdstModule, B2BIIConvertMdstModule, B2BIIMCParticlesMonitorModule, arichToNtupleModule, ARICHNtupleModule, arichBtestModule, VariablesToNtupleModule, VariablesToHistogramModule, VariablesToEventBasedTreeModule, TreeFitterModule, SkimFilterModule, RemoveParticlesNotInListsModule, ParticleWeightingLookUpCreatorModule, ParticleStatsModule, ParticleMomentumUpdaterModule, ParticleMCDecayStringModule, ParticleMassUpdaterModule, ParticleLoaderModule, ParticleKinematicFitterModule, LowEnergyPi0VetoExpertModule, LowEnergyPi0IdentificationExpertModule, FlavorTaggerInfoFillerModule, EventKinematicsModule, CurlTaggerModule, CosmicsAlignmentValidationModule, CalibrationCollectorModule, GetEventFromSocketModule, SrsensorModule, QcsmonitorModule, PlumeModule, PindiodeModule, Ph1sustrModule, Ph1bpipeModule, MicrotpcModule, He3tubeModule, FANGSModule, DosiModule, CLAWSModule, ClawModule, CaveModule, BgoModule, BeamabortModule, and ARICHBackgroundModule.

Definition at line 176 of file Module.h.

Member Data Documentation

◆ m_mcParticlesPresent

bool m_mcParticlesPresent
private
Initial value:
=
false

This flag is set to false if there are no MC Particles in the data store (probably data run?) and we can not create MC Reco tracks.

Definition at line 131 of file TrackFinderMCTruthRecoTracksModule.h.

◆ m_minimalNdf

int m_minimalNdf
private

Minimum number of total hits per track to allow track candidate creation.

2D hits are counted as 2

Definition at line 119 of file TrackFinderMCTruthRecoTracksModule.h.

◆ m_notEnoughtHitsCounter

int m_notEnoughtHitsCounter
private
Initial value:
=
0

will hold number of tracks that do not have enough hits to form a track candidate (total NDF less than 5)

Definition at line 108 of file TrackFinderMCTruthRecoTracksModule.h.

◆ m_noTrueHitCounter

int m_noTrueHitCounter
private
Initial value:
=
0

will hold number of cluster hits that do not have a corresponding true hit

Definition at line 110 of file TrackFinderMCTruthRecoTracksModule.h.

◆ m_onlyCheckDirectParentPdgCode

bool m_onlyCheckDirectParentPdgCode = false
private

To be used together with WhichParticles to select the ancestor and daughters.

If true, only check the direct parent to be contained in the list of possible ancestors. If false, check all ancestors in in the list of possible ancestors. This could be used to e.g. only create MCRecoTracks for slow pions from D* decays.

Definition at line 129 of file TrackFinderMCTruthRecoTracksModule.h.

◆ m_particleProperties

int m_particleProperties
private
Initial value:
=
0

Internal encoding of m_whichParticles to avoid string comparisons.

Definition at line 96 of file TrackFinderMCTruthRecoTracksModule.h.

◆ m_smearing

double m_smearing
private

Smearing of MCMomentum and MCVertex in %.

This adds a relative error to the initial values without changing the default large initial covariance matrix using for fitting

Definition at line 103 of file TrackFinderMCTruthRecoTracksModule.h.

◆ m_smearingCov

std::vector<double> m_smearingCov
private

Covariance matrix used to smear the true pos and mom before passed to track candidate.

This matrix will also passed to Genfit as the initial covarance matrix. If any diagonal value is negative this feature will not be used. OFF DIAGNOLA ELEMENTS DO NOT HAVE AN EFFECT AT THE MOMENT

Definition at line 105 of file TrackFinderMCTruthRecoTracksModule.h.

◆ m_splitAfterDeltaT

double m_splitAfterDeltaT
private

Minimal time delay between two sim hits (in ns) after which MC reco track will be split into seperate tracks.

If < 0, don't do splitting.

Definition at line 133 of file TrackFinderMCTruthRecoTracksModule.h.


The documentation for this class was generated from the following files: