Belle II Software development
ECLDataAnalysisModule Class Reference

The ECL Data Analysis Module. More...

#include <ECLDataAnalysisModule.h>

Inheritance diagram for ECLDataAnalysisModule:
Module PathElement

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

 ECLDataAnalysisModule ()
 Constructor of the module.
 
virtual ~ECLDataAnalysisModule () override
 Destructor of the module.
 
virtual void initialize () override
 Initializes the Module.
 
virtual void event () override
 event
 
virtual void terminate () override
 Termination action.
 
virtual std::vector< std::string > getFileNames (bool outputFiles)
 Return a list of output filenames for this modules.
 
virtual void beginRun ()
 Called when entering a new run.
 
virtual void endRun ()
 This method is called if the current run ends.
 
const std::string & getName () const
 Returns the name of the module.
 
const std::string & getType () const
 Returns the type of the module (i.e.
 
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.
 
void setPropertyFlags (unsigned int propertyFlags)
 Sets the flags for the module properties.
 
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.
 
void if_value (const std::string &expression, const std::shared_ptr< Path > &path, EAfterConditionPath afterConditionPath=EAfterConditionPath::c_End)
 Add a condition to the module.
 
void if_false (const std::shared_ptr< Path > &path, EAfterConditionPath afterConditionPath=EAfterConditionPath::c_End)
 A simplified version to add a condition to the module.
 
void if_true (const std::shared_ptr< Path > &path, EAfterConditionPath afterConditionPath=EAfterConditionPath::c_End)
 A simplified version to set the condition of the module.
 
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.
 
std::shared_ptr< PathgetConditionPath () const
 Returns the path of the last true condition (if there is at least one, else reaturn a null pointer).
 
Module::EAfterConditionPath getAfterConditionPath () const
 What to do after the conditional path is finished.
 
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.
 
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.
 
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.
 
std::shared_ptr< PathElementclone () const override
 Create an independent copy of this module.
 
std::shared_ptr< boost::python::list > getParamInfoListPython () const
 Returns a python list of all parameters.
 

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.
 
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.
 
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.
 
void setType (const std::string &type)
 Set the module type.
 
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.
 
template<typename T>
void addParam (const std::string &name, T &paramVariable, const std::string &description)
 Adds a new enforced parameter to the module.
 
void setReturnValue (int value)
 Sets the return value for this module as integer.
 
void setReturnValue (bool value)
 Sets the return value for this module as bool.
 
void setParamList (const ModuleParamList &params)
 Replace existing parameter list.
 

Private Member Functions

virtual const char * eclSimHitArrayName () const
 Default name ECLCalDigits array.
 
virtual const char * eclHitArrayName () const
 Default name ECLCalDigits array.
 
virtual const char * eclDigitArrayName () const
 Default name ECLDigits array.
 
virtual const char * eclCalDigitArrayName () const
 Default name ECLCalDigits array.
 
virtual const char * eclShowerArrayName () const
 Default name ECLShower array.
 
virtual const char * eclClusterArrayName () const
 Default name ECLClusters array.
 
virtual const char * eclConnectedRegionArrayName () const
 Default name ECLConnectedRegions array.
 
virtual const char * eclLocalMaximumArrayName () const
 Default name ECLLocalMaxima array.
 
virtual const char * eclPureDigitArrayName () const
 Default name ECLPureDigits array.
 
virtual const char * eclPureCalDigitArrayName () const
 Default name ECLPureCalDigits array.
 
virtual const char * eclPureShowerArrayName () const
 Default name ECLPureShower array.
 
virtual const char * eclPureClusterArrayName () const
 Default name ECLPureClusters array.
 
virtual const char * eclPureConnectedRegionArrayName () const
 Default name ECLPureConnectedRegions array.
 
virtual const char * eclPureLocalMaximumArrayName () const
 Default name ECLPureLocalMaxima array.
 
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.
 
void setParamPythonDict (const boost::python::dict &dictionary)
 Implements a method for reading the parameter values from a boost::python dictionary.
 

Private Attributes

TFile * m_rootFilePtr
 members of ECLReconstructor Module
 
std::string m_rootFileName
 name of the root file
 
bool m_writeToRoot
 if true, a rootFile named by m_rootFileName will be filled with info
 
bool m_doTracking
 if true, info on tracking will be stored, job will fail if doTracking==1 and the tracking modules are not enabled at python level
 
bool m_doPureCsI
 if true, info on pureCsI upgrade is stored
 
bool m_doHits
 if true, info on Hits and SimHits is stored
 
bool m_doDigits
 if true, info on Digits and CalDigits is stored
 
StoreArray< Trackm_tracks
 Tracks storeArray.
 
StoreArray< TrackFitResultm_trackFitResults
 TrackFitResult storeArray.
 
StoreArray< ECLPidLikelihoodm_eclPidLikelihoods
 ECLPidLikelihood storeArray.
 
StoreArray< ECLSimHitm_eclSimHits
 Store array: ECLSimHit.
 
StoreArray< ECLHitm_eclHits
 Store array: ECLHit.
 
StoreArray< ECLDigitm_eclDigits
 Store array: ECLDigit.
 
StoreArray< ECLCalDigitm_eclCalDigits
 Store array: ECLCalDigit.
 
StoreArray< ECLConnectedRegionm_eclConnectedRegions
 Store array: ECLConnectedRegion.
 
StoreArray< ECLShowerm_eclShowers
 Store array: ECLShower.
 
StoreArray< ECLClusterm_eclClusters
 Store array: ECLCluster.
 
StoreArray< ECLLocalMaximumm_eclLocalMaximums
 Store array: ECLLocalMaximum.
 
StoreObjPtr< EventLevelClusteringInfom_eventLevelClusteringInfo
 Store object pointer: EventLevelClusteringInfo.
 
StoreObjPtr< EventMetaDatam_eventmetadata
 Store object pointer: EventMetaData.
 
StoreArray< ECLDigitm_eclPureDigits
 Store array: ECLPureDigit.
 
StoreArray< ECLCalDigitm_eclPureCalDigits
 Store array: ECLPureCalDigit.
 
StoreArray< ECLConnectedRegionm_eclPureConnectedRegions
 Store array: ECLPureConnectedRegion.
 
StoreArray< ECLShowerm_eclPureShowers
 Store array: ECLPureShower.
 
StoreArray< ECLClusterm_eclPureClusters
 Store array: ECLPureCluster.
 
StoreArray< ECLLocalMaximumm_eclPureLocalMaximums
 Store array: ECLPureLocalMaximum.
 
StoreArray< MCParticlem_mcParticles
 MCParticles StoreArray.
 
TTree * m_tree
 Root tree and file for saving the output.
 
int m_iExperiment
 Experiment number.
 
int m_iRun
 Run number.
 
int m_iEvent
 Event number.
 
uint16_t m_nECLCalDigitsOutOfTimeFWD {0}
 Number of out of time, energetic ECLCalDigits, FWD.
 
uint16_t m_nECLCalDigitsOutOfTimeBarrel {0}
 Number of out of time, energetic ECLCalDigits, Barrel.
 
uint16_t m_nECLCalDigitsOutOfTimeBWD {0}
 Number of out of time, energetic ECLCalDigits, BWD.
 
uint8_t m_nECLShowersRejectedFWD {0}
 Number of photon showers that are rejected before storing to mdst (max.
 
uint8_t m_nECLShowersRejectedBarrel {0}
 Number of photon showers that are rejected before storing to mdst (max.
 
uint8_t m_nECLShowersRejectedBWD {0}
 Number of photon showers that are rejected before storing to mdst (max.
 
int m_eclDigitMultip
 Number of ECLDigits per event.
 
std::vector< int > * m_eclDigitIdx
 ECLDigit index.
 
std::vector< int > * m_eclDigitToMC
 Index of MCParticle related to that ECLDigit.
 
std::vector< int > * m_eclDigitCellId
 Number of ECLDigit CellId.
 
std::vector< int > * m_eclDigitAmp
 ECLDigit amplitude.
 
std::vector< int > * m_eclDigitTimeFit
 ECLDigit timing.
 
std::vector< int > * m_eclDigitFitQuality
 ECLDigit fit quality.
 
std::vector< int > * m_eclDigitToCalDigit
 Index of CalDigit related to that ECLDigit.
 
int m_eclCalDigitMultip
 Number of ECLCalDigits per event.
 
std::vector< int > * m_eclCalDigitIdx
 ECLCalDigit index.
 
std::vector< int > * m_eclCalDigitToMC1
 Index of first MCParticle related to ECLCalDigit.
 
std::vector< int > * m_eclCalDigitToMC1PDG
 PDG code of first MCParticle related to ECLCalDigit.
 
std::vector< double > * m_eclCalDigitToMCWeight1
 Energy contribution of first MCParticle related to ECLCalDigit.
 
std::vector< int > * m_eclCalDigitToMC2
 Index of second MCParticle related to ECLCalDigit.
 
std::vector< int > * m_eclCalDigitToMC2PDG
 PDG code of second MCParticle related to ECLCalDigit.
 
std::vector< double > * m_eclCalDigitToMCWeight2
 Energy contribution of second MCParticle related to ECLCalDigit.
 
std::vector< int > * m_eclCalDigitToMC3
 Index of third MCParticle related to ECLCalDigit.
 
std::vector< int > * m_eclCalDigitToMC3PDG
 PDG code of third MCParticle related to ECLCalDigit.
 
std::vector< double > * m_eclCalDigitToMCWeight3
 Energy contribution of third MCParticle related to ECLCalDigit.
 
std::vector< int > * m_eclCalDigitToMC4
 Index of fourth MCParticle related to ECLCalDigit.
 
std::vector< int > * m_eclCalDigitToMC4PDG
 PDG code of fourth MCParticle related to ECLCalDigit.
 
std::vector< double > * m_eclCalDigitToMCWeight4
 Energy contribution of fourth MCParticle related to ECLCalDigit.
 
std::vector< int > * m_eclCalDigitToMC5
 Index of fifth MCParticle related to ECLCalDigit.
 
std::vector< int > * m_eclCalDigitToMC5PDG
 PDG code of fifth MCParticle related to ECLCalDigit.
 
std::vector< double > * m_eclCalDigitToMCWeight5
 Energy contribution of fifth MCParticle related to ECLCalDigit.
 
std::vector< double > * m_eclCalDigitToBkgWeight
 Remaining energy contribution not associated to first five MCParticles related to ECLCalDigit.
 
std::vector< double > * m_eclCalDigitSimHitSum
 Full energy contribution related to ECLCalDigit.
 
std::vector< int > * m_eclCalDigitToShower
 Index of ECLShower related to that ECLCalDigit.
 
std::vector< int > * m_eclCalDigitCellId
 Number of ECLCalDigit CellId.
 
std::vector< double > * m_eclCalDigitAmp
 ECLCalDigit amplitude.
 
std::vector< double > * m_eclCalDigitTimeFit
 ECLCalDigit timing.
 
std::vector< int > * m_eclCalDigitFitQuality
 ECLCalDigit fit quality.
 
std::vector< int > * m_eclCalDigitToCR
 Index of CR related to that ECLCalDigit.
 
std::vector< int > * m_eclCalDigitToLM
 Index of LM related to that ECLCalDigit.
 
std::vector< int > * m_eclCRIdx
 Connected Region ID.
 
std::vector< int > * m_eclCRIsTrack
 Int for Connected Region - Track Match.
 
std::vector< double > * m_eclCRLikelihoodMIPNGamma
 Connected Region MIP Likelihood.
 
std::vector< double > * m_eclCRLikelihoodChargedHadron
 Connected Region Charged Hadron Likelihood.
 
std::vector< double > * m_eclCRLikelihoodElectronNGamma
 Connected Region Electron Likelihood.
 
std::vector< double > * m_eclCRLikelihoodNGamma
 Connected Region Gamma Likelihood.
 
std::vector< double > * m_eclCRLikelihoodNeutralHadron
 Connected Region Neutral Hadron Likelihood.
 
std::vector< double > * m_eclCRLikelihoodMergedPi0
 Connected Region Merged Pi0 Likelihood.
 
int m_eclLMMultip
 Local Maxima multiplicity.
 
std::vector< int > * m_eclLMId
 Local Maximum ID.
 
std::vector< int > * m_eclLMType
 Local Maximum type.
 
std::vector< int > * m_eclLMCellId
 Local Maximum Cell ID.
 
int m_eclSimHitMultip
 Number of ECLSimHits per event.
 
std::vector< int > * m_eclSimHitIdx
 Index of ECLSimHit.
 
std::vector< int > * m_eclSimHitToMC
 Index of MCParticle related to that ECLSimHit.
 
std::vector< int > * m_eclSimHitCellId
 ECLSimHit CellId.
 
std::vector< int > * m_eclSimHitPdg
 PDG code of MCParticle associated to that ECLDigit.
 
std::vector< double > * m_eclSimHitEnergyDep
 Energy deposition of ECLSimHit.
 
std::vector< double > * m_eclSimHitFlightTime
 ECLSimhit Flight Time.
 
std::vector< double > * m_eclSimHitX
 ECLSimHit X position.
 
std::vector< double > * m_eclSimHitY
 ECLSimHit Y position.
 
std::vector< double > * m_eclSimHitZ
 ECLSimHit Z position.
 
std::vector< double > * m_eclSimHitPx
 ECLSimHit PX.
 
std::vector< double > * m_eclSimHitPy
 ECLSimHit PY.
 
std::vector< double > * m_eclSimHitPz
 ECLSimHit PZ.
 
int m_eclHitMultip
 Number of ECLHits per event.
 
std::vector< int > * m_eclHitIdx
 Index of ECLHits.
 
std::vector< int > * m_eclHitToMC
 Index of MCParticle related to ECLHit.
 
std::vector< int > * m_eclHitToDigit
 Index of ECLDigit related to ECLHit.
 
std::vector< int > * m_eclHitToDigitAmp
 Amplitude of ECLDigit related to ECLHit.
 
std::vector< int > * m_eclHitToPureDigit
 Index of ECLDigit related to ECLHit, PureCsI option.
 
std::vector< int > * m_eclHitToPureDigitAmp
 Amplitude of ECLDigit related to ECLHit, PureCsI option.
 
std::vector< int > * m_eclHitCellId
 ECLHit CellID.
 
std::vector< double > * m_eclHitEnergyDep
 ECLHit energy.
 
std::vector< double > * m_eclHitTimeAve
 ECLHit time.
 
int m_eclClusterMultip
 Number of ECLClusters per event.
 
int m_eclClusterTrueMultip
 Number of ECLClusters per event.
 
int m_eclClusterGammaMultip
 Number of ECLClusters per event.
 
std::vector< int > * m_eclClusterIdx
 ECLCluster index.
 
std::vector< int > * m_eclClusterToMC1
 Index of first MCParticle related to ECLCluster.
 
std::vector< double > * m_eclClusterToMCWeight1
 Energy contribution of first MCParticle related to ECLCluster.
 
std::vector< int > * m_eclClusterToMC1PDG
 PDG code of first MCParticle related to ECLCluster.
 
std::vector< int > * m_eclClusterToMC2
 Index of second MCParticle related to ECLCluster.
 
std::vector< double > * m_eclClusterToMCWeight2
 Energy contribution of second MCParticle related to ECLCluster.
 
std::vector< int > * m_eclClusterToMC2PDG
 PDG code of second MCParticle related to ECLCluster.
 
std::vector< int > * m_eclClusterToMC3
 Index of third MCParticle related to ECLCluster.
 
std::vector< double > * m_eclClusterToMCWeight3
 Energy contribution of third MCParticle related to ECLCluster.
 
std::vector< int > * m_eclClusterToMC3PDG
 PDG code of third MCParticle related to ECLCluster.
 
std::vector< int > * m_eclClusterToMC4
 Index of fourth MCParticle related to ECLCluster.
 
std::vector< double > * m_eclClusterToMCWeight4
 Energy contribution of fourth MCParticle related to ECLCluster.
 
std::vector< int > * m_eclClusterToMC4PDG
 PDG code of fourth MCParticle related to ECLCluster.
 
std::vector< int > * m_eclClusterToMC5
 Index of fifth MCParticle related to ECLCluster.
 
std::vector< double > * m_eclClusterToMCWeight5
 Energy contribution of 5th MCParticle related to ECLCluster.
 
std::vector< int > * m_eclClusterToMC5PDG
 PDG code of fifth MCParticle related to ECLCluster.
 
std::vector< double > * m_eclClusterToBkgWeight
 Remaining energy contribution not associated to first five MCParticles related to ECLCluster.
 
std::vector< double > * m_eclClusterSimHitSum
 Energy contribution of 1st MCParticle related to ECLCluster.
 
std::vector< int > * m_eclClusterToShower
 Index of ECLShower related to ECLCluster.
 
std::vector< double > * m_eclClusterEnergy
 ECLCluster energy.
 
std::vector< double > * m_eclClusterEnergyError
 ECLCluster energy error.
 
std::vector< double > * m_eclClusterTheta
 ECLCluster polar direction.
 
std::vector< double > * m_eclClusterThetaError
 ECLCluster error on polar direction.
 
std::vector< double > * m_eclClusterPhi
 ECLCluster azimuthal direction.
 
std::vector< double > * m_eclClusterPhiError
 ECLCluster error on azimuthal direction.
 
std::vector< double > * m_eclClusterR
 ECLCluster distance from IP.
 
std::vector< double > * m_eclClusterEnergyDepSum
 ECLCluster simulated energy.
 
std::vector< double > * m_eclClusterTiming
 ECLCluster time.
 
std::vector< double > * m_eclClusterTimingError
 ECLCluster time error.
 
std::vector< double > * m_eclClusterE9oE21
 Ratio of 3x3 over 5x5 crystal matrices energies for ECLCluster.
 
std::vector< double > * m_eclClusterHighestE
 Highest energy deposit (per crystal) in ECLCluster.
 
std::vector< int > * m_eclClusterCellId
 CellId with highest energy deposit in ECLCluster.
 
std::vector< int > * m_eclClusterNofCrystals
 Number of crystals in ECLCluster.
 
std::vector< int > * m_eclClusterCrystalHealth
 Crystal health flag.
 
std::vector< bool > * m_eclClusterIsTrack
 Flag for charged clusters.
 
std::vector< double > * m_eclClusterClosestTrackDist
 Flag for charged clusters.
 
std::vector< double > * m_eclClusterDeltaL
 Reconstructed Cluster DeltaL.
 
std::vector< double > * m_eclClusterAbsZernike40
 Reconstructed Abs Zernike40.
 
std::vector< double > * m_eclClusterAbsZernike51
 Reconstructed Abs Zernike51.
 
std::vector< double > * m_eclClusterZernikeMVA
 Zernike MVA.
 
std::vector< double > * m_eclClusterE1oE9
 Reconstructed E1 over E9.
 
std::vector< double > * m_eclClusterSecondMoment
 Reconstructed Second Moment.
 
std::vector< double > * m_eclClusterLAT
 Reconstructed LAT.
 
std::vector< double > * m_eclClusterDeltaTime99
 DeltaTime99.
 
std::vector< int > * m_eclClusterDetectorRegion
 Cluster Detector Region.
 
std::vector< int > * m_eclClusterHasNPhotonHypothesis
 Cluster has n-photon hypothesis.
 
std::vector< int > * m_eclClusterHasNeutralHadronHypothesis
 Cluster has neutral hadron hypothesis.
 
int m_eclPureDigitMultip
 Number of ECLDigits per event, PureCsI option.
 
std::vector< int > * m_eclPureDigitIdx
 ECLDigit index, PureCsI option.
 
std::vector< int > * m_eclPureDigitToMC
 Index of MCParticle related to that ECLDigit, PureCsI option.
 
std::vector< int > * m_eclPureDigitCellId
 Number of ECLDigit CellId, PureCsI option.
 
std::vector< int > * m_eclPureDigitAmp
 ECLDigit amplitude, PureCsI option.
 
std::vector< int > * m_eclPureDigitTimeFit
 ECLDigit timing, PureCsI option.
 
std::vector< int > * m_eclPureDigitFitQuality
 ECLDigit fit quality, PureCsI option.
 
std::vector< int > * m_eclPureDigitToCluster
 ECLDigit To Cluster, PureCsI option.
 
int m_eclPureCalDigitMultip
 Number of ECLCalDigits per event, PureCsI option.
 
std::vector< int > * m_eclPureCalDigitIdx
 ECLCalDigit index, PureCsI option.
 
std::vector< int > * m_eclPureCalDigitToMC1
 Index of first MCParticle related to CalDigit, PureCsI option.
 
std::vector< int > * m_eclPureCalDigitToMC1PDG
 PDG code of first MCParticle related to CalDigit, PureCsI option.
 
std::vector< double > * m_eclPureCalDigitToMCWeight1
 Energy contribution of first MCParticle related to CalDigit, PureCsI option.
 
std::vector< int > * m_eclPureCalDigitToMC2
 Index of second MCParticle related to CalDigit, PureCsI option.
 
std::vector< int > * m_eclPureCalDigitToMC2PDG
 PDG code of second MCParticle related to CalDigit, PureCsI option.
 
std::vector< double > * m_eclPureCalDigitToMCWeight2
 Energy contribution of second MCParticle related to CalDigit, PureCsI option.
 
std::vector< int > * m_eclPureCalDigitToMC3
 Index of third MCParticle related to CalDigit, PureCsI option.
 
std::vector< int > * m_eclPureCalDigitToMC3PDG
 PDG code of third MCParticle related to CalDigit, PureCsI option.
 
std::vector< double > * m_eclPureCalDigitToMCWeight3
 Energy contribution of third MCParticle related to CalDigit, PureCsI option.
 
std::vector< int > * m_eclPureCalDigitToMC4
 Index of fourth MCParticle related to CalDigit, PureCsI option.
 
std::vector< int > * m_eclPureCalDigitToMC4PDG
 PDG code of fourth MCParticle related to CalDigit, PureCsI option.
 
std::vector< double > * m_eclPureCalDigitToMCWeight4
 Energy contribution of fourth MCParticle related to CalDigit, PureCsI option.
 
std::vector< int > * m_eclPureCalDigitToMC5
 Index of fifth MCParticle related to CalDigit, PureCsI option.
 
std::vector< int > * m_eclPureCalDigitToMC5PDG
 PDG code of fifth MCParticle related to CalDigit, PureCsI option.
 
std::vector< double > * m_eclPureCalDigitToMCWeight5
 Energy contribution of fifth MCParticle related to CalDigit, PureCsI option.
 
std::vector< double > * m_eclPureCalDigitToBkgWeight
 Remaining energy contribution not associated to first five MCParticles related to CalDigit, PureCsI option.
 
std::vector< double > * m_eclPureCalDigitSimHitSum
 Full energy contribution related to CalDigit, PureCsI option.
 
std::vector< int > * m_eclPureCalDigitToShower
 Index of ECLShower related to that CalDigit, PureCsI option.
 
std::vector< int > * m_eclPureCalDigitCellId
 Number of CalDigit CellId, PureCsI option.
 
std::vector< double > * m_eclPureCalDigitAmp
 CalDigit amplitude, PureCsI option.
 
std::vector< double > * m_eclPureCalDigitTimeFit
 CalDigit timing, PureCsI option.
 
std::vector< int > * m_eclPureCalDigitFitQuality
 CalDigit fit quality, PureCsI option.
 
std::vector< int > * m_eclPureCalDigitToCR
 Index of CR related to that CalDigit, PureCsI option.
 
std::vector< int > * m_eclPureCalDigitToLM
 Index of LM related to that CalDigit, PureCsI option.
 
std::vector< int > * m_eclPureCRIdx
 Connected Region ID, PureCsI option.
 
std::vector< int > * m_eclPureCRIsTrack
 Int for Connected Region - Track Match, PureCsI option.
 
std::vector< double > * m_eclPureCRLikelihoodMIPNGamma
 Connected Region MIP Likelihood, PureCsI option.
 
std::vector< double > * m_eclPureCRLikelihoodChargedHadron
 Connected Region Charged Hadron Likelihood, PureCsI option.
 
std::vector< double > * m_eclPureCRLikelihoodElectronNGamma
 Connected Region Electron Likelihood, PureCsI option.
 
std::vector< double > * m_eclPureCRLikelihoodNGamma
 Connected Region Gamma Likelihood, PureCsI option.
 
std::vector< double > * m_eclPureCRLikelihoodNeutralHadron
 Connected Region Neutral Hadron Likelihood, PureCsI option.
 
std::vector< double > * m_eclPureCRLikelihoodMergedPi0
 Connected Region Merged Pi0 Likelihood, PureCsI option.
 
int m_eclPureLMMultip
 Local Maxima multiplicity, PureCsI option.
 
std::vector< int > * m_eclPureLMId
 Local Maximum ID, PureCsI option.
 
std::vector< int > * m_eclPureLMType
 Local Maximum type, PureCsI option.
 
std::vector< int > * m_eclPureLMCellId
 Local Maximum Cell ID, PureCsI option.
 
int m_eclPureClusterMultip
 Number of ECLClusterss per event, PureCsI option.
 
std::vector< int > * m_eclPureClusterIdx
 ECLCluster index, PureCsI option.
 
std::vector< int > * m_eclPureClusterToMC1
 Index of first MCParticle related to ECLCluster, PureCsI option.
 
std::vector< double > * m_eclPureClusterToMCWeight1
 Energy contribution of first MCParticle related to ECLCluster, PureCsI option.
 
std::vector< int > * m_eclPureClusterToMC1PDG
 PDG code of first MCParticle related to ECLCluster, PureCsI option.
 
std::vector< int > * m_eclPureClusterToMC2
 Index of second MCParticle related to ECLCluster, PureCsI option.
 
std::vector< double > * m_eclPureClusterToMCWeight2
 Energy contribution of second MCParticle related to ECLCluster, PureCsI option.
 
std::vector< int > * m_eclPureClusterToMC2PDG
 PDG code of second MCParticle related to ECLCluster, PureCsI option.
 
std::vector< int > * m_eclPureClusterToMC3
 Index of third MCParticle related to ECLCluster, PureCsI option.
 
std::vector< double > * m_eclPureClusterToMCWeight3
 Energy contribution of third MCParticle related to ECLCluster, PureCsI option.
 
std::vector< int > * m_eclPureClusterToMC3PDG
 PDG code of third MCParticle related to ECLCluster, PureCsI option.
 
std::vector< int > * m_eclPureClusterToMC4
 Index of fourth MCParticle related to ECLCluster, PureCsI option.
 
std::vector< double > * m_eclPureClusterToMCWeight4
 Energy contribution of fourth MCParticle related to ECLCluster, PureCsI option.
 
std::vector< int > * m_eclPureClusterToMC4PDG
 PDG code of fourth MCParticle related to ECLCluster, PureCsI option.
 
std::vector< int > * m_eclPureClusterToMC5
 Index of fifth MCParticle related to ECLCluster, PureCsI option.
 
std::vector< double > * m_eclPureClusterToMCWeight5
 Energy contribution of 5th MCParticle related to ECLCluster, PureCsI option.
 
std::vector< int > * m_eclPureClusterToMC5PDG
 PDG code of fifth MCParticle related to ECLCluster, PureCsI option.
 
std::vector< double > * m_eclPureClusterToBkgWeight
 Remaining energy contribution not associated to first five MCParticles related to ECLCluster, PureCsI option.
 
std::vector< double > * m_eclPureClusterEnergy
 Cluster energy, PureCsI option.
 
std::vector< double > * m_eclPureClusterEnergyError
 Cluster energy error, PureCsI option.
 
std::vector< double > * m_eclPureClusterTheta
 Cluster polar direction, PureCsI option.
 
std::vector< double > * m_eclPureClusterThetaError
 Cluster error on polar direction, PureCsI option.
 
std::vector< double > * m_eclPureClusterPhi
 Cluster azimuthal direction, PureCsI option.
 
std::vector< double > * m_eclPureClusterPhiError
 Cluster error on azimuthal direction, PureCsI option.
 
std::vector< double > * m_eclPureClusterR
 Cluster distance from IP, PureCsI option.
 
std::vector< double > * m_eclPureClusterEnergyDepSum
 Cluster simulated energy, PureCsI option.
 
std::vector< double > * m_eclPureClusterTiming
 Cluster time, PureCsI option.
 
std::vector< double > * m_eclPureClusterTimingError
 Cluster time error, PureCsI option.
 
std::vector< double > * m_eclPureClusterE9oE21
 Ratio of 3x3 over 5x5 crystal matrices energies for Cluster, PureCsI option.
 
std::vector< double > * m_eclPureClusterHighestE
 Highest energy deposit (per crystal) in Cluster, PureCsI option.
 
std::vector< int > * m_eclPureClusterCellId
 CellId with highest energy deposit in Cluster, PureCsI option.
 
std::vector< double > * m_eclPureClusterLat
 Cluster shape parameter LAT, PureCsI option.
 
std::vector< int > * m_eclPureClusterNofCrystals
 Number of crystals in Cluster, PureCsI option.
 
std::vector< int > * m_eclPureClusterCrystalHealth
 Crystal health flag, PureCsI option.
 
std::vector< bool > * m_eclPureClusterIsTrack
 Flag for charged clusters, PureCsI option.
 
std::vector< double > * m_eclPureClusterDeltaL
 Reconstructed Cluster DeltaL, PureCsI option.
 
std::vector< double > * m_eclPureClusterClosestTrackDist
 Reconstructed Distance to Closest Track, PureCsI option.
 
std::vector< double > * m_eclPureClusterAbsZernike40
 Reconstructed Zernike40, PureCsI option.
 
std::vector< double > * m_eclPureClusterAbsZernike51
 Reconstructed Zernike51, PureCsI option.
 
std::vector< double > * m_eclPureClusterZernikeMVA
 Output of MVA classifier based on Zernike Momenta, PureCsI option.
 
std::vector< double > * m_eclPureClusterSecondMoment
 Reconstructed Cluster Second Moment, PureCsI option.
 
std::vector< double > * m_eclPureClusterE1oE9
 Reconstructed E1oE9, PureCsI option.
 
std::vector< double > * m_eclPureClusterDeltaTime99
 Reconstructed DeltaT99, PureCsI option.
 
std::vector< int > * m_eclPureClusterDetectorRegion
 Clusters detector region, PureCsI option.
 
std::vector< int > * m_eclPureClusterHasNPhotonHypothesis
 Cluster has n-photon hypothesis, PureCsI option.
 
std::vector< int > * m_eclPureClusterHasNeutralHadronHypothesis
 Cluster has neutral hadron hypothesis, PureCsI option.
 
int m_eclShowerMultip
 Number of ECLShowers per event.
 
std::vector< int > * m_eclShowerIdx
 Shower Index.
 
std::vector< int > * m_eclShowerToMC1
 Index of first MCParticle related to ECLShower.
 
std::vector< double > * m_eclShowerToMCWeight1
 Energy contribution of first MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC1PDG
 PDG code of first MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC1Moth
 Mother index of first MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC1MothPDG
 PDG code of parent of first MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC1GMoth
 GMother index of first MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC1GMothPDG
 PDG code of Gparent of first MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC2
 Index of second MCParticle related to ECLShower.
 
std::vector< double > * m_eclShowerToMCWeight2
 Energy contribution of second MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC2PDG
 PDG code of second MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC2Moth
 Mother index of first MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC2MothPDG
 PDG code of parent of first MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC2GMoth
 GMother index of second MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC2GMothPDG
 PDG code of Gparent of second MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC3
 Index of third MCParticle related to ECLShower.
 
std::vector< double > * m_eclShowerToMCWeight3
 Energy contribution of third MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC3PDG
 PDG code of third MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC3Moth
 Mother index of first MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC3MothPDG
 PDG code of parent of first MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC3GMoth
 GMother index of third MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC3GMothPDG
 PDG code of Gparent of third MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC4
 Index of fourth MCParticle related to ECLShower.
 
std::vector< double > * m_eclShowerToMCWeight4
 Energy contribution of fourth MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC4PDG
 PDG code of fourth MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC4Moth
 Mother index of fourth MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC4MothPDG
 PDG code of parent of fourth MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC4GMoth
 GMother index of fourth MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC4GMothPDG
 PDG code of Gparent of fourth MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC5
 Index of fifth MCParticle related to ECLShower.
 
std::vector< double > * m_eclShowerToMCWeight5
 Energy contribution of fifth MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC5PDG
 PDG code of fifth MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC5Moth
 Mother index of fifth MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC5MothPDG
 PDG code of parent of fifth MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC5GMoth
 GMother index of fifth MCParticle related to ECLShower.
 
std::vector< int > * m_eclShowerToMC5GMothPDG
 PDG code of Gparent of fifth MCParticle related to ECLShower.
 
std::vector< double > * m_eclShowerToBkgWeight
 Remaining energy contribution not associated to first five MCParticles related to ECLShower.
 
std::vector< int > * m_eclShowerToLM1
 Index of first maximum related to ECLShower.
 
std::vector< int > * m_eclShowerToLM2
 Index of 2nd maximum related to ECLShower.
 
std::vector< int > * m_eclShowerToLM3
 Index of 3rd maximum related to ECLShower.
 
std::vector< int > * m_eclShowerToLM4
 Index of 4th maximum related to ECLShower.
 
std::vector< int > * m_eclShowerToLM5
 Index of 5th maximum related to ECLShower.
 
std::vector< double > * m_eclShowerSimHitSum
 Full energy contribution related to ECLShower.
 
std::vector< double > * m_eclShowerUncEnergy
 Shower bare energy.
 
std::vector< double > * m_eclShowerEnergy
 Shower Energy.
 
std::vector< double > * m_eclShowerTheta
 Shower Theta.
 
std::vector< double > * m_eclShowerPhi
 Shower Phi.
 
std::vector< double > * m_eclShowerR
 Shower R.
 
std::vector< double > * m_eclShowerNHits
 Shower NHits.
 
std::vector< double > * m_eclShowerE9oE21
 Shower E9oE21.
 
std::vector< double > * m_eclShowerTime
 Shower Timing.
 
std::vector< double > * m_eclShowerT99
 Shower T99.
 
std::vector< int > * m_eclShowerConnectedRegionId
 Matched Connetcted Region Idx.
 
std::vector< int > * m_eclShowerHypothesisId
 Shower Particle Hypothesis ID.
 
std::vector< int > * m_eclShowerCentralCellId
 Cell ID for most energetic crystal.
 
std::vector< double > * m_eclShowerEnergyError
 Shower Energy Error.
 
std::vector< double > * m_eclShowerThetaError
 Shower Theta Error.
 
std::vector< double > * m_eclShowerPhiError
 Shower Phi Error.
 
std::vector< double > * m_eclShowerTimeResolution
 Shower Time Resolution.
 
std::vector< double > * m_eclShowerHighestEnergy
 Shower Highest Energy Crystal Energy.
 
std::vector< double > * m_eclShowerLateralEnergy
 Shower Lateral Energy.
 
std::vector< double > * m_eclShowerMinTrkDistance
 Shower Min Dist to Track.
 
std::vector< double > * m_eclShowerTrkDepth
 Shower Track Depth.
 
std::vector< double > * m_eclShowerShowerDepth
 Shower Depth.
 
std::vector< double > * m_eclShowerAbsZernike40
 Shower Zernike40 Moment.
 
std::vector< double > * m_eclShowerAbsZernike51
 Shower Zernike51 Moment.
 
std::vector< double > * m_eclShowerZernikeMVA
 Shower ZernikeMVA.
 
std::vector< double > * m_eclShowerSecondMoment
 Shower Second Moment.
 
std::vector< double > * m_eclShowerE1oE9
 Shower E1/E9.
 
std::vector< int > * m_eclShowerIsTrack
 Shower Track Match.
 
std::vector< bool > * m_eclShowerIsCluster
 Shower Cluster Match.
 
std::vector< int > * m_eclShowerMCVtxInEcl
 Int, 1 if particle decays (interacts) in ECL, 0 otherwise.
 
std::vector< int > * m_eclShowerMCFlightMatch
 Int, 1 if particle flight direction is "well" reconstructed in ECL, 0 otherwise.
 
std::vector< int > * m_eclShowerMCFFlightMatch
 Int, 1 if primary particle flight direction is "well" reconstructed in ECL, 0 otherwise, DEBUG PURPOSE.
 
std::vector< double > * m_eclShowerHighestE1mE2
 Energy difference for 2 highest energy deposits in shower.
 
std::vector< double > * m_eclShowerNumberOfCrystalsForEnergy
 Number of crystals used for energy calculation.
 
int m_mcMultip
 Multiplicity of MCParticles.
 
std::vector< int > * m_mcIdx
 MCParticle index.
 
std::vector< int > * m_mcPdg
 MCParticle PDG code.
 
std::vector< int > * m_mcMothPdg
 MCParticle mother particle PDG code.
 
std::vector< int > * m_mcGMothPdg
 MCParticle grandmother particle PDG code.
 
std::vector< int > * m_mcGGMothPdg
 MCParticle greand-grandmother particle PDG code.
 
std::vector< double > * m_mcEnergy
 MCParticle energyx.
 
std::vector< double > * m_mcPx
 MCParticle momentum X direction.
 
std::vector< double > * m_mcPy
 MCParticle momentum Y direction.
 
std::vector< double > * m_mcPz
 MCParticle momentum Z direction.
 
std::vector< double > * m_mcDecayVtxX
 MCParticle decay vertex X.
 
std::vector< double > * m_mcDecayVtxY
 MCParticle decay vertex Y.
 
std::vector< double > * m_mcDecayVtxZ
 MCParticle decay vertex Z.
 
std::vector< double > * m_mcProdVtxX
 MCParticle production vertex X.
 
std::vector< double > * m_mcProdVtxY
 MCParticle production vertex Y.
 
std::vector< double > * m_mcProdVtxZ
 MCParticle production vertex Z.
 
std::vector< int > * m_mcSecondaryPhysProc
 Flag for secondary physics process.
 
int m_trkMultip
 Track Multiplicity.
 
std::vector< int > * m_trkPdg
 Track PDG code.
 
std::vector< int > * m_trkIdx
 Track index.
 
std::vector< int > * m_trkCharge
 Track charge.
 
std::vector< double > * m_trkPx
 Track momentum along X direction.
 
std::vector< double > * m_trkPy
 Track momentum along Y direction.
 
std::vector< double > * m_trkPz
 Track momentum along Z direction.
 
std::vector< double > * m_trkP
 Track momentum.
 
std::vector< double > * m_trkTheta
 Track polar direction.
 
std::vector< double > * m_trkPhi
 Track azimuthal direction.
 
std::vector< double > * m_trkX
 Track DOCA X (?)
 
std::vector< double > * m_trkY
 Track DOCA Y (?)
 
std::vector< double > * m_trkZ
 Track DOCA Z (?)
 
std::vector< int > * m_eclpidtrkIdx
 PID track index.
 
std::vector< double > * m_eclpidEnergy
 PID track energy.
 
std::vector< double > * m_eclpidEop
 PID track E/p.
 
std::vector< double > * m_eclpidE9E21
 PID track ration of 3x3 over 5x5 crystal matrices energies.
 
std::vector< int > * m_eclpidNCrystals
 PID track number of crystals.
 
std::vector< int > * m_eclpidNClusters
 PID track number of clusters.
 
std::vector< double > * m_eclLogLikeEl
 PID track electron likelihood.
 
std::vector< double > * m_eclLogLikeMu
 PID track muon likelihood.
 
std::vector< double > * m_eclLogLikePi
 PID track pion likelihood.
 
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

The ECL Data Analysis Module.

this module dump an ntuple containing ECL-related infos starting from mdst

Definition at line 51 of file ECLDataAnalysisModule.h.

Member Typedef Documentation

◆ EAfterConditionPath

Forward the EAfterConditionPath definition from the ModuleCondition.

Definition at line 88 of file Module.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.

77 {
78 c_Input = 1,
79 c_Output = 2,
80 c_ParallelProcessingCertified = 4,
81 c_HistogramManager = 8,
82 c_InternalSerializer = 16,
83 c_TerminateInAllProcesses = 32,
84 c_DontCollectStatistics = 64,
85 };
@ c_Output
Output Process.
Definition ProcHelper.h:19
@ c_Input
Input Process.
Definition ProcHelper.h:17

Constructor & Destructor Documentation

◆ ECLDataAnalysisModule()

Constructor of the module.

Definition at line 50 of file ECLDataAnalysisModule.cc.

51 : Module(),
54 m_doTracking(0),
69 m_tree(0),
71 m_iRun(0),
72 m_iEvent(0),
73//Digit
82//CalDigit
109//Connected Region
110 m_eclCRIdx(0),
118//Local Maxima
119 m_eclLMMultip(0),
120 m_eclLMId(0),
121 m_eclLMType(0),
122 m_eclLMCellId(0),
123//SimHit
131 m_eclSimHitX(0),
132 m_eclSimHitY(0),
133 m_eclSimHitZ(0),
134 m_eclSimHitPx(0),
135 m_eclSimHitPy(0),
136 m_eclSimHitPz(0),
137//Hit
139 m_eclHitIdx(0),
140 m_eclHitToMC(0),
148//Cluster
177 m_eclClusterR(0),
199
200//PureDigits
209//PureCalDigit
236//Connected Region
245//Local Maxima
247 m_eclPureLMId(0),
250//PureCluster
297
298//Shower
347 m_eclShowerR(0),
376//MC
377 m_mcMultip(0),
378 m_mcIdx(0),
379 m_mcPdg(0),
380 m_mcMothPdg(0),
381 m_mcGMothPdg(0),
382 m_mcGGMothPdg(0),
383 m_mcEnergy(0),
384 m_mcPx(0),
385 m_mcPy(0),
386 m_mcPz(0),
387 m_mcDecayVtxX(0),
388 m_mcDecayVtxY(0),
389 m_mcDecayVtxZ(0),
390 m_mcProdVtxX(0),
391 m_mcProdVtxY(0),
392 m_mcProdVtxZ(0),
394//Tracks
395 m_trkMultip(0),
396 m_trkPdg(0),
397 m_trkIdx(0),
398 m_trkCharge(0),
399 m_trkPx(0),
400 m_trkPy(0),
401 m_trkPz(0),
402 m_trkP(0),
403 m_trkTheta(0),
404 m_trkPhi(0),
405 m_trkX(0),
406 m_trkY(0),
407 m_trkZ(0),
408//PID
411 m_eclpidEop(0),
412 m_eclpidE9E21(0),
418
419{
420 //Set module properties
421 setDescription("This module produces an ntuple with ECL-related quantities starting from mdst");
422 addParam("writeToRoot", m_writeToRoot,
423 "set true if you want to save the information in a root file named by parameter 'rootFileName'", bool(true));
424 addParam("rootFileName", m_rootFileName,
425 "fileName used for root file where info are saved. Will be ignored if parameter 'writeToRoot' is false (standard)",
426 string("eclDataAnalysis"));
427 addParam("doTracking", m_doTracking, "set true if you want to save the information from TrackFitResults'rootFileName'",
428 bool(false));
429 addParam("doHits", m_doHits, "set true if you want to save the Hit and SimHit informations'", bool(false));
430 addParam("doDigits", m_doDigits, "set true if you want to save the Digits and CalDigits informations'", bool(false));
431 addParam("doPureCsI", m_doPureCsI, "set true if you want to save the information for upgrade option'", bool(false));
432
433}
std::vector< int > * m_eclClusterToMC4PDG
PDG code of fourth MCParticle related to ECLCluster.
std::vector< int > * m_eclShowerToLM5
Index of 5th maximum related to ECLShower.
std::vector< int > * m_eclShowerToMC2PDG
PDG code of second MCParticle related to ECLShower.
std::vector< double > * m_eclShowerTimeResolution
Shower Time Resolution.
bool m_doPureCsI
if true, info on pureCsI upgrade is stored
std::vector< int > * m_eclPureCalDigitToMC5PDG
PDG code of fifth MCParticle related to CalDigit, PureCsI option.
std::string m_rootFileName
name of the root file
std::vector< double > * m_eclPureCalDigitToMCWeight5
Energy contribution of fifth MCParticle related to CalDigit, PureCsI option.
std::vector< int > * m_eclShowerToMC5GMothPDG
PDG code of Gparent of fifth MCParticle related to ECLShower.
virtual const char * eclShowerArrayName() const
Default name ECLShower array.
std::vector< double > * m_eclLogLikeEl
PID track electron likelihood.
int m_eclDigitMultip
Number of ECLDigits per event.
std::vector< double > * m_eclClusterToMCWeight5
Energy contribution of 5th MCParticle related to ECLCluster.
bool m_doHits
if true, info on Hits and SimHits is stored
std::vector< int > * m_eclShowerToMC4MothPDG
PDG code of parent of fourth MCParticle related to ECLShower.
std::vector< double > * m_mcPy
MCParticle momentum Y direction.
std::vector< double > * m_eclCalDigitToMCWeight1
Energy contribution of first MCParticle related to ECLCalDigit.
std::vector< double > * m_eclClusterTheta
ECLCluster polar direction.
std::vector< int > * m_eclClusterNofCrystals
Number of crystals in ECLCluster.
std::vector< double > * m_eclPureClusterToBkgWeight
Remaining energy contribution not associated to first five MCParticles related to ECLCluster,...
std::vector< double > * m_eclPureCRLikelihoodNeutralHadron
Connected Region Neutral Hadron Likelihood, PureCsI option.
std::vector< int > * m_eclPureCalDigitToMC3PDG
PDG code of third MCParticle related to CalDigit, PureCsI option.
virtual const char * eclClusterArrayName() const
Default name ECLClusters array.
std::vector< int > * m_eclClusterDetectorRegion
Cluster Detector Region.
std::vector< int > * m_eclPureCalDigitToMC2
Index of second MCParticle related to CalDigit, PureCsI option.
std::vector< double > * m_eclCalDigitToMCWeight2
Energy contribution of second MCParticle related to ECLCalDigit.
std::vector< int > * m_eclCRIdx
Connected Region ID.
std::vector< int > * m_eclClusterCellId
CellId with highest energy deposit in ECLCluster.
std::vector< int > * m_eclPureCalDigitToShower
Index of ECLShower related to that CalDigit, PureCsI option.
std::vector< int > * m_eclHitToMC
Index of MCParticle related to ECLHit.
std::vector< int > * m_eclClusterToMC3PDG
PDG code of third MCParticle related to ECLCluster.
std::vector< double > * m_eclCRLikelihoodElectronNGamma
Connected Region Electron Likelihood.
std::vector< double > * m_eclCalDigitTimeFit
ECLCalDigit timing.
std::vector< double > * m_eclPureClusterDeltaL
Reconstructed Cluster DeltaL, PureCsI option.
TTree * m_tree
Root tree and file for saving the output.
StoreArray< ECLShower > m_eclShowers
Store array: ECLShower.
std::vector< double > * m_eclCalDigitToMCWeight5
Energy contribution of fifth MCParticle related to ECLCalDigit.
std::vector< double > * m_eclSimHitFlightTime
ECLSimhit Flight Time.
std::vector< int > * m_eclClusterIdx
ECLCluster index.
std::vector< int > * m_eclPureClusterToMC5
Index of fifth MCParticle related to ECLCluster, PureCsI option.
std::vector< double > * m_eclPureCalDigitToBkgWeight
Remaining energy contribution not associated to first five MCParticles related to CalDigit,...
std::vector< double > * m_eclShowerEnergyError
Shower Energy Error.
StoreArray< ECLConnectedRegion > m_eclConnectedRegions
Store array: ECLConnectedRegion.
std::vector< double > * m_eclShowerTime
Shower Timing.
std::vector< double > * m_eclShowerTheta
Shower Theta.
std::vector< double > * m_eclShowerShowerDepth
Shower Depth.
std::vector< int > * m_eclShowerToMC4GMoth
GMother index of fourth MCParticle related to ECLShower.
std::vector< double > * m_eclCalDigitToMCWeight4
Energy contribution of fourth MCParticle related to ECLCalDigit.
std::vector< int > * m_eclPureCalDigitCellId
Number of CalDigit CellId, PureCsI option.
std::vector< double > * m_eclClusterR
ECLCluster distance from IP.
virtual const char * eclSimHitArrayName() const
Default name ECLCalDigits array.
std::vector< bool > * m_eclPureClusterIsTrack
Flag for charged clusters, PureCsI option.
std::vector< int > * m_eclPureCalDigitToMC1
Index of first MCParticle related to CalDigit, PureCsI option.
bool m_writeToRoot
if true, a rootFile named by m_rootFileName will be filled with info
std::vector< int > * m_eclPureClusterToMC5PDG
PDG code of fifth MCParticle related to ECLCluster, PureCsI option.
std::vector< double > * m_eclShowerE9oE21
Shower E9oE21.
std::vector< double > * m_eclPureClusterTimingError
Cluster time error, PureCsI option.
std::vector< int > * m_eclPureClusterToMC3
Index of third MCParticle related to ECLCluster, PureCsI option.
std::vector< int > * m_eclPureDigitToCluster
ECLDigit To Cluster, PureCsI option.
bool m_doDigits
if true, info on Digits and CalDigits is stored
std::vector< double > * m_eclPureClusterEnergyDepSum
Cluster simulated energy, PureCsI option.
virtual const char * eclPureClusterArrayName() const
Default name ECLPureClusters array.
std::vector< double > * m_eclShowerNumberOfCrystalsForEnergy
Number of crystals used for energy calculation.
std::vector< bool > * m_eclShowerIsCluster
Shower Cluster Match.
std::vector< int > * m_eclPureClusterToMC3PDG
PDG code of third MCParticle related to ECLCluster, PureCsI option.
std::vector< int > * m_eclCalDigitToMC2PDG
PDG code of second MCParticle related to ECLCalDigit.
std::vector< double > * m_mcDecayVtxZ
MCParticle decay vertex Z.
std::vector< int > * m_eclPureDigitToMC
Index of MCParticle related to that ECLDigit, PureCsI option.
std::vector< int > * m_eclClusterToMC5PDG
PDG code of fifth MCParticle related to ECLCluster.
std::vector< double > * m_eclPureClusterZernikeMVA
Output of MVA classifier based on Zernike Momenta, PureCsI option.
std::vector< double > * m_eclSimHitX
ECLSimHit X position.
std::vector< int > * m_eclCalDigitToMC2
Index of second MCParticle related to ECLCalDigit.
StoreArray< ECLCalDigit > m_eclPureCalDigits
Store array: ECLPureCalDigit.
std::vector< int > * m_eclShowerHypothesisId
Shower Particle Hypothesis ID.
std::vector< double > * m_eclSimHitPz
ECLSimHit PZ.
std::vector< int > * m_eclShowerMCVtxInEcl
Int, 1 if particle decays (interacts) in ECL, 0 otherwise.
std::vector< int > * m_eclPureCalDigitToCR
Index of CR related to that CalDigit, PureCsI option.
std::vector< double > * m_eclShowerToMCWeight4
Energy contribution of fourth MCParticle related to ECLShower.
std::vector< double > * m_eclPureClusterDeltaTime99
Reconstructed DeltaT99, PureCsI option.
int m_eclHitMultip
Number of ECLHits per event.
std::vector< double > * m_eclClusterZernikeMVA
Zernike MVA.
std::vector< int > * m_eclShowerToMC5PDG
PDG code of fifth MCParticle related to ECLShower.
std::vector< int > * m_eclShowerToMC3PDG
PDG code of third MCParticle related to ECLShower.
std::vector< int > * m_eclPureLMType
Local Maximum type, PureCsI option.
std::vector< int > * m_trkCharge
Track charge.
std::vector< int > * m_eclShowerToMC2
Index of second MCParticle related to ECLShower.
std::vector< double > * m_eclShowerToBkgWeight
Remaining energy contribution not associated to first five MCParticles related to ECLShower.
std::vector< double > * m_trkPx
Track momentum along X direction.
std::vector< double > * m_eclPureClusterAbsZernike51
Reconstructed Zernike51, PureCsI option.
std::vector< int > * m_eclDigitToMC
Index of MCParticle related to that ECLDigit.
std::vector< double > * m_eclPureCRLikelihoodMergedPi0
Connected Region Merged Pi0 Likelihood, PureCsI option.
std::vector< double > * m_eclCRLikelihoodMIPNGamma
Connected Region MIP Likelihood.
std::vector< int > * m_eclClusterToMC4
Index of fourth MCParticle related to ECLCluster.
virtual const char * eclHitArrayName() const
Default name ECLCalDigits array.
std::vector< int > * m_eclSimHitCellId
ECLSimHit CellId.
StoreArray< ECLLocalMaximum > m_eclLocalMaximums
Store array: ECLLocalMaximum.
std::vector< double > * m_eclCRLikelihoodNeutralHadron
Connected Region Neutral Hadron Likelihood.
std::vector< double > * m_eclPureClusterTiming
Cluster time, PureCsI option.
std::vector< double > * m_trkZ
Track DOCA Z (?)
std::vector< double > * m_eclCalDigitSimHitSum
Full energy contribution related to ECLCalDigit.
std::vector< int > * m_eclPureClusterHasNPhotonHypothesis
Cluster has n-photon hypothesis, PureCsI option.
std::vector< double > * m_eclPureCalDigitToMCWeight4
Energy contribution of fourth MCParticle related to CalDigit, PureCsI option.
virtual const char * eclLocalMaximumArrayName() const
Default name ECLLocalMaxima array.
std::vector< int > * m_eclCalDigitFitQuality
ECLCalDigit fit quality.
std::vector< int > * m_eclShowerToMC5GMoth
GMother index of fifth MCParticle related to ECLShower.
std::vector< int > * m_eclCalDigitToMC4
Index of fourth MCParticle related to ECLCalDigit.
std::vector< double > * m_eclHitEnergyDep
ECLHit energy.
std::vector< double > * m_eclCRLikelihoodChargedHadron
Connected Region Charged Hadron Likelihood.
std::vector< int > * m_eclShowerMCFlightMatch
Int, 1 if particle flight direction is "well" reconstructed in ECL, 0 otherwise.
std::vector< double > * m_eclClusterPhi
ECLCluster azimuthal direction.
std::vector< double > * m_eclClusterAbsZernike40
Reconstructed Abs Zernike40.
int m_eclCalDigitMultip
Number of ECLCalDigits per event.
std::vector< int > * m_eclShowerToMC4Moth
Mother index of fourth MCParticle related to ECLShower.
std::vector< int > * m_eclShowerToMC3GMoth
GMother index of third MCParticle related to ECLShower.
std::vector< double > * m_eclPureClusterHighestE
Highest energy deposit (per crystal) in Cluster, PureCsI option.
std::vector< int > * m_eclClusterHasNPhotonHypothesis
Cluster has n-photon hypothesis.
std::vector< int > * m_eclPureClusterToMC2PDG
PDG code of second MCParticle related to ECLCluster, PureCsI option.
std::vector< double > * m_eclShowerToMCWeight2
Energy contribution of second MCParticle related to ECLShower.
std::vector< int > * m_eclShowerToMC1PDG
PDG code of first MCParticle related to ECLShower.
std::vector< double > * m_eclSimHitEnergyDep
Energy deposition of ECLSimHit.
std::vector< int > * m_eclPureCalDigitToMC2PDG
PDG code of second MCParticle related to CalDigit, PureCsI option.
std::vector< double > * m_trkPz
Track momentum along Z direction.
std::vector< double > * m_eclClusterToMCWeight1
Energy contribution of first MCParticle related to ECLCluster.
std::vector< int > * m_eclShowerToLM2
Index of 2nd maximum related to ECLShower.
std::vector< int > * m_eclPureCalDigitToMC4
Index of fourth MCParticle related to CalDigit, PureCsI option.
std::vector< int > * m_eclPureClusterNofCrystals
Number of crystals in Cluster, PureCsI option.
std::vector< int > * m_eclHitToPureDigit
Index of ECLDigit related to ECLHit, PureCsI option.
std::vector< int > * m_eclShowerToMC3GMothPDG
PDG code of Gparent of third MCParticle related to ECLShower.
int m_eclPureClusterMultip
Number of ECLClusterss per event, PureCsI option.
std::vector< double > * m_eclShowerMinTrkDistance
Shower Min Dist to Track.
std::vector< double > * m_eclSimHitPx
ECLSimHit PX.
std::vector< int > * m_eclPureClusterCellId
CellId with highest energy deposit in Cluster, PureCsI option.
std::vector< int > * m_eclCalDigitToShower
Index of ECLShower related to that ECLCalDigit.
std::vector< double > * m_eclSimHitZ
ECLSimHit Z position.
std::vector< double > * m_eclClusterThetaError
ECLCluster error on polar direction.
std::vector< int > * m_eclPureClusterToMC2
Index of second MCParticle related to ECLCluster, PureCsI option.
std::vector< double > * m_eclClusterAbsZernike51
Reconstructed Abs Zernike51.
std::vector< int > * m_eclDigitAmp
ECLDigit amplitude.
std::vector< double > * m_trkPy
Track momentum along Y direction.
std::vector< double > * m_eclClusterEnergyDepSum
ECLCluster simulated energy.
std::vector< double > * m_eclPureClusterThetaError
Cluster error on polar direction, PureCsI option.
std::vector< int > * m_eclPureDigitIdx
ECLDigit index, PureCsI option.
std::vector< int > * m_eclShowerToMC2GMothPDG
PDG code of Gparent of second MCParticle related to ECLShower.
std::vector< int > * m_mcPdg
MCParticle PDG code.
std::vector< double > * m_eclShowerSecondMoment
Shower Second Moment.
std::vector< int > * m_eclShowerToMC5
Index of fifth MCParticle related to ECLShower.
std::vector< double > * m_mcDecayVtxY
MCParticle decay vertex Y.
std::vector< int > * m_eclShowerToMC3MothPDG
PDG code of parent of first MCParticle related to ECLShower.
StoreArray< ECLSimHit > m_eclSimHits
Store array: ECLSimHit.
std::vector< int > * m_eclClusterToMC5
Index of fifth MCParticle related to ECLCluster.
std::vector< int > * m_eclShowerToMC4GMothPDG
PDG code of Gparent of fourth MCParticle related to ECLShower.
std::vector< double > * m_eclPureClusterToMCWeight5
Energy contribution of 5th MCParticle related to ECLCluster, PureCsI option.
std::vector< int > * m_eclShowerToLM3
Index of 3rd maximum related to ECLShower.
std::vector< double > * m_eclPureClusterToMCWeight1
Energy contribution of first MCParticle related to ECLCluster, PureCsI option.
std::vector< int > * m_eclPureDigitFitQuality
ECLDigit fit quality, PureCsI option.
StoreArray< ECLDigit > m_eclDigits
Store array: ECLDigit.
std::vector< double > * m_eclClusterEnergyError
ECLCluster energy error.
std::vector< double > * m_eclClusterPhiError
ECLCluster error on azimuthal direction.
std::vector< int > * m_trkIdx
Track index.
std::vector< int > * m_eclCalDigitToCR
Index of CR related to that ECLCalDigit.
std::vector< int > * m_eclClusterToMC3
Index of third MCParticle related to ECLCluster.
std::vector< double > * m_eclClusterSimHitSum
Energy contribution of 1st MCParticle related to ECLCluster.
std::vector< int > * m_eclPureCalDigitFitQuality
CalDigit fit quality, PureCsI option.
std::vector< int > * m_eclPureCalDigitToMC1PDG
PDG code of first MCParticle related to CalDigit, PureCsI option.
std::vector< double > * m_eclPureCRLikelihoodNGamma
Connected Region Gamma Likelihood, PureCsI option.
std::vector< int > * m_eclPureCalDigitToMC3
Index of third MCParticle related to CalDigit, PureCsI option.
int m_eclPureLMMultip
Local Maxima multiplicity, PureCsI option.
std::vector< int > * m_mcMothPdg
MCParticle mother particle PDG code.
std::vector< int > * m_eclClusterToMC1
Index of first MCParticle related to ECLCluster.
std::vector< int > * m_eclShowerToLM4
Index of 4th maximum related to ECLShower.
std::vector< double > * m_eclClusterToMCWeight2
Energy contribution of second MCParticle related to ECLCluster.
std::vector< double > * m_eclLogLikePi
PID track pion likelihood.
std::vector< double > * m_eclClusterE1oE9
Reconstructed E1 over E9.
std::vector< double > * m_eclPureCalDigitTimeFit
CalDigit timing, PureCsI option.
std::vector< double > * m_eclShowerUncEnergy
Shower bare energy.
std::vector< double > * m_eclCalDigitToBkgWeight
Remaining energy contribution not associated to first five MCParticles related to ECLCalDigit.
std::vector< int > * m_eclHitToDigit
Index of ECLDigit related to ECLHit.
StoreArray< ECLDigit > m_eclPureDigits
Store array: ECLPureDigit.
std::vector< int > * m_eclClusterHasNeutralHadronHypothesis
Cluster has neutral hadron hypothesis.
std::vector< int > * m_eclShowerToMC2Moth
Mother index of first MCParticle related to ECLShower.
std::vector< double > * m_eclShowerT99
Shower T99.
std::vector< int > * m_eclShowerToLM1
Index of first maximum related to ECLShower.
std::vector< int > * m_eclLMCellId
Local Maximum Cell ID.
std::vector< double > * m_eclShowerToMCWeight3
Energy contribution of third MCParticle related to ECLShower.
std::vector< int > * m_eclHitToDigitAmp
Amplitude of ECLDigit related to ECLHit.
int m_eclClusterTrueMultip
Number of ECLClusters per event.
std::vector< int > * m_eclDigitTimeFit
ECLDigit timing.
std::vector< double > * m_eclPureClusterClosestTrackDist
Reconstructed Distance to Closest Track, PureCsI option.
std::vector< double > * m_eclClusterToMCWeight4
Energy contribution of fourth MCParticle related to ECLCluster.
std::vector< double > * m_eclShowerHighestEnergy
Shower Highest Energy Crystal Energy.
std::vector< double > * m_eclPureCRLikelihoodElectronNGamma
Connected Region Electron Likelihood, PureCsI option.
std::vector< int > * m_eclClusterToMC2
Index of second MCParticle related to ECLCluster.
std::vector< int > * m_eclShowerIdx
Shower Index.
std::vector< int > * m_eclPureCalDigitIdx
ECLCalDigit index, PureCsI option.
std::vector< int > * m_eclSimHitToMC
Index of MCParticle related to that ECLSimHit.
std::vector< double > * m_eclClusterToBkgWeight
Remaining energy contribution not associated to first five MCParticles related to ECLCluster.
std::vector< int > * m_eclDigitToCalDigit
Index of CalDigit related to that ECLDigit.
std::vector< int > * m_eclShowerToMC3Moth
Mother index of first MCParticle related to ECLShower.
std::vector< double > * m_eclPureCalDigitToMCWeight2
Energy contribution of second MCParticle related to CalDigit, PureCsI option.
std::vector< int > * m_eclDigitIdx
ECLDigit index.
int m_eclClusterGammaMultip
Number of ECLClusters per event.
std::vector< double > * m_eclPureClusterE1oE9
Reconstructed E1oE9, PureCsI option.
std::vector< double > * m_eclShowerThetaError
Shower Theta Error.
std::vector< double > * m_eclShowerSimHitSum
Full energy contribution related to ECLShower.
virtual const char * eclPureDigitArrayName() const
Default name ECLPureDigits array.
StoreArray< ECLLocalMaximum > m_eclPureLocalMaximums
Store array: ECLPureLocalMaximum.
std::vector< int > * m_eclPureLMCellId
Local Maximum Cell ID, PureCsI option.
std::vector< int > * m_eclCalDigitToMC5PDG
PDG code of fifth MCParticle related to ECLCalDigit.
std::vector< int > * m_eclShowerIsTrack
Shower Track Match.
std::vector< int > * m_mcGMothPdg
MCParticle grandmother particle PDG code.
std::vector< double > * m_eclpidEnergy
PID track energy.
std::vector< int > * m_eclpidNClusters
PID track number of clusters.
std::vector< double > * m_eclShowerPhi
Shower Phi.
int m_mcMultip
Multiplicity of MCParticles.
std::vector< double > * m_eclPureCRLikelihoodMIPNGamma
Connected Region MIP Likelihood, PureCsI option.
std::vector< double > * m_eclPureClusterE9oE21
Ratio of 3x3 over 5x5 crystal matrices energies for Cluster, PureCsI option.
std::vector< int > * m_eclLMType
Local Maximum type.
std::vector< double > * m_eclShowerTrkDepth
Shower Track Depth.
std::vector< int > * m_eclLMId
Local Maximum ID.
std::vector< double > * m_trkP
Track momentum.
std::vector< double > * m_eclPureClusterEnergy
Cluster energy, PureCsI option.
std::vector< int > * m_eclHitToPureDigitAmp
Amplitude of ECLDigit related to ECLHit, PureCsI option.
std::vector< double > * m_eclClusterTimingError
ECLCluster time error.
std::vector< int > * m_eclShowerToMC4
Index of fourth MCParticle related to ECLShower.
std::vector< double > * m_mcProdVtxZ
MCParticle production vertex Z.
std::vector< double > * m_mcEnergy
MCParticle energyx.
std::vector< int > * m_eclpidtrkIdx
PID track index.
std::vector< int > * m_eclShowerCentralCellId
Cell ID for most energetic crystal.
std::vector< double > * m_eclShowerToMCWeight1
Energy contribution of first MCParticle related to ECLShower.
StoreArray< ECLCluster > m_eclClusters
Store array: ECLCluster.
std::vector< int > * m_eclCalDigitToMC3
Index of third MCParticle related to ECLCalDigit.
std::vector< int > * m_eclPureCalDigitToMC4PDG
PDG code of fourth MCParticle related to CalDigit, PureCsI option.
std::vector< int > * m_eclHitIdx
Index of ECLHits.
std::vector< int > * m_eclClusterToMC1PDG
PDG code of first MCParticle related to ECLCluster.
std::vector< int > * m_eclPureClusterDetectorRegion
Clusters detector region, PureCsI option.
std::vector< double > * m_mcDecayVtxX
MCParticle decay vertex X.
std::vector< double > * m_trkY
Track DOCA Y (?)
std::vector< int > * m_eclShowerToMC5Moth
Mother index of fifth MCParticle related to ECLShower.
std::vector< double > * m_eclPureCalDigitAmp
CalDigit amplitude, PureCsI option.
std::vector< int > * m_eclPureCalDigitToLM
Index of LM related to that CalDigit, PureCsI option.
std::vector< int > * m_eclCalDigitIdx
ECLCalDigit index.
std::vector< int > * m_eclSimHitIdx
Index of ECLSimHit.
std::vector< int > * m_eclClusterToMC2PDG
PDG code of second MCParticle related to ECLCluster.
StoreArray< ECLConnectedRegion > m_eclPureConnectedRegions
Store array: ECLPureConnectedRegion.
std::vector< int > * m_eclPureDigitCellId
Number of ECLDigit CellId, PureCsI option.
std::vector< int > * m_eclDigitFitQuality
ECLDigit fit quality.
int m_eclPureCalDigitMultip
Number of ECLCalDigits per event, PureCsI option.
std::vector< double > * m_eclPureClusterLat
Cluster shape parameter LAT, PureCsI option.
std::vector< int > * m_eclPureClusterToMC4PDG
PDG code of fourth MCParticle related to ECLCluster, PureCsI option.
std::vector< int > * m_eclShowerMCFFlightMatch
Int, 1 if primary particle flight direction is "well" reconstructed in ECL, 0 otherwise,...
std::vector< int > * m_eclCalDigitToMC1PDG
PDG code of first MCParticle related to ECLCalDigit.
std::vector< double > * m_eclCalDigitAmp
ECLCalDigit amplitude.
std::vector< double > * m_mcPx
MCParticle momentum X direction.
std::vector< int > * m_eclShowerToMC2MothPDG
PDG code of parent of first MCParticle related to ECLShower.
std::vector< int > * m_eclpidNCrystals
PID track number of crystals.
std::vector< int > * m_mcIdx
MCParticle index.
StoreArray< ECLShower > m_eclPureShowers
Store array: ECLPureShower.
std::vector< int > * m_eclPureClusterToMC1PDG
PDG code of first MCParticle related to ECLCluster, PureCsI option.
std::vector< double > * m_eclShowerZernikeMVA
Shower ZernikeMVA.
std::vector< double > * m_eclPureClusterAbsZernike40
Reconstructed Zernike40, PureCsI option.
std::vector< double > * m_eclPureClusterSecondMoment
Reconstructed Cluster Second Moment, PureCsI option.
int m_eclPureDigitMultip
Number of ECLDigits per event, PureCsI option.
virtual const char * eclDigitArrayName() const
Default name ECLDigits array.
std::vector< double > * m_eclClusterTiming
ECLCluster time.
std::vector< int > * m_eclCalDigitCellId
Number of ECLCalDigit CellId.
std::vector< double > * m_mcProdVtxX
MCParticle production vertex X.
std::vector< double > * m_eclShowerEnergy
Shower Energy.
StoreArray< ECLHit > m_eclHits
Store array: ECLHit.
std::vector< int > * m_eclPureCRIdx
Connected Region ID, PureCsI option.
std::vector< double > * m_eclCRLikelihoodMergedPi0
Connected Region Merged Pi0 Likelihood.
virtual const char * eclConnectedRegionArrayName() const
Default name ECLConnectedRegions array.
std::vector< int > * m_eclShowerToMC5MothPDG
PDG code of parent of fifth MCParticle related to ECLShower.
std::vector< double > * m_eclPureClusterToMCWeight2
Energy contribution of second MCParticle related to ECLCluster, PureCsI option.
std::vector< double > * m_trkX
Track DOCA X (?)
std::vector< double > * m_eclPureClusterToMCWeight3
Energy contribution of third MCParticle related to ECLCluster, PureCsI option.
int m_eclClusterMultip
Number of ECLClusters per event.
std::vector< double > * m_eclShowerLateralEnergy
Shower Lateral Energy.
std::vector< double > * m_mcPz
MCParticle momentum Z direction.
std::vector< int > * m_eclPureClusterHasNeutralHadronHypothesis
Cluster has neutral hadron hypothesis, PureCsI option.
std::vector< double > * m_eclPureCalDigitSimHitSum
Full energy contribution related to CalDigit, PureCsI option.
std::vector< int > * m_eclCalDigitToMC5
Index of fifth MCParticle related to ECLCalDigit.
std::vector< double > * m_eclClusterHighestE
Highest energy deposit (per crystal) in ECLCluster.
std::vector< int > * m_eclPureDigitAmp
ECLDigit amplitude, PureCsI option.
std::vector< int > * m_eclCRIsTrack
Int for Connected Region - Track Match.
std::vector< int > * m_eclShowerConnectedRegionId
Matched Connetcted Region Idx.
virtual const char * eclCalDigitArrayName() const
Default name ECLCalDigits array.
std::vector< double > * m_eclPureClusterToMCWeight4
Energy contribution of fourth MCParticle related to ECLCluster, PureCsI option.
std::vector< double > * m_eclPureClusterPhiError
Cluster error on azimuthal direction, PureCsI option.
bool m_doTracking
if true, info on tracking will be stored, job will fail if doTracking==1 and the tracking modules are...
std::vector< double > * m_eclShowerAbsZernike51
Shower Zernike51 Moment.
std::vector< double > * m_eclShowerR
Shower R.
std::vector< int > * m_eclPureClusterToMC1
Index of first MCParticle related to ECLCluster, PureCsI option.
std::vector< double > * m_eclShowerToMCWeight5
Energy contribution of fifth MCParticle related to ECLShower.
std::vector< double > * m_eclHitTimeAve
ECLHit time.
StoreArray< ECLCluster > m_eclPureClusters
Store array: ECLPureCluster.
int m_eclLMMultip
Local Maxima multiplicity.
std::vector< int > * m_eclSimHitPdg
PDG code of MCParticle associated to that ECLDigit.
virtual const char * eclPureLocalMaximumArrayName() const
Default name ECLPureLocalMaxima array.
std::vector< double > * m_trkPhi
Track azimuthal direction.
std::vector< int > * m_eclCalDigitToMC3PDG
PDG code of third MCParticle related to ECLCalDigit.
std::vector< int > * m_eclDigitCellId
Number of ECLDigit CellId.
std::vector< double > * m_eclPureCalDigitToMCWeight1
Energy contribution of first MCParticle related to CalDigit, PureCsI option.
std::vector< double > * m_eclPureClusterR
Cluster distance from IP, PureCsI option.
std::vector< double > * m_eclPureClusterTheta
Cluster polar direction, PureCsI option.
std::vector< double > * m_trkTheta
Track polar direction.
std::vector< double > * m_eclLogLikeMu
PID track muon likelihood.
std::vector< int > * m_eclCalDigitToMC4PDG
PDG code of fourth MCParticle related to ECLCalDigit.
std::vector< int > * m_eclPureClusterToMC4
Index of fourth MCParticle related to ECLCluster, PureCsI option.
std::vector< int > * m_eclPureClusterIdx
ECLCluster index, PureCsI option.
std::vector< double > * m_eclClusterEnergy
ECLCluster energy.
virtual const char * eclPureShowerArrayName() const
Default name ECLPureShower array.
std::vector< int > * m_eclShowerToMC1
Index of first MCParticle related to ECLShower.
std::vector< double > * m_eclSimHitPy
ECLSimHit PY.
std::vector< int > * m_eclCalDigitToLM
Index of LM related to that ECLCalDigit.
std::vector< double > * m_eclClusterClosestTrackDist
Flag for charged clusters.
std::vector< double > * m_eclSimHitY
ECLSimHit Y position.
std::vector< double > * m_eclPureCRLikelihoodChargedHadron
Connected Region Charged Hadron Likelihood, PureCsI option.
int m_eclSimHitMultip
Number of ECLSimHits per event.
TFile * m_rootFilePtr
members of ECLReconstructor Module
std::vector< double > * m_eclClusterLAT
Reconstructed LAT.
std::vector< double > * m_eclShowerHighestE1mE2
Energy difference for 2 highest energy deposits in shower.
std::vector< double > * m_eclClusterDeltaTime99
DeltaTime99.
std::vector< int > * m_eclHitCellId
ECLHit CellID.
std::vector< int > * m_mcSecondaryPhysProc
Flag for secondary physics process.
std::vector< int > * m_eclShowerToMC1Moth
Mother index of first MCParticle related to ECLShower.
std::vector< double > * m_eclShowerE1oE9
Shower E1/E9.
std::vector< int > * m_eclShowerToMC3
Index of third MCParticle related to ECLShower.
std::vector< int > * m_eclShowerToMC1GMothPDG
PDG code of Gparent of first MCParticle related to ECLShower.
std::vector< double > * m_mcProdVtxY
MCParticle production vertex Y.
std::vector< double > * m_eclClusterSecondMoment
Reconstructed Second Moment.
std::vector< double > * m_eclPureClusterEnergyError
Cluster energy error, PureCsI option.
std::vector< int > * m_eclShowerToMC2GMoth
GMother index of second MCParticle related to ECLShower.
std::vector< double > * m_eclClusterE9oE21
Ratio of 3x3 over 5x5 crystal matrices energies for ECLCluster.
std::vector< int > * m_eclPureLMId
Local Maximum ID, PureCsI option.
virtual const char * eclPureCalDigitArrayName() const
Default name ECLPureCalDigits array.
std::vector< int > * m_eclShowerToMC4PDG
PDG code of fourth MCParticle related to ECLShower.
std::vector< int > * m_eclCalDigitToMC1
Index of first MCParticle related to ECLCalDigit.
std::vector< double > * m_eclPureClusterPhi
Cluster azimuthal direction, PureCsI option.
std::vector< int > * m_eclClusterCrystalHealth
Crystal health flag.
std::vector< bool > * m_eclClusterIsTrack
Flag for charged clusters.
virtual const char * eclPureConnectedRegionArrayName() const
Default name ECLPureConnectedRegions array.
std::vector< int > * m_eclClusterToShower
Index of ECLShower related to ECLCluster.
std::vector< double > * m_eclCalDigitToMCWeight3
Energy contribution of third MCParticle related to ECLCalDigit.
StoreArray< ECLCalDigit > m_eclCalDigits
Store array: ECLCalDigit.
std::vector< double > * m_eclpidE9E21
PID track ration of 3x3 over 5x5 crystal matrices energies.
std::vector< int > * m_eclPureCRIsTrack
Int for Connected Region - Track Match, PureCsI option.
std::vector< double > * m_eclCRLikelihoodNGamma
Connected Region Gamma Likelihood.
std::vector< int > * m_eclPureDigitTimeFit
ECLDigit timing, PureCsI option.
std::vector< int > * m_eclPureCalDigitToMC5
Index of fifth MCParticle related to CalDigit, PureCsI option.
std::vector< int > * m_trkPdg
Track PDG code.
std::vector< double > * m_eclPureCalDigitToMCWeight3
Energy contribution of third MCParticle related to CalDigit, PureCsI option.
std::vector< double > * m_eclClusterDeltaL
Reconstructed Cluster DeltaL.
std::vector< int > * m_mcGGMothPdg
MCParticle greand-grandmother particle PDG code.
std::vector< int > * m_eclShowerToMC1MothPDG
PDG code of parent of first MCParticle related to ECLShower.
std::vector< int > * m_eclPureClusterCrystalHealth
Crystal health flag, PureCsI option.
std::vector< double > * m_eclShowerPhiError
Shower Phi Error.
std::vector< double > * m_eclpidEop
PID track E/p.
std::vector< int > * m_eclShowerToMC1GMoth
GMother index of first MCParticle related to ECLShower.
std::vector< double > * m_eclShowerAbsZernike40
Shower Zernike40 Moment.
std::vector< double > * m_eclShowerNHits
Shower NHits.
int m_eclShowerMultip
Number of ECLShowers per event.
std::vector< double > * m_eclClusterToMCWeight3
Energy contribution of third MCParticle related to ECLCluster.
void setDescription(const std::string &description)
Sets the description of the module.
Definition Module.cc:214
Module()
Constructor.
Definition Module.cc:30
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:559

◆ ~ECLDataAnalysisModule()

~ECLDataAnalysisModule ( )
overridevirtual

Destructor of the module.

Definition at line 435 of file ECLDataAnalysisModule.cc.

436{
437}

Member Function Documentation

◆ beginRun()

virtual void beginRun ( void )
inlinevirtualinherited

Called when entering a new run.

Called at the beginning of each run, the method gives you the chance to change run dependent constants like alignment parameters, etc.

This method can be implemented by subclasses.

Reimplemented in AnalysisPhase1StudyModule, ARICHBackgroundModule, arichBtestModule, ARICHDigitizerModule, ARICHDQMModule, ARICHRateCalModule, ARICHReconstructorModule, AWESOMEBasicModule, B2BIIConvertBeamParamsModule, B2BIIConvertMdstModule, B2BIIFixMdstModule, B2BIIMCParticlesMonitorModule, B2BIIMdstInputModule, BeamabortModule, BeamabortStudyModule, BeamDigitizerModule, BeamBkgHitRateMonitorModule, BeamBkgNeutronModule, BeamSpotMonitorModule, BelleMCOutputModule, BgoDigitizerModule, BgoModule, BgoStudyModule, BGOverlayInputModule, BKLMDigitAnalyzerModule, BKLMSimHistogrammerModule, BKLMTrackingModule, CalibrationCollectorModule, CATFinderModule, CaveModule, CDCCosmicAnalysisModule, CDCPackerModule, CDCUnpackerModule, CDCDedxDQMModule, CDCDedxValidationModule, cdcDQM7Module, CDCDQMModule, CDCTrigger2DFinderModule, CDCTriggerNDFinderModule, CDCTriggerNeuroDQMModule, CDCTriggerNeuroDQMOnlineModule, CDCTriggerTSFModule, CDCTriggerUnpackerModule, CertifyParallelModule, ChargedPidMVAModule, ChargedPidMVAMulticlassModule, ClawDigitizerModule, ClawModule, ClawStudyModule, ClawsDigitizerModule, CLAWSModule, ClawsStudyModule, Convert2RawDetModule, CreateFieldMapModule, CsiDigitizer_v2Module, CsIDigitizerModule, CsiModule, CsiStudy_v2Module, CsIStudyModule, CurlTaggerModule, DAQMonitorModule, DAQPerfModule, DelayDQMModule, DeSerializerPXDModule, DetectorOccupanciesDQMModule, DosiDigitizerModule, DosiModule, DosiStudyModule, DQMHistAnalysisARICHModule, DQMHistAnalysisCDCDedxModule, DQMHistAnalysisCDCEpicsModule, DQMHistAnalysisCDCMonObjModule, DQMHistAnalysisDAQMonObjModule, DQMHistAnalysisDeltaEpicsMonObjExampleModule, DQMHistAnalysisDeltaTestModule, DQMHistAnalysisECLConnectedRegionsModule, DQMHistAnalysisECLModule, DQMHistAnalysisECLShapersModule, DQMHistAnalysisECLSummaryModule, DQMHistAnalysisEcmsMonObjModule, DQMHistAnalysisEpicsExampleModule, DQMHistAnalysisEpicsOutputModule, DQMHistAnalysisEventT0EfficiencyModule, DQMHistAnalysisEventT0TriggerJitterModule, DQMHistAnalysisExampleFlagsModule, DQMHistAnalysisExampleModule, DQMHistAnalysisHLTModule, DQMHistAnalysisInput2Module, DQMHistAnalysisInputPVSrvModule, DQMHistAnalysisInputRootFileModule, DQMHistAnalysisInputTestModule, DQMHistAnalysisKLM2Module, DQMHistAnalysisKLMModule, DQMHistAnalysisKLMMonObjModule, DQMHistAnalysisMiraBelleModule, DQMHistAnalysisOutputMonObjModule, DQMHistAnalysisOutputRelayMsgModule, DQMHistAnalysisPeakModule, DQMHistAnalysisPhysicsModule, DQMHistAnalysisPXDBowModule, DQMHistAnalysisPXDChargeModule, DQMHistAnalysisPXDCMModule, DQMHistAnalysisPXDDAQModule, DQMHistAnalysisPXDEffModule, DQMHistAnalysisPXDERModule, DQMHistAnalysisPXDFitsModule, DQMHistAnalysisPXDInjectionModule, DQMHistAnalysisPXDReductionModule, DQMHistAnalysisPXDTrackChargeModule, DQMHistAnalysisRooFitExampleModule, DQMHistAnalysisRunNrModule, DQMHistAnalysisSVDClustersOnTrackModule, DQMHistAnalysisSVDDoseModule, DQMHistAnalysisSVDEfficiencyModule, DQMHistAnalysisSVDOccupancyModule, DQMHistAnalysisSVDOnMiraBelleModule, DQMHistAnalysisSVDUnpackerModule, DQMHistAnalysisTOPModule, DQMHistAnalysisTrackingAbortModule, DQMHistAnalysisTrackingHLTModule, DQMHistAnalysisTRGECLModule, DQMHistAnalysisTRGGDLModule, DQMHistAnalysisTRGModule, DQMHistAutoCanvasModule, DQMHistComparitorModule, DQMHistDeltaHistoModule, DQMHistInjectionModule, DqmHistoManagerModule, DQMHistoModuleBase, DQMHistOutputToEPICSModule, DQMHistReferenceModule, DQMHistSnapshotsModule, Ds2RawFileModule, Ds2RawModule, Ds2RbufModule, Ds2SampleModule, ECLDQMInjectionModule, EclBackgroundStudyModule, ECLChargedPIDModule, ECLChargedPIDMVAModule, ECLClusterPSDModule, ECLCovarianceMatrixModule, ECLCRFinderModule, ECLDigitCalibratorModule, ECLDigitizerModule, EclDisplayModule, ECLDQMConnectedRegionsModule, ECLDQMEXTENDEDModule, ECLDQMModule, ECLDQMOutOfTimeDigitsModule, ECLExpertModule, ECLFinalizerModule, ECLLocalMaximumFinderModule, ECLLocalRunCalibratorModule, ECLPackerModule, ECLShowerCorrectorModule, ECLShowerShapeModule, ECLSplitterN1Module, ECLSplitterN2Module, ECLUnpackerModule, ECLWaveformFitModule, EffPlotsModule, ElapsedTimeModule, EnergyBiasCorrectionModule, EventInfoPrinterModule, EventLimiterModule, EventsOfDoomBusterModule, EventT0DQMModule, EventT0ValidationModule, EvReductionModule, EvtGenDecayModule, EvtGenInputModule, ExportGeometryModule, ExtModule, FANGSDigitizerModule, FANGSModule, FANGSStudyModule, FastRbuf2DsModule, FlippedRecoTracksMergerModule, FlipQualityModule, TRGGDLUnpackerModule, GearboxModule, GenRawSendModule, GetEventFromSocketModule, GRLNeuroModule, He3DigitizerModule, He3tubeModule, He3tubeStudyModule, HistoManagerModule, HLTDQM2ZMQModule, IoVDependentConditionModule, IPDQMModule, KinkFinderModule, KKGenInputModule, KLMDigitizerModule, KLMDigitTimeShifterModule, KLMDQM2Module, KLMDQMModule, KLMEventT0EstimatorModule, KLMExpertModule, KLMMuonIDDNNExpertModule, KLMPackerModule, KLMReconstructorModule, KLMTrackingModule, KLMTriggerModule, KLMUnpackerModule, LowEnergyPi0IdentificationExpertModule, LowEnergyPi0VetoExpertModule, MaterialScanModule, MCMatcherTRGECLModule, MCTrackCandClassifierModule, MicrotpcModule, MicrotpcStudyModule, TpcDigitizerModule, MonitorDataModule, MuidModule, MVAExpertModule, MVAMultipleExpertsModule, MVAPrototypeModule, NtuplePhase1_v6Module, OverrideGenerationFlagsModule, PartialSeqRootReaderModule, ParticleVertexFitterModule, Ph1bpipeModule, Ph1sustrModule, PhotonEfficiencySystematicsModule, PhysicsObjectsDQMModule, PhysicsObjectsMiraBelleBhabhaModule, PhysicsObjectsMiraBelleDst2Module, PhysicsObjectsMiraBelleDstModule, PhysicsObjectsMiraBelleEcmsBBModule, PhysicsObjectsMiraBelleHadronModule, PhysicsObjectsMiraBelleModule, PhysicsObjectsMiraBelleTauModule, PinDigitizerModule, PindiodeModule, PindiodeStudyModule, PlumeDigitizerModule, PlumeModule, ProgressModule, PXDBgTupleProducerModule, PXDClusterizerModule, PXDDAQDQMModule, PXDDigitizerModule, PXDGatedDHCDQMModule, PXDGatedModeDQMModule, PXDInjectionDQMModule, PXDMCBgTupleProducerModule, PXDPackerModule, PXDRawDQMChipsModule, PXDRawDQMModule, PXDROIDQMModule, PXDUnpackerModule, PXDclusterFilterModule, PXDdigiFilterModule, PXDDQMBowingModule, PXDDQMClustersModule, PXDDQMCorrModule, PXDDQMEfficiencyModule, PXDDQMEfficiencySelftrackModule, PXDDQMExpressRecoModule, PXDPerformanceModule, PXDRawDQMCorrModule, PXDROIFinderAnalysisModule, PXDROIFinderModule, PXDTrackClusterDQMModule, PyModule, QcsmonitorDigitizerModule, QcsmonitorModule, QcsmonitorStudyModule, QualityEstimatorVXDModule, RandomBarrierModule, Raw2DsModule, RawInputModule, Rbuf2DsModule, Rbuf2RbufModule, ReceiveEventModule, RecoTracksReverterModule, ReprocessorModule, RxSocketModule, SecMapTrainerBaseModule, SecMapTrainerVXDTFModule, SegmentNetworkProducerModule, SeqRootInputModule, SeqRootMergerModule, SeqRootOutputModule, SerializerModule, SoftwareTriggerHLTDQMModule, SoftwareTriggerModule, StatisticsTimingHLTDQMModule, SPTCmomentumSeedRetrieverModule, SPTCvirtualIPRemoverModule, SrsensorModule, StatisticsSummaryModule, StorageDeserializerModule, StorageSerializerModule, SubEventModule, SVDClusterizerModule, SVDDigitizerModule, SVDDQMDoseModule, SVDDQMInjectionModule, SVDMissingAPVsClusterCreatorModule, SVDPackerModule, SVDRecoDigitCreatorModule, SVDUnpackerModule, SVDB4CommissioningPlotsModule, SVDClusterCalibrationsMonitorModule, SVDClusterEvaluationModule, SVDDataFormatCheckModule, SVDDQMClustersOnTrackModule, SVDDQMExpressRecoModule, SVDDQMHitTimeModule, svdDumpModule, SVDEventInfoSetterModule, SVDEventT0EstimatorModule, SVDHotStripFinderModule, SVDLatencyCalibrationModule, SVDLocalCalibrationsCheckModule, SVDLocalCalibrationsMonitorModule, SVDMaxStripTTreeModule, SVDOccupancyAnalysisModule, SVDPerformanceModule, SVDPerformanceTTreeModule, SVDPositionErrorScaleFactorImporterModule, SVDROIFinderAnalysisModule, SVDROIFinderModule, SVDSpacePointCreatorModule, SVDTimeCalibrationsMonitorModule, SVDTimeGroupingModule, SVDUnpackerDQMModule, SwitchDataStoreModule, TOPBackgroundModule, TOPBunchFinderModule, TOPChannelMaskerModule, TOPDigitizerModule, TOPDoublePulseGeneratorModule, TOPDQMModule, TOPModuleT0CalibratorModule, TOPRawDigitConverterModule, TOPTimeRecalibratorModule, TOPUnpackerModule, TrackAnaModule, TrackCreatorModule, TrackFinderMCTruthRecoTracksModule, TrackFinderVXDBasicPathFinderModule, TrackFinderVXDCellOMatModule, TrackingAbortDQMModule, TrackingEnergyLossCorrectionModule, TrackingMomentumScaleFactorsModule, TrackingPerformanceEvaluationModule, FindletModule< AFindlet >, FindletModule< AsicBackgroundLibraryCreator >, FindletModule< AxialSegmentPairCreator >, FindletModule< AxialSegmentPairCreator >, FindletModule< AxialStraightTrackFinder >, FindletModule< AxialStraightTrackFinder >, FindletModule< AxialTrackCreatorMCTruth >, FindletModule< AxialTrackCreatorMCTruth >, FindletModule< AxialTrackCreatorSegmentHough >, FindletModule< AxialTrackCreatorSegmentHough >, FindletModule< AxialTrackFinderHough >, FindletModule< AxialTrackFinderHough >, FindletModule< AxialTrackFinderLegendre >, FindletModule< AxialTrackFinderLegendre >, FindletModule< CDCHitsRemover >, FindletModule< CDCTrackingEventLevelMdstInfoFillerFromHitsFindlet >, FindletModule< CDCTrackingEventLevelMdstInfoFillerFromSegmentsFindlet >, FindletModule< CKFToCDCFindlet >, FindletModule< CKFToCDCFromEclFindlet >, FindletModule< CKFToPXDFindlet >, FindletModule< CKFToSVDFindlet >, FindletModule< CKFToSVDSeedFindlet >, FindletModule< ClusterBackgroundDetector >, FindletModule< ClusterBackgroundDetector >, FindletModule< ClusterPreparer >, FindletModule< ClusterPreparer >, FindletModule< ClusterRefiner< BridgingWireHitRelationFilter > >, FindletModule< ClusterRefiner< BridgingWireHitRelationFilter > >, FindletModule< CosmicsTrackMergerFindlet >, FindletModule< DATCONFPGAFindlet >, FindletModule< FacetCreator >, FindletModule< FacetCreator >, FindletModule< HitBasedT0Extractor >, FindletModule< HitBasedT0Extractor >, FindletModule< HitReclaimer >, FindletModule< HitReclaimer >, FindletModule< MCVXDCDCTrackMergerFindlet >, FindletModule< MonopoleAxialTrackFinderLegendre >, FindletModule< MonopoleAxialTrackFinderLegendre >, FindletModule< MonopoleStereoHitFinder >, FindletModule< MonopoleStereoHitFinder >, FindletModule< MonopoleStereoHitFinderQuadratic >, FindletModule< MonopoleStereoHitFinderQuadratic >, FindletModule< SegmentCreatorFacetAutomaton >, FindletModule< SegmentCreatorFacetAutomaton >, FindletModule< SegmentCreatorMCTruth >, FindletModule< SegmentCreatorMCTruth >, FindletModule< SegmentFinderFacetAutomaton >, FindletModule< SegmentFinderFacetAutomaton >, FindletModule< SegmentFitter >, FindletModule< SegmentFitter >, FindletModule< SegmentLinker >, FindletModule< SegmentLinker >, FindletModule< SegmentOrienter >, FindletModule< SegmentOrienter >, FindletModule< SegmentPairCreator >, FindletModule< SegmentPairCreator >, FindletModule< SegmentRejecter >, FindletModule< SegmentRejecter >, FindletModule< SegmentTrackCombiner >, FindletModule< SegmentTrackCombiner >, FindletModule< SegmentTripleCreator >, FindletModule< SegmentTripleCreator >, FindletModule< StereoHitFinder >, FindletModule< StereoHitFinder >, FindletModule< SuperClusterCreator >, FindletModule< SuperClusterCreator >, FindletModule< TrackCombiner >, FindletModule< TrackCombiner >, FindletModule< TrackCreatorSegmentPairAutomaton >, FindletModule< TrackCreatorSegmentPairAutomaton >, FindletModule< TrackCreatorSegmentTripleAutomaton >, FindletModule< TrackCreatorSegmentTripleAutomaton >, FindletModule< TrackCreatorSingleSegments >, FindletModule< TrackCreatorSingleSegments >, FindletModule< TrackExporter >, FindletModule< TrackExporter >, FindletModule< TrackFinder >, FindletModule< TrackFinderAutomaton >, FindletModule< TrackFinderCosmics >, FindletModule< TrackFinderSegmentPairAutomaton >, FindletModule< TrackFinderSegmentPairAutomaton >, FindletModule< TrackFinderSegmentTripleAutomaton >, FindletModule< TrackFinderSegmentTripleAutomaton >, FindletModule< TrackFlightTimeAdjuster >, FindletModule< TrackFlightTimeAdjuster >, FindletModule< TrackingUtilities::FindletStoreArrayInput< BaseEventTimeExtractorModuleFindlet< AFindlet > > >, FindletModule< TrackingUtilities::FindletStoreArrayInput< BaseEventTimeExtractorModuleFindlet< AFindlet > > >, FindletModule< TrackLinker >, FindletModule< TrackLinker >, FindletModule< TrackOrienter >, FindletModule< TrackOrienter >, FindletModule< TrackQualityAsserter >, FindletModule< TrackQualityAsserter >, FindletModule< TrackQualityEstimator >, FindletModule< TrackQualityEstimator >, FindletModule< TrackRejecter >, FindletModule< TrackRejecter >, FindletModule< vxdHoughTracking::SVDHoughTracking >, FindletModule< WireHitBackgroundDetector >, FindletModule< WireHitBackgroundDetector >, FindletModule< WireHitCreator >, FindletModule< WireHitCreator >, FindletModule< WireHitPreparer >, FindletModule< WireHitPreparer >, TrackQualityEstimatorMVAModule, TreeFitterModule, TRGCDCETFUnpackerModule, TRGCDCModule, TRGCDCT2DDQMModule, TRGCDCT3DConverterModule, TRGCDCT3DDQMModule, TRGCDCT3DUnpackerModule, TRGCDCTSFUnpackerModule, TRGCDCTSFDQMModule, TRGCDCTSStreamModule, TRGECLBGTCHitModule, TRGECLDQMModule, TRGECLEventTimingDQMModule, TRGECLFAMModule, TRGECLModule, TRGECLQAMModule, TRGECLRawdataAnalysisModule, TRGECLTimingCalModule, TRGECLUnpackerModule, TRGGDLDQMModule, TRGGDLDSTModule, TRGGDLModule, TRGGDLSummaryModule, TRGGRLDQMModule, TRGGRLInjectionVetoFromOverlayModule, TRGGRLMatchModule, TRGGRLModule, TRGGRLProjectsModule, TRGGRLUnpackerModule, TRGRAWDATAModule, TRGTOPDQMModule, TRGTOPTRD2TTSConverterModule, TRGTOPUnpackerModule, TRGTOPUnpackerWaveformModule, TRGTOPWaveformPlotterModule, TTDDQMModule, TxModule, TxSocketModule, V0findingPerformanceEvaluationModule, V0ObjectsDQMModule, VXDMisalignmentModule, vxdDigitMaskingModule, VXDDQMExpressRecoModule, VXDQETrainingDataCollectorModule, VXDQualityEstimatorMVAModule, and VXDSimpleClusterizerModule.

Definition at line 146 of file Module.h.

146{};

◆ 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.

180{
183 newModule->setName(getName());
184 newModule->m_package = m_package;
185 newModule->m_propertyFlags = m_propertyFlags;
186 newModule->m_logConfig = m_logConfig;
187 newModule->m_conditions = m_conditions;
188
189 return newModule;
190}
std::shared_ptr< Module > registerModule(const std::string &moduleName, std::string sharedLibPath="") noexcept(false)
Creates an instance of a module and registers it to the ModuleManager.
static ModuleManager & Instance()
Exception is thrown if the requested module could not be created by the ModuleManager.
void setParameters(const ModuleParamList &params)
Set values for parameters from other parameter list.
const ModuleParamList & getParamList() const
Return module param list.
Definition Module.h:362
const std::string & getName() const
Returns the name of the module.
Definition Module.h:186
const std::string & getType() const
Returns the type of the module (i.e.
Definition Module.cc:41
unsigned int m_propertyFlags
The properties of the module as bitwise or (with |) of EModulePropFlags.
Definition Module.h:511
ModuleParamList m_moduleParamList
List storing and managing all parameter of the module.
Definition Module.h:515
void setName(const std::string &name)
Set the name of the module.
Definition Module.h:213
LogConfig m_logConfig
The log system configuration of the module.
Definition Module.h:513
std::vector< ModuleCondition > m_conditions
Module condition, only non-null if set.
Definition Module.h:520
std::string m_package
Package this module is found in (may be empty).
Definition Module.h:509
std::shared_ptr< Module > ModulePtr
Defines a pointer to a module object as a boost shared pointer.
Definition Module.h:43

◆ def_beginRun()

virtual void def_beginRun ( )
inlineprotectedvirtualinherited

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

Reimplemented in PyModule.

Definition at line 425 of file Module.h.

425{ beginRun(); }

◆ 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 438 of file Module.h.

438{ endRun(); }

◆ def_event()

virtual void def_event ( )
inlineprotectedvirtualinherited

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

Reimplemented in PyModule.

Definition at line 431 of file Module.h.

431{ event(); }

◆ 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 419 of file Module.h.

419{ initialize(); }

◆ def_terminate()

virtual void def_terminate ( )
inlineprotectedvirtualinherited

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

Reimplemented in PyModule.

Definition at line 444 of file Module.h.

444{ terminate(); }

◆ eclCalDigitArrayName()

virtual const char * eclCalDigitArrayName ( ) const
inlineprivatevirtual

Default name ECLCalDigits array.

Definition at line 113 of file ECLDataAnalysisModule.h.

114 { return "ECLCalDigits" ; }

◆ eclClusterArrayName()

virtual const char * eclClusterArrayName ( ) const
inlineprivatevirtual

Default name ECLClusters array.

Definition at line 119 of file ECLDataAnalysisModule.h.

120 { return "ECLClusters" ; }

◆ eclConnectedRegionArrayName()

virtual const char * eclConnectedRegionArrayName ( ) const
inlineprivatevirtual

Default name ECLConnectedRegions array.

Definition at line 122 of file ECLDataAnalysisModule.h.

123 { return "ECLConnectedRegions" ; }

◆ eclDigitArrayName()

virtual const char * eclDigitArrayName ( ) const
inlineprivatevirtual

Default name ECLDigits array.

Definition at line 110 of file ECLDataAnalysisModule.h.

111 { return "ECLDigits" ; }

◆ eclHitArrayName()

virtual const char * eclHitArrayName ( ) const
inlineprivatevirtual

Default name ECLCalDigits array.

Definition at line 107 of file ECLDataAnalysisModule.h.

108 { return "ECLHits" ; }

◆ eclLocalMaximumArrayName()

virtual const char * eclLocalMaximumArrayName ( ) const
inlineprivatevirtual

Default name ECLLocalMaxima array.

Definition at line 125 of file ECLDataAnalysisModule.h.

126 { return "ECLLocalMaximums" ; }

◆ eclPureCalDigitArrayName()

virtual const char * eclPureCalDigitArrayName ( ) const
inlineprivatevirtual

Default name ECLPureCalDigits array.

Definition at line 146 of file ECLDataAnalysisModule.h.

147 { return "ECLCalDigitsPureCsI" ; }

◆ eclPureClusterArrayName()

virtual const char * eclPureClusterArrayName ( ) const
inlineprivatevirtual

Default name ECLPureClusters array.

Definition at line 152 of file ECLDataAnalysisModule.h.

153 { return "ECLClustersPureCsI" ; }

◆ eclPureConnectedRegionArrayName()

virtual const char * eclPureConnectedRegionArrayName ( ) const
inlineprivatevirtual

Default name ECLPureConnectedRegions array.

Definition at line 155 of file ECLDataAnalysisModule.h.

156 { return "ECLConnectedRegionsPureCsI" ; }

◆ eclPureDigitArrayName()

virtual const char * eclPureDigitArrayName ( ) const
inlineprivatevirtual

Default name ECLPureDigits array.

Definition at line 143 of file ECLDataAnalysisModule.h.

144 { return "ECLDigitsPureCsI" ; }

◆ eclPureLocalMaximumArrayName()

virtual const char * eclPureLocalMaximumArrayName ( ) const
inlineprivatevirtual

Default name ECLPureLocalMaxima array.

Definition at line 158 of file ECLDataAnalysisModule.h.

159 { return "ECLLocalMaximumsPureCsI" ; }

◆ eclPureShowerArrayName()

virtual const char * eclPureShowerArrayName ( ) const
inlineprivatevirtual

Default name ECLPureShower array.

Definition at line 149 of file ECLDataAnalysisModule.h.

150 { return "ECLShowersPureCsI" ; }

◆ eclShowerArrayName()

virtual const char * eclShowerArrayName ( ) const
inlineprivatevirtual

Default name ECLShower array.

Definition at line 116 of file ECLDataAnalysisModule.h.

117 { return "ECLShowers" ; }

◆ eclSimHitArrayName()

virtual const char * eclSimHitArrayName ( ) const
inlineprivatevirtual

Default name ECLCalDigits array.

Definition at line 104 of file ECLDataAnalysisModule.h.

105 { return "ECLSimHits" ; }

◆ endRun()

virtual void endRun ( void )
inlinevirtualinherited

This method is called if the current run ends.

Use this method to store information, which should be aggregated over one run.

This method can be implemented by subclasses.

Reimplemented in AlignDQMModule, AnalysisPhase1StudyModule, arichBtestModule, ARICHDQMModule, AWESOMEBasicModule, B2BIIConvertMdstModule, B2BIIMCParticlesMonitorModule, B2BIIMdstInputModule, BeamabortModule, BeamabortStudyModule, BeamDigitizerModule, BeamBkgHitRateMonitorModule, BelleMCOutputModule, BgoDigitizerModule, BgoModule, BgoStudyModule, BKLMDigitAnalyzerModule, BKLMTrackingModule, CalibrationCollectorModule, CaveModule, CDCPackerModule, CDCUnpackerModule, CDCDedxDQMModule, CDCDedxValidationModule, CDCDQMModule, CDCTriggerNDFinderModule, CDCTriggerNeuroDQMModule, CDCTriggerNeuroDQMOnlineModule, CertifyParallelModule, ClawDigitizerModule, ClawModule, ClawStudyModule, ClawsDigitizerModule, CLAWSModule, ClawsStudyModule, Convert2RawDetModule, CsiDigitizer_v2Module, CsIDigitizerModule, CsiModule, CsiStudy_v2Module, CsIStudyModule, DAQPerfModule, DeSerializerPXDModule, DosiDigitizerModule, DosiModule, DosiStudyModule, DQMHistAnalysisARICHModule, DQMHistAnalysisARICHMonObjModule, DQMHistAnalysisCDCDedxModule, DQMHistAnalysisCDCEpicsModule, DQMHistAnalysisCDCMonObjModule, DQMHistAnalysisDAQMonObjModule, DQMHistAnalysisDeltaEpicsMonObjExampleModule, DQMHistAnalysisDeltaTestModule, DQMHistAnalysisECLConnectedRegionsModule, DQMHistAnalysisECLModule, DQMHistAnalysisECLOutOfTimeDigitsModule, DQMHistAnalysisECLShapersModule, DQMHistAnalysisECLSummaryModule, DQMHistAnalysisEcmsMonObjModule, DQMHistAnalysisEpicsExampleModule, DQMHistAnalysisEpicsOutputModule, DQMHistAnalysisEventT0TriggerJitterModule, DQMHistAnalysisExampleFlagsModule, DQMHistAnalysisExampleModule, DQMHistAnalysisHLTMonObjModule, DQMHistAnalysisInput2Module, DQMHistAnalysisInputPVSrvModule, DQMHistAnalysisInputTestModule, DQMHistAnalysisKLM2Module, DQMHistAnalysisKLMModule, DQMHistAnalysisKLMMonObjModule, DQMHistAnalysisMiraBelleModule, DQMHistAnalysisMonObjModule, DQMHistAnalysisOutputFileModule, DQMHistAnalysisOutputMonObjModule, DQMHistAnalysisOutputRelayMsgModule, DQMHistAnalysisPhysicsModule, DQMHistAnalysisPXDChargeModule, DQMHistAnalysisPXDFitsModule, DQMHistAnalysisPXDTrackChargeModule, DQMHistAnalysisRooFitExampleModule, DQMHistAnalysisSVDClustersOnTrackModule, DQMHistAnalysisSVDDoseModule, DQMHistAnalysisSVDEfficiencyModule, DQMHistAnalysisSVDOccupancyModule, DQMHistAnalysisSVDOnMiraBelleModule, DQMHistAnalysisSVDUnpackerModule, DQMHistAnalysisTOPModule, DQMHistAnalysisTRGECLModule, DQMHistAnalysisTRGEFFModule, DQMHistAnalysisTRGGDLModule, DQMHistAnalysisTRGModule, DQMHistComparitorModule, DQMHistDeltaHistoModule, DqmHistoManagerModule, DQMHistOutputToEPICSModule, DQMHistReferenceModule, DQMHistSnapshotsModule, Ds2RawFileModule, Ds2RawModule, Ds2RbufModule, Ds2SampleModule, ECLBackgroundModule, ECLCovarianceMatrixModule, ECLCRFinderModule, ECLFinalizerModule, ECLHitDebugModule, ECLLocalMaximumFinderModule, ECLLocalRunCalibratorModule, ECLShowerCorrectorModule, ECLSplitterN2Module, EffPlotsModule, ElapsedTimeModule, EventInfoPrinterModule, EventT0ValidationModule, EvReductionModule, EvtGenDecayModule, ExtModule, FANGSDigitizerModule, FANGSModule, FANGSStudyModule, FastRbuf2DsModule, TRGGDLUnpackerModule, GenfitVisModule, GenRawSendModule, GetEventFromSocketModule, He3DigitizerModule, He3tubeModule, He3tubeStudyModule, HistoManagerModule, HitXPModule, HLTDQM2ZMQModule, HLTDs2ZMQModule, KLMDigitizerModule, KLMTrackingModule, KLMTriggerModule, MCMatcherTRGECLModule, MCTrackCandClassifierModule, MicrotpcModule, MicrotpcStudyModule, TpcDigitizerModule, TPCStudyModule, MonitorDataModule, MuidModule, NoKickCutsEvalModule, NtuplePhase1_v6Module, OverrideGenerationFlagsModule, PartialSeqRootReaderModule, Ph1bpipeModule, Ph1sustrModule, PhysicsObjectsDQMModule, PinDigitizerModule, PindiodeModule, PindiodeStudyModule, PlumeDigitizerModule, PlumeModule, PrintDataModule, PrintEventRateModule, PXDROIFinderModule, PyModule, QcsmonitorDigitizerModule, QcsmonitorModule, QcsmonitorStudyModule, RandomBarrierModule, Raw2DsModule, RawInputModule, Rbuf2DsModule, Rbuf2RbufModule, ReceiveEventModule, ReprocessorModule, Root2BinaryModule, Root2RawModule, RT2SPTCConverterModule, RxSocketModule, SecMapTrainerBaseModule, SecMapTrainerVXDTFModule, SectorMapBootstrapModule, SeqRootInputModule, SeqRootMergerModule, SeqRootOutputModule, SerializerModule, SPTCmomentumSeedRetrieverModule, SPTCvirtualIPRemoverModule, SrsensorModule, StatisticsSummaryModule, StorageDeserializerModule, StorageRootOutputModule, StorageSerializerModule, SubEventModule, SVDClusterizerModule, SVDRecoDigitCreatorModule, SVDUnpackerModule, SVDB4CommissioningPlotsModule, SVDClusterCalibrationsMonitorModule, SVDClusterEvaluationModule, SVDClusterEvaluationTrueInfoModule, SVDDataFormatCheckModule, svdDumpModule, SVDHotStripFinderModule, SVDLatencyCalibrationModule, SVDLocalCalibrationsMonitorModule, SVDOccupancyAnalysisModule, SVDPerformanceModule, SVDPositionErrorScaleFactorImporterModule, SVDROIDQMModule, SVDROIFinderModule, SVDTimeCalibrationsMonitorModule, SVDUnpackerDQMModule, SwitchDataStoreModule, TOPBackgroundModule, TOPTBCComparatorModule, TOPUnpackerModule, TOPWaveformQualityPlotterModule, TrackAnaModule, TrackFinderMCTruthRecoTracksModule, TrackFinderVXDAnalizerModule, TrackingPerformanceEvaluationModule, FindletModule< AFindlet >, FindletModule< AsicBackgroundLibraryCreator >, FindletModule< AxialSegmentPairCreator >, FindletModule< AxialSegmentPairCreator >, FindletModule< AxialStraightTrackFinder >, FindletModule< AxialStraightTrackFinder >, FindletModule< AxialTrackCreatorMCTruth >, FindletModule< AxialTrackCreatorMCTruth >, FindletModule< AxialTrackCreatorSegmentHough >, FindletModule< AxialTrackCreatorSegmentHough >, FindletModule< AxialTrackFinderHough >, FindletModule< AxialTrackFinderHough >, FindletModule< AxialTrackFinderLegendre >, FindletModule< AxialTrackFinderLegendre >, FindletModule< CDCHitsRemover >, FindletModule< CDCTrackingEventLevelMdstInfoFillerFromHitsFindlet >, FindletModule< CDCTrackingEventLevelMdstInfoFillerFromSegmentsFindlet >, FindletModule< CKFToCDCFindlet >, FindletModule< CKFToCDCFromEclFindlet >, FindletModule< CKFToPXDFindlet >, FindletModule< CKFToSVDFindlet >, FindletModule< CKFToSVDSeedFindlet >, FindletModule< ClusterBackgroundDetector >, FindletModule< ClusterBackgroundDetector >, FindletModule< ClusterPreparer >, FindletModule< ClusterPreparer >, FindletModule< ClusterRefiner< BridgingWireHitRelationFilter > >, FindletModule< ClusterRefiner< BridgingWireHitRelationFilter > >, FindletModule< CosmicsTrackMergerFindlet >, FindletModule< DATCONFPGAFindlet >, FindletModule< FacetCreator >, FindletModule< FacetCreator >, FindletModule< HitBasedT0Extractor >, FindletModule< HitBasedT0Extractor >, FindletModule< HitReclaimer >, FindletModule< HitReclaimer >, FindletModule< MCVXDCDCTrackMergerFindlet >, FindletModule< MonopoleAxialTrackFinderLegendre >, FindletModule< MonopoleAxialTrackFinderLegendre >, FindletModule< MonopoleStereoHitFinder >, FindletModule< MonopoleStereoHitFinder >, FindletModule< MonopoleStereoHitFinderQuadratic >, FindletModule< MonopoleStereoHitFinderQuadratic >, FindletModule< SegmentCreatorFacetAutomaton >, FindletModule< SegmentCreatorFacetAutomaton >, FindletModule< SegmentCreatorMCTruth >, FindletModule< SegmentCreatorMCTruth >, FindletModule< SegmentFinderFacetAutomaton >, FindletModule< SegmentFinderFacetAutomaton >, FindletModule< SegmentFitter >, FindletModule< SegmentFitter >, FindletModule< SegmentLinker >, FindletModule< SegmentLinker >, FindletModule< SegmentOrienter >, FindletModule< SegmentOrienter >, FindletModule< SegmentPairCreator >, FindletModule< SegmentPairCreator >, FindletModule< SegmentRejecter >, FindletModule< SegmentRejecter >, FindletModule< SegmentTrackCombiner >, FindletModule< SegmentTrackCombiner >, FindletModule< SegmentTripleCreator >, FindletModule< SegmentTripleCreator >, FindletModule< StereoHitFinder >, FindletModule< StereoHitFinder >, FindletModule< SuperClusterCreator >, FindletModule< SuperClusterCreator >, FindletModule< TrackCombiner >, FindletModule< TrackCombiner >, FindletModule< TrackCreatorSegmentPairAutomaton >, FindletModule< TrackCreatorSegmentPairAutomaton >, FindletModule< TrackCreatorSegmentTripleAutomaton >, FindletModule< TrackCreatorSegmentTripleAutomaton >, FindletModule< TrackCreatorSingleSegments >, FindletModule< TrackCreatorSingleSegments >, FindletModule< TrackExporter >, FindletModule< TrackExporter >, FindletModule< TrackFinder >, FindletModule< TrackFinderAutomaton >, FindletModule< TrackFinderCosmics >, FindletModule< TrackFinderSegmentPairAutomaton >, FindletModule< TrackFinderSegmentPairAutomaton >, FindletModule< TrackFinderSegmentTripleAutomaton >, FindletModule< TrackFinderSegmentTripleAutomaton >, FindletModule< TrackFlightTimeAdjuster >, FindletModule< TrackFlightTimeAdjuster >, FindletModule< TrackingUtilities::FindletStoreArrayInput< BaseEventTimeExtractorModuleFindlet< AFindlet > > >, FindletModule< TrackingUtilities::FindletStoreArrayInput< BaseEventTimeExtractorModuleFindlet< AFindlet > > >, FindletModule< TrackLinker >, FindletModule< TrackLinker >, FindletModule< TrackOrienter >, FindletModule< TrackOrienter >, FindletModule< TrackQualityAsserter >, FindletModule< TrackQualityAsserter >, FindletModule< TrackQualityEstimator >, FindletModule< TrackQualityEstimator >, FindletModule< TrackRejecter >, FindletModule< TrackRejecter >, FindletModule< vxdHoughTracking::SVDHoughTracking >, FindletModule< WireHitBackgroundDetector >, FindletModule< WireHitBackgroundDetector >, FindletModule< WireHitCreator >, FindletModule< WireHitCreator >, FindletModule< WireHitPreparer >, FindletModule< WireHitPreparer >, TrackSetEvaluatorHopfieldNNDEVModule, TRGCDCETFUnpackerModule, TRGCDCModule, TRGCDCT2DDQMModule, TRGCDCT3DConverterModule, TRGCDCT3DDQMModule, TRGCDCT3DUnpackerModule, TRGCDCTSFUnpackerModule, TRGCDCTSFDQMModule, TRGCDCTSStreamModule, TRGECLBGTCHitModule, TRGECLDQMModule, TRGECLFAMModule, TRGECLModule, TRGECLQAMModule, TRGECLRawdataAnalysisModule, TRGECLTimingCalModule, TRGECLUnpackerModule, TRGGDLDQMModule, TRGGDLDSTModule, TRGGDLModule, TRGGDLSummaryModule, TRGGRLDQMModule, TRGGRLMatchModule, TRGGRLModule, TRGGRLProjectsModule, TRGGRLUnpackerModule, TRGRAWDATAModule, TRGTOPDQMModule, TRGTOPTRD2TTSConverterModule, TRGTOPUnpackerModule, TRGTOPUnpackerWaveformModule, TRGTOPWaveformPlotterModule, TxModule, TxSocketModule, V0findingPerformanceEvaluationModule, vxdDigitMaskingModule, VXDSimpleClusterizerModule, ZMQTxInputModule, and ZMQTxWorkerModule.

Definition at line 165 of file Module.h.

165{};

◆ 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.

97{
98 if (m_conditions.empty()) return false;
99
100 //okay, a condition was set for this Module...
101 if (!m_hasReturnValue) {
102 B2FATAL("A condition was set for '" << getName() << "', but the module did not set a return value!");
103 }
104
105 for (const auto& condition : m_conditions) {
106 if (condition.evaluate(m_returnValue)) {
107 return true;
108 }
109 }
110 return false;
111}
int m_returnValue
The return value.
Definition Module.h:518
bool m_hasReturnValue
True, if the return value is set.
Definition Module.h:517

◆ event()

void event ( void )
overridevirtual

event

Digits

CalDigits

Hit

Clusters

Showers

Pure Digits

Pure Clusters

MC

Tracks

PID

Reimplemented from Module.

Definition at line 861 of file ECLDataAnalysisModule.cc.

862{
863
864 B2DEBUG(1, " ++++++++++++++ ECLDataAnalysisModule");
865
866 //EventLevelClusteringInfo
873
874 if (m_doDigits == 1) {
877 m_eclDigitIdx->clear();
878 m_eclDigitToMC->clear();
879 m_eclDigitCellId->clear();
880 m_eclDigitAmp->clear();
881 m_eclDigitTimeFit->clear();
882 m_eclDigitFitQuality->clear();
883 m_eclDigitToCalDigit->clear();
884
887 m_eclCalDigitCellId->clear();
888 m_eclCalDigitAmp->clear();
889 m_eclCalDigitTimeFit->clear();
891 m_eclCalDigitIdx->clear();
892 m_eclCalDigitToMC1->clear();
894 m_eclCalDigitToMC2->clear();
896 m_eclCalDigitToMC3->clear();
898 m_eclCalDigitToMC4->clear();
900 m_eclCalDigitToMC5->clear();
902 m_eclCalDigitToMC1PDG->clear();
903 m_eclCalDigitToMC2PDG->clear();
904 m_eclCalDigitToMC3PDG->clear();
905 m_eclCalDigitToMC4PDG->clear();
906 m_eclCalDigitToMC5PDG->clear();
908 m_eclCalDigitSimHitSum->clear();
909 m_eclCalDigitToShower->clear();
910 m_eclCalDigitToCR->clear();
911 m_eclCalDigitToLM->clear();
912 }
913
914 m_eclCRIdx->clear();
915 m_eclCRIsTrack->clear();
922
923 if (m_doHits == 1) {
924 //SimHit
926 m_eclSimHitCellId->clear();
927 m_eclSimHitPdg->clear();
928 m_eclSimHitEnergyDep->clear();
929 m_eclSimHitFlightTime->clear();
930 m_eclSimHitIdx->clear();
931 m_eclSimHitToMC->clear();
932 m_eclSimHitX->clear();
933 m_eclSimHitY->clear();
934 m_eclSimHitZ->clear();
935 m_eclSimHitPx->clear();
936 m_eclSimHitPy->clear();
937 m_eclSimHitPz->clear();
938
940 m_eclHitMultip = 0;
941 m_eclHitCellId->clear();
942 m_eclHitEnergyDep->clear();
943 m_eclHitTimeAve->clear();
944 m_eclHitIdx->clear();
945 m_eclHitToMC->clear();
946 m_eclHitToDigit->clear();
947 m_eclHitToDigitAmp->clear();
948 }
949
950 m_eclLMMultip = 0;
951 m_eclLMId->clear();
952 m_eclLMType->clear();
953 m_eclLMCellId->clear();
954
959 m_eclClusterEnergy->clear();
961 m_eclClusterTheta->clear();
962 m_eclClusterThetaError->clear();
963 m_eclClusterPhi->clear();
964 m_eclClusterPhiError->clear();
965 m_eclClusterR->clear();
966 m_eclClusterIdx->clear();
967 m_eclClusterToMC1->clear();
969 m_eclClusterToMC1PDG->clear();
970 m_eclClusterToMC2->clear();
972 m_eclClusterToMC2PDG->clear();
973 m_eclClusterToMC3->clear();
975 m_eclClusterToMC3PDG->clear();
976 m_eclClusterToMC4->clear();
978 m_eclClusterToMC4PDG->clear();
979 m_eclClusterToMC5->clear();
981 m_eclClusterToMC5PDG->clear();
983 m_eclClusterSimHitSum->clear();
985 m_eclClusterTiming->clear();
987 m_eclClusterE9oE21->clear();
988 m_eclClusterHighestE->clear();
989 m_eclClusterCellId->clear();
992 m_eclClusterIsTrack->clear();
994 m_eclClusterDeltaL->clear();
995 m_eclClusterToShower->clear();
998 m_eclClusterZernikeMVA->clear();
999 m_eclClusterE1oE9->clear();
1000 m_eclClusterSecondMoment->clear();
1001 m_eclClusterLAT->clear();
1002 m_eclClusterDeltaTime99->clear();
1006
1009 m_eclShowerIdx->clear();
1010 m_eclShowerToMC1->clear();
1011 m_eclShowerToMCWeight1->clear();
1012 m_eclShowerToMC1PDG->clear();
1013 m_eclShowerToMC1Moth->clear();
1014 m_eclShowerToMC1MothPDG->clear();
1015 m_eclShowerToMC1GMoth->clear();
1016 m_eclShowerToMC1GMothPDG->clear();
1017 m_eclShowerToMC2->clear();
1018 m_eclShowerToMCWeight2->clear();
1019 m_eclShowerToMC2PDG->clear();
1020 m_eclShowerToMC2Moth->clear();
1021 m_eclShowerToMC2MothPDG->clear();
1022 m_eclShowerToMC2GMoth->clear();
1023 m_eclShowerToMC2GMothPDG->clear();
1024 m_eclShowerToMC3->clear();
1025 m_eclShowerToMCWeight3->clear();
1026 m_eclShowerToMC3PDG->clear();
1027 m_eclShowerToMC3Moth->clear();
1028 m_eclShowerToMC3MothPDG->clear();
1029 m_eclShowerToMC3GMoth->clear();
1030 m_eclShowerToMC3GMothPDG->clear();
1031 m_eclShowerToMC4->clear();
1032 m_eclShowerToMCWeight4->clear();
1033 m_eclShowerToMC4PDG->clear();
1034 m_eclShowerToMC4Moth->clear();
1035 m_eclShowerToMC4MothPDG->clear();
1036 m_eclShowerToMC4GMoth->clear();
1037 m_eclShowerToMC4GMothPDG->clear();
1038 m_eclShowerToMC5->clear();
1039 m_eclShowerToMCWeight5->clear();
1040 m_eclShowerToMC5PDG->clear();
1041 m_eclShowerToMC5Moth->clear();
1042 m_eclShowerToMC5MothPDG->clear();
1043 m_eclShowerToMC5GMoth->clear();
1044 m_eclShowerToMC5GMothPDG->clear();
1045 m_eclShowerToBkgWeight->clear();
1046 m_eclShowerToLM1->clear();
1047 m_eclShowerToLM2->clear();
1048 m_eclShowerToLM3->clear();
1049 m_eclShowerToLM4->clear();
1050 m_eclShowerToLM5->clear();
1051 m_eclShowerSimHitSum->clear();
1052 m_eclShowerUncEnergy->clear();
1053 m_eclShowerEnergy->clear();
1054 m_eclShowerTheta->clear();
1055 m_eclShowerPhi->clear();
1056 m_eclShowerR->clear();
1057 m_eclShowerNHits->clear();
1058 m_eclShowerE9oE21->clear();
1059 m_eclShowerTime->clear();
1060 m_eclShowerT99->clear();
1062 m_eclShowerHypothesisId->clear();
1063 m_eclShowerCentralCellId->clear();
1064 m_eclShowerEnergyError->clear();
1065 m_eclShowerThetaError->clear();
1066 m_eclShowerPhiError->clear();
1068 m_eclShowerHighestEnergy->clear();
1069 m_eclShowerLateralEnergy->clear();
1071 m_eclShowerTrkDepth->clear();
1072 m_eclShowerShowerDepth->clear();
1073 m_eclShowerAbsZernike40->clear();
1074 m_eclShowerAbsZernike51->clear();
1075 m_eclShowerZernikeMVA->clear();
1076 m_eclShowerSecondMoment->clear();
1077 m_eclShowerE1oE9->clear();
1078 m_eclShowerIsTrack->clear();
1079 m_eclShowerIsCluster->clear();
1080 m_eclShowerMCVtxInEcl->clear();
1081 m_eclShowerMCFlightMatch->clear();
1083 m_eclShowerHighestE1mE2->clear();
1085
1087 if (m_doPureCsI == true) {
1089 m_eclPureDigitIdx->clear();
1090 m_eclPureDigitToMC->clear();
1091 m_eclPureDigitCellId->clear();
1092 m_eclPureDigitAmp->clear();
1093 m_eclPureDigitTimeFit->clear();
1094 m_eclPureDigitFitQuality->clear();
1095 m_eclPureDigitToCluster->clear();
1096 m_eclHitToPureDigit->clear();
1097 m_eclHitToPureDigitAmp->clear();
1098
1099 //Pure CalDigits
1101 m_eclPureCalDigitCellId->clear();
1102 m_eclPureCalDigitAmp->clear();
1103 m_eclPureCalDigitTimeFit->clear();
1105 m_eclPureCalDigitIdx->clear();
1106 m_eclPureCalDigitToMC1->clear();
1108 m_eclPureCalDigitToMC2->clear();
1110 m_eclPureCalDigitToMC3->clear();
1112 m_eclPureCalDigitToMC4->clear();
1114 m_eclPureCalDigitToMC5->clear();
1124 m_eclPureCalDigitToCR->clear();
1125 m_eclPureCalDigitToLM->clear();
1126
1127 m_eclPureCRIdx->clear();
1128 m_eclPureCRIsTrack->clear();
1135
1137 m_eclPureLMId->clear();
1138 m_eclPureLMType->clear();
1139 m_eclPureLMCellId->clear();
1140
1143 m_eclPureClusterToMC1->clear();
1145 m_eclPureClusterToMC1PDG->clear();
1146 m_eclPureClusterToMC2->clear();
1148 m_eclPureClusterToMC2PDG->clear();
1149 m_eclPureClusterToMC3->clear();
1151 m_eclPureClusterToMC3PDG->clear();
1152 m_eclPureClusterToMC4->clear();
1154 m_eclPureClusterToMC4PDG->clear();
1155 m_eclPureClusterToMC5->clear();
1157 m_eclPureClusterToMC5PDG->clear();
1159 m_eclPureClusterEnergy->clear();
1161 m_eclPureClusterTheta->clear();
1164 m_eclPureClusterPhi->clear();
1165 m_eclPureClusterPhiError->clear();
1166 m_eclPureClusterR->clear();
1167 m_eclPureClusterIdx->clear();
1168 m_eclPureClusterTiming->clear();
1170 m_eclPureClusterE9oE21->clear();
1171 m_eclPureClusterHighestE->clear();
1172 m_eclPureClusterCellId->clear();
1173 m_eclPureClusterLat->clear();
1181 m_eclPureClusterIsTrack->clear();
1182 m_eclPureClusterDeltaL->clear();
1183 m_eclPureClusterE1oE9->clear();
1188 }
1189
1191 m_mcMultip = 0;
1192 m_mcIdx->clear();
1193 m_mcPdg->clear();
1194 m_mcMothPdg->clear();
1195 m_mcGMothPdg->clear();
1196 m_mcGGMothPdg->clear();
1197 m_mcEnergy->clear();
1198 m_mcPx->clear();
1199 m_mcPy->clear();
1200 m_mcPz->clear();
1201 m_mcDecayVtxX->clear();
1202 m_mcDecayVtxY->clear();
1203 m_mcDecayVtxZ->clear();
1204 m_mcProdVtxX->clear();
1205 m_mcProdVtxY->clear();
1206 m_mcProdVtxZ->clear();
1207 m_mcSecondaryPhysProc->clear();
1208
1210 if (m_doTracking == true) {
1211 m_trkMultip = 0;
1212 m_trkIdx->clear();
1213 m_trkPdg->clear();
1214 m_trkCharge->clear();
1215 m_trkPx->clear();
1216 m_trkPy->clear();
1217 m_trkPz->clear();
1218 m_trkP->clear();
1219 m_trkPhi->clear();
1220 m_trkTheta->clear();
1221 m_trkPhi->clear();
1222 m_trkX->clear();
1223 m_trkY->clear();
1224 m_trkZ->clear();
1225
1227 m_eclpidtrkIdx->clear();
1228 m_eclpidEnergy->clear();
1229 m_eclpidEop->clear();
1230 m_eclpidE9E21->clear();
1231 m_eclpidNCrystals->clear();
1232 m_eclpidNClusters->clear();
1233 m_eclLogLikeEl->clear();
1234 m_eclLogLikeMu->clear();
1235 m_eclLogLikePi->clear();
1236 }
1237
1238
1239 if (m_eventmetadata) {
1240 m_iExperiment = m_eventmetadata->getExperiment();
1241 m_iRun = m_eventmetadata->getRun();
1242 m_iEvent = m_eventmetadata->getEvent();
1243 } else {
1244 m_iExperiment = -1;
1245 m_iRun = -1;
1246 m_iEvent = -1;
1247 }
1248
1249 //EventLevelClusteringInfo
1250 m_nECLCalDigitsOutOfTimeFWD = m_eventLevelClusteringInfo->getNECLCalDigitsOutOfTimeFWD();
1251 m_nECLCalDigitsOutOfTimeBarrel = m_eventLevelClusteringInfo->getNECLCalDigitsOutOfTimeBarrel();
1252 m_nECLCalDigitsOutOfTimeBWD = m_eventLevelClusteringInfo->getNECLCalDigitsOutOfTimeBWD();
1253 m_nECLShowersRejectedFWD = m_eventLevelClusteringInfo->getNECLShowersRejectedFWD();
1254 m_nECLShowersRejectedBarrel = m_eventLevelClusteringInfo->getNECLShowersRejectedBarrel();
1255 m_nECLShowersRejectedBWD = m_eventLevelClusteringInfo->getNECLShowersRejectedBWD();
1256
1257 if (m_doDigits == 1) {
1258 //DIGITS
1259 m_eclDigitMultip = m_eclDigits.getEntries();
1260 for (int idigits = 0; idigits < m_eclDigits.getEntries() ; idigits++) {
1261 ECLDigit* aECLDigits = m_eclDigits[idigits];
1262 m_eclDigitIdx->push_back(idigits);
1263 m_eclDigitCellId->push_back(aECLDigits->getCellId());
1264 m_eclDigitAmp->push_back(aECLDigits->getAmp());
1265 m_eclDigitTimeFit->push_back(aECLDigits->getTimeFit());
1266 m_eclDigitFitQuality->push_back(aECLDigits->getQuality());
1267
1268 if (aECLDigits->getRelated<MCParticle>() != (nullptr)) {
1269 const MCParticle* mc_digit = aECLDigits->getRelated<MCParticle>();
1270 m_eclDigitToMC->push_back(mc_digit->getArrayIndex());
1271 } else
1272 m_eclDigitToMC->push_back(-1);
1273
1274 if (aECLDigits->getRelated<ECLCalDigit>() != (nullptr)) {
1275 const ECLCalDigit* cal_digit = aECLDigits->getRelated<ECLCalDigit>();
1276 m_eclDigitToCalDigit->push_back(cal_digit->getArrayIndex());
1277 } else
1278 m_eclDigitToCalDigit->push_back(-1);
1279 }
1280
1281 //CAL DIGITS
1282 m_eclCalDigitMultip = m_eclCalDigits.getEntries();
1283 for (uint icaldigits = 0; icaldigits < (uint)m_eclCalDigits.getEntries() ; icaldigits++) {
1284 ECLCalDigit* aECLCalDigits = m_eclCalDigits[icaldigits];
1285
1286 m_eclCalDigitIdx->push_back(icaldigits);
1287 m_eclCalDigitCellId->push_back(aECLCalDigits->getCellId());
1288 m_eclCalDigitAmp->push_back(aECLCalDigits->getEnergy());
1289 m_eclCalDigitTimeFit->push_back(aECLCalDigits->getTime());
1290 m_eclCalDigitFitQuality->push_back(aECLCalDigits->isFailedFit());
1291
1292 double sumHit = 0;
1293 int idx[10];
1294 for (int i = 0; i < 10; i++)
1295 idx[i] = -1;
1296
1297 double wi[10];
1298 for (int i = 0; i < 10; i++)
1299 wi[i] = -1;
1300
1301 int ii = 0;
1302 sumHit = 0;
1303
1304 auto digitMCRelations = aECLCalDigits->getRelationsTo<MCParticle>();
1305 for (unsigned int i = 0; i < digitMCRelations.size(); ++i) {
1306 if (ii < 10) {
1307 const auto mcParticle = digitMCRelations.object(i);
1308 idx[ii] = mcParticle->getIndex() - 1;
1309 wi[ii] = digitMCRelations.weight(i);
1310 sumHit = sumHit + digitMCRelations.weight(i);
1311 ii++;
1312 }
1313 }
1314
1315 //Re-ordering based on contribution
1316 int y = 0;
1317 while (y < 10) {
1318 for (int i = 0; i < 9; i++) {
1319 if (((idx[i]) > -1) && ((idx[i + 1]) > -1)) {
1320 if (wi[i] < wi[i + 1]) {
1321 int temp = idx[i];
1322 idx[i] = idx[i + 1];
1323 idx[i + 1] = temp;
1324
1325 double wtemp = wi[i];
1326 wi[i] = wi[i + 1];
1327 wi[i + 1] = wtemp;
1328 }
1329 }
1330 }
1331 y++;
1332 }
1333
1334 m_eclCalDigitToBkgWeight->push_back(aECLCalDigits->getEnergy() - sumHit);
1335 m_eclCalDigitSimHitSum->push_back(sumHit);
1336 if (idx[0] > -1) {
1337 m_eclCalDigitToMCWeight1->push_back(wi[0]);
1338 m_eclCalDigitToMC1->push_back(idx[0]);
1339 const MCParticle* amcParticle = m_mcParticles[idx[0]];
1340 m_eclCalDigitToMC1PDG->push_back(amcParticle->getPDG());
1341 } else {
1342 m_eclCalDigitToMCWeight1->push_back(-1);
1343 m_eclCalDigitToMC1->push_back(-1);
1344 m_eclCalDigitToMC1PDG->push_back(-1);
1345 }
1346 if (idx[1] > -1) {
1347 m_eclCalDigitToMCWeight2->push_back(wi[1]);
1348 m_eclCalDigitToMC2->push_back(idx[1]);
1349 const MCParticle* amcParticle = m_mcParticles[idx[1]];
1350 m_eclCalDigitToMC2PDG->push_back(amcParticle->getPDG());
1351 } else {
1352 m_eclCalDigitToMCWeight2->push_back(-1);
1353 m_eclCalDigitToMC2->push_back(-1);
1354 m_eclCalDigitToMC2PDG->push_back(-1);
1355 }
1356 if (idx[2] > -1) {
1357 m_eclCalDigitToMCWeight3->push_back(wi[2]);
1358 m_eclCalDigitToMC3->push_back(idx[2]);
1359 const MCParticle* amcParticle = m_mcParticles[idx[2]];
1360 m_eclCalDigitToMC3PDG->push_back(amcParticle->getPDG());
1361 } else {
1362 m_eclCalDigitToMCWeight3->push_back(-1);
1363 m_eclCalDigitToMC3->push_back(-1);
1364 m_eclCalDigitToMC3PDG->push_back(-1);
1365 }
1366 if (idx[3] > -1) {
1367 m_eclCalDigitToMCWeight4->push_back(wi[3]);
1368 m_eclCalDigitToMC4->push_back(idx[3]);
1369 const MCParticle* amcParticle = m_mcParticles[idx[3]];
1370 m_eclCalDigitToMC4PDG->push_back(amcParticle->getPDG());
1371 } else {
1372 m_eclCalDigitToMCWeight4->push_back(-1);
1373 m_eclCalDigitToMC4->push_back(-1);
1374 m_eclCalDigitToMC4PDG->push_back(-1);
1375 }
1376 if (idx[4] > -1) {
1377 m_eclCalDigitToMCWeight5->push_back(wi[4]);
1378 m_eclCalDigitToMC5->push_back(idx[4]);
1379 const MCParticle* amcParticle = m_mcParticles[idx[4]];
1380 m_eclCalDigitToMC5PDG->push_back(amcParticle->getPDG());
1381 } else {
1382 m_eclCalDigitToMCWeight5->push_back(-1);
1383 m_eclCalDigitToMC5->push_back(-1);
1384 m_eclCalDigitToMC5PDG->push_back(-1);
1385 }
1386
1387 if (aECLCalDigits->getRelated<ECLShower>() != (nullptr)) {
1388 const ECLShower* shower_caldigit = aECLCalDigits->getRelated<ECLShower>();
1389 m_eclCalDigitToShower->push_back(shower_caldigit->getArrayIndex());
1390 } else
1391 m_eclCalDigitToShower->push_back(-1);
1392
1393 if (aECLCalDigits->getRelated<ECLConnectedRegion>() != (nullptr)) {
1394 const ECLConnectedRegion* cr_caldigit = aECLCalDigits->getRelated<ECLConnectedRegion>();
1395 m_eclCalDigitToCR->push_back(cr_caldigit->getCRId());
1396 } else
1397 m_eclCalDigitToCR->push_back(-1);
1398
1399 if (aECLCalDigits->getRelated<ECLLocalMaximum>() != (nullptr)) {
1400 const ECLLocalMaximum* lm_caldigit = aECLCalDigits->getRelated<ECLLocalMaximum>();
1401 m_eclCalDigitToLM->push_back(lm_caldigit->getLMId());
1402 } else
1403 m_eclCalDigitToLM->push_back(-1);
1404
1405 }
1406 }
1407
1408 //CR
1409 int CRmultip = m_eclConnectedRegions.getEntries();
1410 for (int i = 0; i < CRmultip; i++) {
1411 const ECLConnectedRegion* aECLCR = m_eclConnectedRegions[i];
1412 m_eclCRIdx->push_back(aECLCR->getCRId());
1413 m_eclCRIsTrack->push_back(aECLCR->isTrack());
1417 m_eclCRLikelihoodNGamma->push_back(aECLCR->getLikelihoodNGamma());
1420 }
1421
1422 if (m_doHits == 1) {
1423
1424 //SIM HITS
1425 m_eclSimHitMultip = m_eclSimHits.getEntries();
1426 for (int isimhits = 0; isimhits < m_eclSimHits.getEntries() ; isimhits++) {
1427 ECLSimHit* aECLSimHits = m_eclSimHits[isimhits];
1428
1429 m_eclSimHitIdx->push_back(isimhits);
1430 m_eclSimHitCellId->push_back(aECLSimHits->getCellId());
1431 m_eclSimHitPdg->push_back(aECLSimHits->getPDGCode());
1432 m_eclSimHitEnergyDep->push_back(aECLSimHits->getEnergyDep());
1433 m_eclSimHitFlightTime->push_back(aECLSimHits->getFlightTime());
1434 m_eclSimHitX->push_back(aECLSimHits->getPosition().x());
1435 m_eclSimHitY->push_back(aECLSimHits->getPosition().y());
1436 m_eclSimHitZ->push_back(aECLSimHits->getPosition().z());
1437 m_eclSimHitPx->push_back(aECLSimHits->getMomentum().x());
1438 m_eclSimHitPy->push_back(aECLSimHits->getMomentum().y());
1439 m_eclSimHitPz->push_back(aECLSimHits->getMomentum().z());
1440
1441 if (aECLSimHits->getRelated<MCParticle>() != (nullptr)) {
1442 const MCParticle* mc_simhit = aECLSimHits->getRelated<MCParticle>();
1443 m_eclSimHitToMC->push_back(mc_simhit->getArrayIndex());
1444 } else
1445 m_eclSimHitToMC->push_back(-1);
1446 }
1447
1448 //HITS
1449 m_eclHitMultip = m_eclHits.getEntries();
1450 for (int ihits = 0; ihits < m_eclHits.getEntries() ; ihits++) {
1451 ECLHit* aECLHits = m_eclHits[ihits];
1452 m_eclHitIdx->push_back(ihits);
1453 m_eclHitCellId->push_back(aECLHits->getCellId());
1454 m_eclHitEnergyDep->push_back(aECLHits->getEnergyDep());
1455 m_eclHitTimeAve->push_back(aECLHits->getTimeAve());
1456
1457 if (aECLHits->getRelated<ECLDigit>() != (nullptr)) {
1458 const ECLDigit* hit_digit = aECLHits->getRelated<ECLDigit>();
1459 m_eclHitToDigit->push_back(hit_digit->getArrayIndex());
1460 m_eclHitToDigitAmp->push_back(hit_digit->getAmp());
1461 } else {
1462 m_eclHitToDigit->push_back(-1);
1463 m_eclHitToDigitAmp->push_back(-1);
1464 }
1465
1466 if (m_doPureCsI == true) {
1467 if (aECLHits->getRelated<ECLDigit>(eclPureDigitArrayName()) != (nullptr)) {
1468 const ECLDigit* hit_pdigit = aECLHits->getRelated<ECLDigit>(eclPureDigitArrayName());
1469 m_eclHitToPureDigit->push_back(hit_pdigit->getArrayIndex());
1470 m_eclHitToPureDigitAmp->push_back(hit_pdigit->getAmp());
1471 } else {
1472 m_eclHitToPureDigit->push_back(-1);
1473 m_eclHitToPureDigitAmp->push_back(-1);
1474 }
1475 }
1476
1477 if (aECLHits->getRelated<MCParticle>() != (nullptr)) {
1478 const MCParticle* mc_hit = aECLHits->getRelated<MCParticle>();
1479 m_eclHitToMC->push_back(mc_hit->getArrayIndex());
1480 } else
1481 m_eclHitToMC->push_back(-1);
1482 }
1483 }
1484
1485 //LM
1486 m_eclLMMultip = m_eclLocalMaximums.getEntries();
1487 for (unsigned int ilms = 0; ilms < (unsigned int)m_eclLocalMaximums.getEntries() ; ilms++) {
1488 const ECLLocalMaximum* aECLLMs = m_eclLocalMaximums[ilms];
1489 m_eclLMId->push_back(aECLLMs->getLMId());
1490 m_eclLMType->push_back(aECLLMs->getType());
1491 m_eclLMCellId->push_back(aECLLMs->getCellId());
1492 }
1493
1494 //CLUSTERS
1495 m_eclClusterMultip = m_eclClusters.getEntries();
1496 for (unsigned int iclusters = 0; iclusters < (unsigned int)m_eclClusters.getEntries() ; iclusters++) {
1497 ECLCluster* aECLClusters = m_eclClusters[iclusters];
1498 m_eclClusterIdx->push_back(iclusters);
1499
1500 double clusterE = 0.0;
1501 if (aECLClusters->hasHypothesis(ECLCluster::EHypothesisBit::c_nPhotons)) clusterE = aECLClusters->getEnergy(
1503 else clusterE = aECLClusters->getEnergy(ECLCluster::EHypothesisBit::c_neutralHadron);
1504 m_eclClusterEnergy->push_back(clusterE);
1505
1506 m_eclClusterEnergyError->push_back(aECLClusters->getUncertaintyEnergy());
1507 m_eclClusterTheta->push_back(aECLClusters->getTheta());
1508 m_eclClusterThetaError->push_back(aECLClusters->getUncertaintyTheta());
1509 m_eclClusterPhi->push_back(aECLClusters->getPhi());
1510 m_eclClusterPhiError->push_back(aECLClusters->getUncertaintyPhi());
1511 m_eclClusterR->push_back(aECLClusters->getR());
1512 m_eclClusterEnergyDepSum->push_back(aECLClusters->getEnergyRaw());
1513 m_eclClusterTiming->push_back(aECLClusters->getTime());
1514 m_eclClusterTimingError->push_back(aECLClusters->getDeltaTime99());
1515 m_eclClusterE9oE21->push_back(aECLClusters->getE9oE21());
1516 m_eclClusterHighestE->push_back(aECLClusters->getEnergyHighestCrystal());
1517 m_eclClusterCellId->push_back(aECLClusters->getMaxECellId());
1518 m_eclClusterNofCrystals->push_back(aECLClusters->getNumberOfCrystals());
1519 m_eclClusterCrystalHealth->push_back(aECLClusters->getStatus());
1520
1521 m_eclClusterIsTrack->push_back(aECLClusters->isTrack());
1522 m_eclClusterClosestTrackDist->push_back(aECLClusters->getMinTrkDistance());
1523 m_eclClusterDeltaL->push_back(aECLClusters->getDeltaL());
1524
1525 m_eclClusterAbsZernike40->push_back(aECLClusters->getAbsZernike40());
1526 m_eclClusterAbsZernike51->push_back(aECLClusters->getAbsZernike51());
1527 m_eclClusterZernikeMVA->push_back(aECLClusters->getZernikeMVA());
1528 m_eclClusterE1oE9->push_back(aECLClusters->getE1oE9());
1529 m_eclClusterSecondMoment->push_back(aECLClusters->getSecondMoment());
1530 m_eclClusterLAT->push_back(aECLClusters->getLAT());
1531 m_eclClusterDeltaTime99->push_back(aECLClusters->getDeltaTime99());
1532 m_eclClusterDetectorRegion->push_back(aECLClusters->getDetectorRegion());
1535
1536 if (aECLClusters->getRelated<ECLShower>() != (nullptr)) {
1537 const ECLShower* shower_cluster = aECLClusters->getRelated<ECLShower>();
1538 m_eclClusterToShower->push_back(shower_cluster->getArrayIndex());
1539 } else
1540 m_eclClusterToShower->push_back(-1);
1541
1542 //Dump MC Info - Multiple Matching
1543 double sumHit = 0;
1544 int idx[10];
1545 for (int i = 0; i < 10; i++)
1546 idx[i] = -1;
1547
1548 double wi[10];
1549 for (int i = 0; i < 10; i++)
1550 wi[i] = -1;
1551
1552 int ii = 0;
1553 sumHit = 0;
1554
1555 auto clusterMCRelations = aECLClusters->getRelationsTo<MCParticle>();
1556 for (unsigned int i = 0; i < clusterMCRelations.size(); ++i) {
1557 if (ii < 10) {
1558 const auto mcParticle = clusterMCRelations.object(i);
1559 idx[ii] = mcParticle->getIndex() - 1;
1560 wi[ii] = clusterMCRelations.weight(i);
1561 sumHit = sumHit + clusterMCRelations.weight(i);
1562 ii++;
1563 }
1564 }
1565
1566 //Re-ordering based on contribution
1567 int y = 0;
1568 while (y < 10) {
1569 for (int i = 0; i < 9; i++) {
1570 if (((idx[i]) > -1) && ((idx[i + 1]) > -1)) {
1571 if (wi[i] < wi[i + 1]) {
1572 int temp = idx[i];
1573 idx[i] = idx[i + 1];
1574 idx[i + 1] = temp;
1575
1576 double wtemp = wi[i];
1577 wi[i] = wi[i + 1];
1578 wi[i + 1] = wtemp;
1579 }
1580 }
1581 }
1582 y++;
1583 }
1584
1585 m_eclClusterToBkgWeight->push_back(clusterE - sumHit);
1586 m_eclClusterSimHitSum->push_back(sumHit);
1587 if (idx[0] > -1) {
1588 m_eclClusterToMCWeight1->push_back(wi[0]);
1589 m_eclClusterToMC1->push_back(idx[0]);
1590 const MCParticle* amcParticle = m_mcParticles[idx[0]];
1591 m_eclClusterToMC1PDG->push_back(amcParticle->getPDG());
1592 } else {
1593 m_eclClusterToMCWeight1->push_back(-1);
1594 m_eclClusterToMC1->push_back(-1);
1595 m_eclClusterToMC1PDG->push_back(-1);
1596 }
1597 if (idx[1] > -1) {
1598 m_eclClusterToMCWeight2->push_back(wi[1]);
1599 m_eclClusterToMC2->push_back(idx[1]);
1600 const MCParticle* amcParticle = m_mcParticles[idx[1]];
1601 m_eclClusterToMC2PDG->push_back(amcParticle->getPDG());
1602 } else {
1603 m_eclClusterToMCWeight2->push_back(-1);
1604 m_eclClusterToMC2->push_back(-1);
1605 m_eclClusterToMC2PDG->push_back(-1);
1606 }
1607 if (idx[2] > -1) {
1608 m_eclClusterToMCWeight3->push_back(wi[2]);
1609 m_eclClusterToMC3->push_back(idx[2]);
1610 const MCParticle* amcParticle = m_mcParticles[idx[2]];
1611 m_eclClusterToMC3PDG->push_back(amcParticle->getPDG());
1612 } else {
1613 m_eclClusterToMCWeight3->push_back(-1);
1614 m_eclClusterToMC3->push_back(-1);
1615 m_eclClusterToMC3PDG->push_back(-1);
1616 }
1617 if (idx[3] > -1) {
1618 m_eclClusterToMCWeight4->push_back(wi[3]);
1619 m_eclClusterToMC4->push_back(idx[3]);
1620 const MCParticle* amcParticle = m_mcParticles[idx[3]];
1621 m_eclClusterToMC4PDG->push_back(amcParticle->getPDG());
1622 } else {
1623 m_eclClusterToMCWeight4->push_back(-1);
1624 m_eclClusterToMC4->push_back(-1);
1625 m_eclClusterToMC4PDG->push_back(-1);
1626 }
1627 if (idx[4] > -1) {
1628 m_eclClusterToMCWeight5->push_back(wi[4]);
1629 m_eclClusterToMC5->push_back(idx[4]);
1630 const MCParticle* amcParticle = m_mcParticles[idx[4]];
1631 m_eclClusterToMC5PDG->push_back(amcParticle->getPDG());
1632 } else {
1633 m_eclClusterToMCWeight5->push_back(-1);
1634 m_eclClusterToMC5->push_back(-1);
1635 m_eclClusterToMC5PDG->push_back(-1);
1636 }
1637
1638 }
1639
1640 if (m_doPureCsI == true) {
1641
1643 for (int idigits = 0; idigits < m_eclPureDigits.getEntries() ; idigits++) {
1644 ECLDigit* aECLPureDigits = m_eclPureDigits[idigits];
1645
1646 m_eclPureDigitIdx->push_back(idigits);
1647 m_eclPureDigitCellId->push_back(aECLPureDigits->getCellId());
1648 m_eclPureDigitAmp->push_back(aECLPureDigits->getAmp());
1649 m_eclPureDigitTimeFit->push_back(aECLPureDigits->getTimeFit());
1650 m_eclPureDigitFitQuality->push_back(aECLPureDigits->getQuality());
1651
1652 if (aECLPureDigits->getRelated<MCParticle>() != (nullptr)) {
1653 const MCParticle* mc_digit = aECLPureDigits->getRelated<MCParticle>();
1654 m_eclPureDigitToMC->push_back(mc_digit->getArrayIndex());
1655 } else
1656 m_eclPureDigitToMC->push_back(-1);
1657 }
1658
1659 //PURE CAL DIGITS
1661 for (uint icaldigits = 0; icaldigits < (uint)m_eclPureCalDigits.getEntries() ; icaldigits++) {
1662 ECLCalDigit* aECLPureCalDigits = m_eclPureCalDigits[icaldigits];
1663
1664 m_eclPureCalDigitIdx->push_back(icaldigits);
1665 m_eclPureCalDigitCellId->push_back(aECLPureCalDigits->getCellId());
1666 m_eclPureCalDigitAmp->push_back(aECLPureCalDigits->getEnergy());
1667 m_eclPureCalDigitTimeFit->push_back(aECLPureCalDigits->getTime());
1668 m_eclPureCalDigitFitQuality->push_back(aECLPureCalDigits->isFailedFit());
1669
1670 double sumHit = 0;
1671 int idx[10];
1672 for (int i = 0; i < 10; i++)
1673 idx[i] = -1;
1674
1675 double wi[10];
1676 for (int i = 0; i < 10; i++)
1677 wi[i] = -1;
1678
1679 int ii = 0;
1680 sumHit = 0;
1681
1682 auto digitMCRelations = aECLPureCalDigits->getRelationsTo<MCParticle>();
1683 for (unsigned int i = 0; i < digitMCRelations.size(); ++i) {
1684 if (ii < 10) {
1685 const auto mcParticle = digitMCRelations.object(i);
1686 idx[ii] = mcParticle->getIndex() - 1;
1687 wi[ii] = digitMCRelations.weight(i);
1688 sumHit = sumHit + digitMCRelations.weight(i);
1689 ii++;
1690 }
1691 }
1692
1693 //Re-ordering based on contribution
1694 int y = 0;
1695 while (y < 10) {
1696 for (int i = 0; i < 9; i++) {
1697 if (((idx[i]) > -1) && ((idx[i + 1]) > -1)) {
1698 if (wi[i] < wi[i + 1]) {
1699 int temp = idx[i];
1700 idx[i] = idx[i + 1];
1701 idx[i + 1] = temp;
1702
1703 double wtemp = wi[i];
1704 wi[i] = wi[i + 1];
1705 wi[i + 1] = wtemp;
1706 }
1707 }
1708 }
1709 y++;
1710 }
1711
1712 m_eclPureCalDigitToBkgWeight->push_back(aECLPureCalDigits->getEnergy() - sumHit);
1713 m_eclPureCalDigitSimHitSum->push_back(sumHit);
1714 if (idx[0] > -1) {
1715 m_eclPureCalDigitToMCWeight1->push_back(wi[0]);
1716 m_eclPureCalDigitToMC1->push_back(idx[0]);
1717 const MCParticle* amcParticle = m_mcParticles[idx[0]];
1718 m_eclPureCalDigitToMC1PDG->push_back(amcParticle->getPDG());
1719 } else {
1720 m_eclPureCalDigitToMCWeight1->push_back(-1);
1721 m_eclPureCalDigitToMC1->push_back(-1);
1722 m_eclPureCalDigitToMC1PDG->push_back(-1);
1723 }
1724 if (idx[1] > -1) {
1725 m_eclPureCalDigitToMCWeight2->push_back(wi[1]);
1726 m_eclPureCalDigitToMC2->push_back(idx[1]);
1727 const MCParticle* amcParticle = m_mcParticles[idx[1]];
1728 m_eclPureCalDigitToMC2PDG->push_back(amcParticle->getPDG());
1729 } else {
1730 m_eclPureCalDigitToMCWeight2->push_back(-1);
1731 m_eclPureCalDigitToMC2->push_back(-1);
1732 m_eclPureCalDigitToMC2PDG->push_back(-1);
1733 }
1734 if (idx[2] > -1) {
1735 m_eclPureCalDigitToMCWeight3->push_back(wi[2]);
1736 m_eclPureCalDigitToMC3->push_back(idx[2]);
1737 const MCParticle* amcParticle = m_mcParticles[idx[2]];
1738 m_eclPureCalDigitToMC3PDG->push_back(amcParticle->getPDG());
1739 } else {
1740 m_eclPureCalDigitToMCWeight3->push_back(-1);
1741 m_eclPureCalDigitToMC3->push_back(-1);
1742 m_eclPureCalDigitToMC3PDG->push_back(-1);
1743 }
1744 if (idx[3] > -1) {
1745 m_eclPureCalDigitToMCWeight4->push_back(wi[3]);
1746 m_eclPureCalDigitToMC4->push_back(idx[3]);
1747 const MCParticle* amcParticle = m_mcParticles[idx[3]];
1748 m_eclPureCalDigitToMC4PDG->push_back(amcParticle->getPDG());
1749 } else {
1750 m_eclPureCalDigitToMCWeight4->push_back(-1);
1751 m_eclPureCalDigitToMC4->push_back(-1);
1752 m_eclPureCalDigitToMC4PDG->push_back(-1);
1753 }
1754 if (idx[4] > -1) {
1755 m_eclPureCalDigitToMCWeight5->push_back(wi[4]);
1756 m_eclPureCalDigitToMC5->push_back(idx[4]);
1757 const MCParticle* amcParticle = m_mcParticles[idx[4]];
1758 m_eclPureCalDigitToMC5PDG->push_back(amcParticle->getPDG());
1759 } else {
1760 m_eclPureCalDigitToMCWeight5->push_back(-1);
1761 m_eclPureCalDigitToMC5->push_back(-1);
1762 m_eclPureCalDigitToMC5PDG->push_back(-1);
1763 }
1764
1765 if (aECLPureCalDigits->getRelated<ECLShower>() != (nullptr)) {
1766 const ECLShower* shower_caldigit = aECLPureCalDigits->getRelated<ECLShower>();
1767 m_eclPureCalDigitToShower->push_back(shower_caldigit->getArrayIndex());
1768 } else
1769 m_eclPureCalDigitToShower->push_back(-1);
1770
1771 if (aECLPureCalDigits->getRelated<ECLConnectedRegion>(eclPureConnectedRegionArrayName()) != (nullptr)) {
1772 const ECLConnectedRegion* cr_caldigit = aECLPureCalDigits->getRelated<ECLConnectedRegion>(eclPureConnectedRegionArrayName());
1773 m_eclPureCalDigitToCR->push_back(cr_caldigit->getCRId());
1774 } else
1775 m_eclPureCalDigitToCR->push_back(-1);
1776
1777 if (aECLPureCalDigits->getRelated<ECLLocalMaximum>(eclPureLocalMaximumArrayName()) != (nullptr)) {
1778 const ECLLocalMaximum* lm_caldigit = aECLPureCalDigits->getRelated<ECLLocalMaximum>(eclPureLocalMaximumArrayName());
1779 m_eclPureCalDigitToLM->push_back(lm_caldigit->getLMId());
1780 } else
1781 m_eclPureCalDigitToLM->push_back(-1);
1782
1783 }
1784
1785 //CR
1786 int PureCRmultip = m_eclPureConnectedRegions.getEntries();
1787 for (int i = 0; i < PureCRmultip; i++) {
1788 const ECLConnectedRegion* aECLPureCR = m_eclPureConnectedRegions[i];
1789 m_eclPureCRIdx->push_back(aECLPureCR->getCRId());
1790 m_eclPureCRIsTrack->push_back(aECLPureCR->isTrack());
1794 m_eclPureCRLikelihoodNGamma->push_back(aECLPureCR->getLikelihoodNGamma());
1797 }
1798
1799 //LM
1801 for (unsigned int pure_ilms = 0; pure_ilms < (unsigned int)m_eclPureLocalMaximums.getEntries() ; pure_ilms++) {
1802 const ECLLocalMaximum* aECLLMs = m_eclPureLocalMaximums[pure_ilms];
1803 m_eclPureLMId->push_back(aECLLMs->getLMId());
1804 m_eclPureLMType->push_back(aECLLMs->getType());
1805 m_eclPureLMCellId->push_back(aECLLMs->getCellId());
1806 }
1807
1809 for (unsigned int iclusters = 0; iclusters < (unsigned int)m_eclPureClusters.getEntries() ; iclusters++) {
1810 ECLCluster* aECLClusters = m_eclPureClusters[iclusters];
1811 m_eclPureClusterIdx->push_back(iclusters);
1812
1813 double clusterE = 0.0;
1814 if (aECLClusters->hasHypothesis(ECLCluster::EHypothesisBit::c_nPhotons)) clusterE = aECLClusters->getEnergy(
1816 else clusterE = aECLClusters->getEnergy(ECLCluster::EHypothesisBit::c_neutralHadron);
1817 m_eclPureClusterEnergy->push_back(clusterE);
1818
1819 m_eclPureClusterEnergyError->push_back(aECLClusters->getUncertaintyEnergy());
1820 m_eclPureClusterTheta->push_back(aECLClusters->getTheta());
1821 m_eclPureClusterThetaError->push_back(aECLClusters->getUncertaintyTheta());
1822 m_eclPureClusterPhi->push_back(aECLClusters->getPhi());
1823 m_eclPureClusterPhiError->push_back(aECLClusters->getUncertaintyPhi());
1824 m_eclPureClusterR->push_back(aECLClusters->getR());
1825 m_eclPureClusterEnergyDepSum->push_back(aECLClusters->getEnergyRaw());
1826 m_eclPureClusterTiming->push_back(aECLClusters->getTime());
1827 m_eclPureClusterTimingError->push_back(aECLClusters->getDeltaTime99());
1828 m_eclPureClusterE9oE21->push_back(aECLClusters->getE9oE21());
1829 m_eclPureClusterHighestE->push_back(aECLClusters->getEnergyHighestCrystal());
1830 m_eclPureClusterCellId->push_back(aECLClusters->getMaxECellId());
1831 m_eclPureClusterLat->push_back(aECLClusters->getLAT());
1832 m_eclPureClusterNofCrystals->push_back(aECLClusters->getNumberOfCrystals());
1833 m_eclPureClusterCrystalHealth->push_back(aECLClusters->getStatus());
1834
1835 m_eclPureClusterClosestTrackDist->push_back(aECLClusters->getMinTrkDistance());
1836 m_eclPureClusterAbsZernike40->push_back(aECLClusters->getAbsZernike40());
1837 m_eclPureClusterAbsZernike51->push_back(aECLClusters->getAbsZernike51());
1838 m_eclPureClusterZernikeMVA->push_back(aECLClusters->getZernikeMVA());
1839 m_eclPureClusterSecondMoment->push_back(aECLClusters->getSecondMoment());
1840
1841 m_eclPureClusterIsTrack->push_back(aECLClusters->isTrack());
1842 m_eclPureClusterDeltaL->push_back(aECLClusters->getDeltaL());
1843
1844 m_eclPureClusterE1oE9->push_back(aECLClusters->getE1oE9());
1845 m_eclPureClusterDeltaTime99->push_back(aECLClusters->getDeltaTime99());
1846 m_eclPureClusterDetectorRegion->push_back(aECLClusters->getDetectorRegion());
1849
1850 //Dump MC Info - Multiple Matching
1851 double sumHit = 0;
1852 int idx[10];
1853 for (int i = 0; i < 10; i++)
1854 idx[i] = -1;
1855
1856 double wi[10];
1857 for (int i = 0; i < 10; i++)
1858 wi[i] = -1;
1859
1860 int ii = 0;
1861 sumHit = 0;
1862
1863 auto clusterMCRelations = aECLClusters->getRelationsTo<MCParticle>();
1864 for (unsigned int i = 0; i < clusterMCRelations.size(); ++i) {
1865 if (ii < 10) {
1866 const auto mcParticle = clusterMCRelations.object(i);
1867 idx[ii] = mcParticle->getIndex() - 1;
1868 wi[ii] = clusterMCRelations.weight(i);
1869 sumHit = sumHit + clusterMCRelations.weight(i);
1870 ii++;
1871 }
1872 }
1873
1874 //Re-ordering based on contribution
1875 int y = 0;
1876 while (y < 10) {
1877 for (int i = 0; i < 9; i++) {
1878 if (((idx[i]) > -1) && ((idx[i + 1]) > -1)) {
1879 if (wi[i] < wi[i + 1]) {
1880 int temp = idx[i];
1881 idx[i] = idx[i + 1];
1882 idx[i + 1] = temp;
1883
1884 double wtemp = wi[i];
1885 wi[i] = wi[i + 1];
1886 wi[i + 1] = wtemp;
1887 }
1888 }
1889 }
1890 y++;
1891 }
1892
1893 m_eclPureClusterToBkgWeight->push_back(clusterE - sumHit);
1894 if (idx[0] > -1) {
1895 m_eclPureClusterToMCWeight1->push_back(wi[0]);
1896 m_eclPureClusterToMC1->push_back(idx[0]);
1897 const MCParticle* amcParticle = m_mcParticles[idx[0]];
1898 m_eclPureClusterToMC1PDG->push_back(amcParticle->getPDG());
1899 } else {
1900 m_eclPureClusterToMCWeight1->push_back(-1);
1901 m_eclPureClusterToMC1->push_back(-1);
1902 m_eclPureClusterToMC1PDG->push_back(-1);
1903 }
1904 if (idx[1] > -1) {
1905 m_eclPureClusterToMCWeight2->push_back(wi[1]);
1906 m_eclPureClusterToMC2->push_back(idx[1]);
1907 const MCParticle* amcParticle = m_mcParticles[idx[1]];
1908 m_eclPureClusterToMC2PDG->push_back(amcParticle->getPDG());
1909 } else {
1910 m_eclPureClusterToMCWeight2->push_back(-1);
1911 m_eclPureClusterToMC2->push_back(-1);
1912 m_eclPureClusterToMC2PDG->push_back(-1);
1913 }
1914 if (idx[2] > -1) {
1915 m_eclPureClusterToMCWeight3->push_back(wi[2]);
1916 m_eclPureClusterToMC3->push_back(idx[2]);
1917 const MCParticle* amcParticle = m_mcParticles[idx[2]];
1918 m_eclPureClusterToMC3PDG->push_back(amcParticle->getPDG());
1919 } else {
1920 m_eclPureClusterToMCWeight3->push_back(-1);
1921 m_eclPureClusterToMC3->push_back(-1);
1922 m_eclPureClusterToMC3PDG->push_back(-1);
1923 }
1924 if (idx[3] > -1) {
1925 m_eclPureClusterToMCWeight4->push_back(wi[3]);
1926 m_eclPureClusterToMC4->push_back(idx[3]);
1927 const MCParticle* amcParticle = m_mcParticles[idx[3]];
1928 m_eclPureClusterToMC4PDG->push_back(amcParticle->getPDG());
1929 } else {
1930 m_eclPureClusterToMCWeight4->push_back(-1);
1931 m_eclPureClusterToMC4->push_back(-1);
1932 m_eclPureClusterToMC4PDG->push_back(-1);
1933 }
1934 if (idx[4] > -1) {
1935 m_eclPureClusterToMCWeight5->push_back(wi[4]);
1936 m_eclPureClusterToMC5->push_back(idx[4]);
1937 const MCParticle* amcParticle = m_mcParticles[idx[4]];
1938 m_eclPureClusterToMC5PDG->push_back(amcParticle->getPDG());
1939 } else {
1940 m_eclPureClusterToMCWeight5->push_back(-1);
1941 m_eclPureClusterToMC5->push_back(-1);
1942 m_eclPureClusterToMC5PDG->push_back(-1);
1943 }
1944
1945 }
1946 }
1947
1948 m_eclShowerMultip = m_eclShowers.getEntries();
1949 for (uint ishowers = 0; ishowers < (uint)m_eclShowers.getEntries() ; ishowers++) {
1950 ECLShower* aECLShowers = m_eclShowers[ishowers];
1951 m_eclShowerIdx->push_back(ishowers);
1952 m_eclShowerEnergy->push_back(aECLShowers->getEnergy());
1953 m_eclShowerTheta->push_back(aECLShowers->getTheta());
1954 m_eclShowerPhi->push_back(aECLShowers->getPhi());
1955 m_eclShowerR->push_back(aECLShowers->getR());
1956 m_eclShowerNHits->push_back(aECLShowers->getNumberOfCrystals());
1957 m_eclShowerE9oE21->push_back(aECLShowers->getE9oE21());
1958 m_eclShowerUncEnergy->push_back(aECLShowers->getEnergyRaw());
1959 m_eclShowerTime->push_back(aECLShowers->getTime());
1960 m_eclShowerT99->push_back(aECLShowers->getDeltaTime99());
1961 m_eclShowerConnectedRegionId->push_back(aECLShowers->getConnectedRegionId());
1962 m_eclShowerHypothesisId->push_back(aECLShowers->getHypothesisId());
1963 m_eclShowerCentralCellId->push_back(aECLShowers->getCentralCellId());
1964 m_eclShowerEnergyError->push_back(aECLShowers->getUncertaintyEnergy());
1965 m_eclShowerThetaError->push_back(aECLShowers->getUncertaintyTheta());
1966 m_eclShowerPhiError->push_back(aECLShowers->getUncertaintyPhi());
1967 m_eclShowerTimeResolution->push_back(aECLShowers->getDeltaTime99());
1968 m_eclShowerHighestEnergy->push_back(aECLShowers->getEnergyHighestCrystal());
1969 m_eclShowerLateralEnergy->push_back(aECLShowers->getLateralEnergy());
1970 m_eclShowerMinTrkDistance->push_back(aECLShowers->getMinTrkDistance());
1971 m_eclShowerTrkDepth->push_back(aECLShowers->getTrkDepth());
1972 m_eclShowerShowerDepth->push_back(aECLShowers->getShowerDepth());
1973 m_eclShowerAbsZernike40->push_back(aECLShowers->getAbsZernikeMoment(4, 0));
1974 m_eclShowerAbsZernike51->push_back(aECLShowers->getAbsZernikeMoment(5, 1));
1975 m_eclShowerZernikeMVA->push_back(aECLShowers->getZernikeMVA());
1976 m_eclShowerSecondMoment->push_back(aECLShowers->getSecondMoment());
1977 m_eclShowerE1oE9->push_back(aECLShowers->getE1oE9());
1978 m_eclShowerIsTrack->push_back(aECLShowers->getIsTrack());
1980
1981 double fe = 0.;
1982 double se = 0.;
1983
1984 auto showerDigitRelations = aECLShowers->getRelationsTo<ECLCalDigit>();
1985 for (unsigned int i = 0; i < showerDigitRelations.size(); ++i) {
1986 const auto aECLCalDigits = showerDigitRelations.object(i);
1987 if (aECLCalDigits->getEnergy() > fe) {
1988 se = fe;
1989 fe = aECLCalDigits->getEnergy();
1990 }
1991 }
1992 if (fe > 0 && se > 0)
1993 m_eclShowerHighestE1mE2->push_back(fe - se);
1994 else
1995 m_eclShowerHighestE1mE2->push_back(-1);
1996
1997 int lm1[5] = { -1, -1, -1, -1, -1};
1998
1999 auto showerLMRelations = aECLShowers->getRelationsTo<ECLLocalMaximum>();
2000 for (unsigned int i = 0; i < showerLMRelations.size(); ++i) {
2001 const auto aECLLM = showerLMRelations.object(i);
2002 lm1[i] = aECLLM->getLMId();
2003 }
2004 m_eclShowerToLM1->push_back(lm1[0]);
2005 m_eclShowerToLM2->push_back(lm1[1]);
2006 m_eclShowerToLM3->push_back(lm1[2]);
2007 m_eclShowerToLM4->push_back(lm1[3]);
2008 m_eclShowerToLM5->push_back(lm1[4]);
2009
2010 double sumHit = 0;
2011
2012 int idx[10];
2013 for (int i = 0; i < 10; i++)
2014 idx[i] = -1;
2015
2016 double wi[10];
2017 for (int i = 0; i < 10; i++)
2018 wi[i] = -1;
2019
2020 int ii = 0;
2021 sumHit = 0;
2022
2023 auto showerMCRelations = aECLShowers->getRelationsTo<MCParticle>();
2024 for (unsigned int i = 0; i < showerMCRelations.size(); ++i) {
2025 if (ii < 10) {
2026 const auto mcParticle = showerMCRelations.object(i);
2027 idx[ii] = mcParticle->getIndex() - 1;
2028 wi[ii] = showerMCRelations.weight(i);
2029 sumHit = sumHit + showerMCRelations.weight(i);
2030 ii++;
2031 }
2032 }
2033
2034 //Re-ordering based on contribution
2035 int y = 0;
2036 while (y < 10) {
2037 for (int i = 0; i < 9; i++) {
2038 if (((idx[i]) > -1) && ((idx[i + 1]) > -1)) {
2039 if (wi[i] < wi[i + 1]) {
2040 int temp = idx[i];
2041 idx[i] = idx[i + 1];
2042 idx[i + 1] = temp;
2043
2044 double wtemp = wi[i];
2045 wi[i] = wi[i + 1];
2046 wi[i + 1] = wtemp;
2047 }
2048 }
2049 }
2050 y++;
2051 }
2052
2053 int no_Primary = 1;
2054
2055 for (unsigned int i = 0; i < showerMCRelations.size(); ++i) {
2056 const auto mcParticle = showerMCRelations.object(i);
2057 if (mcParticle->getSecondaryPhysicsProcess() == 0 && mcParticle->getPDG() == Const::Klong.getPDGCode()) {
2058 double vtxx = mcParticle->getDecayVertex().X();
2059 double vtxy = mcParticle->getDecayVertex().Y();
2060 double vtxz = mcParticle->getDecayVertex().Z();
2061 if ((TMath::Sqrt(vtxx * vtxx + vtxy * vtxy) > 118) || (vtxz > 196.16) || (vtxz < -102.16))
2062 no_Primary = 0;
2063 } else if (mcParticle->getSecondaryPhysicsProcess() != 0 && mcParticle->getMother()->getPDG() == Const::Klong.getPDGCode()) {
2064 double vtxx = mcParticle->getProductionVertex().X();
2065 double vtxy = mcParticle->getProductionVertex().Y();
2066 double vtxz = mcParticle->getProductionVertex().Z();
2067 if ((TMath::Sqrt(vtxx * vtxx + vtxy * vtxy) > 118) || (vtxz > 196.16) || (vtxz < -102.16))
2068 no_Primary = 0;
2069 }
2070 }
2071
2072 if (no_Primary == 0)
2073 m_eclShowerMCVtxInEcl->push_back(1);
2074 else
2075 m_eclShowerMCVtxInEcl->push_back(0);
2076
2077 double no_fMatch = 0;
2078 double no_fFMatch = 0;
2079
2080 for (unsigned int i = 0; i < showerMCRelations.size(); ++i) {
2081 const auto mcParticle = showerMCRelations.object(i);
2082 if (mcParticle->getSecondaryPhysicsProcess() == 0) {
2083 double vtxx = mcParticle->getDecayVertex().X();
2084 double vtxy = mcParticle->getDecayVertex().Y();
2085 double vtxz = mcParticle->getDecayVertex().Z();
2086 double px = mcParticle->getMomentum().X();
2087 double py = mcParticle->getMomentum().Y();
2088 double pz = mcParticle->getMomentum().Z();
2089 double p = TMath::Sqrt(px * px + py * py + pz * pz);
2090 double pTheta = TMath::ACos(pz / p);
2091 double pPhi = 10.;
2092 if (py > 0) {
2093 if (px > 0)
2094 pPhi = TMath::ATan(py / px);
2095 if (px < 0)
2096 pPhi = TMath::ATan(py / px) + M_PI;
2097 } else {
2098 if (px > 0)
2099 pPhi = TMath::ATan(py / px) ;
2100 if (px < 0)
2101 pPhi = TMath::ATan(py / px) - M_PI;
2102 }
2103 if ((TMath::Sqrt(vtxx * vtxx + vtxy * vtxy) > 118) || (vtxz > 196.16) || (vtxz < -102.16)) {
2104 if (TMath::Abs(aECLShowers->getTheta() - pTheta) < 0.05 && TMath::Abs(aECLShowers->getPhi() - pPhi) < 0.05)
2105 no_fMatch = 1;
2106 no_fFMatch = 1;
2107 }
2108 } else if (mcParticle->getMother()->getPDG() == Const::Klong.getPDGCode()) {
2109 double vtxx = mcParticle->getProductionVertex().X();
2110 double vtxy = mcParticle->getProductionVertex().Y();
2111 double vtxz = mcParticle->getProductionVertex().Z();
2112 const MCParticle* amcParticle = mcParticle->getMother();
2113 double px = amcParticle->getMomentum().X();
2114 double py = amcParticle->getMomentum().Y();
2115 double pz = amcParticle->getMomentum().Z();
2116 double p = TMath::Sqrt(px * px + py * py + pz * pz);
2117 double pTheta = TMath::ACos(pz / p);
2118 double pPhi = 10.;
2119 if (py > 0) {
2120 if (px > 0)
2121 pPhi = TMath::ATan(py / px);
2122 if (px < 0)
2123 pPhi = TMath::ATan(py / px) + M_PI;
2124 } else {
2125 if (px > 0)
2126 pPhi = TMath::ATan(py / px) ;
2127 if (px < 0)
2128 pPhi = TMath::ATan(py / px) - M_PI;
2129 }
2130 if ((TMath::Sqrt(vtxx * vtxx + vtxy * vtxy) > 118) || (vtxz > 196.16) || (vtxz < -102.16)) {
2131 if (TMath::Abs(aECLShowers->getTheta() - pTheta) < 0.05 && TMath::Abs(aECLShowers->getPhi() - pPhi) < 0.05)
2132 no_fMatch = 1;
2133 }
2134 }
2135 }
2136
2137 if (no_fMatch == 1)
2138 m_eclShowerMCFlightMatch->push_back(1);
2139 else
2140 m_eclShowerMCFlightMatch->push_back(0);
2141
2142 if (no_fFMatch == 1)
2143 m_eclShowerMCFFlightMatch->push_back(1);
2144 else
2145 m_eclShowerMCFFlightMatch->push_back(0);
2146
2147 if (idx[0] > -1) {
2148 m_eclShowerToMCWeight1->push_back(wi[0]);
2149 m_eclShowerToMC1->push_back(idx[0]);
2150 const MCParticle* amcParticle = m_mcParticles[idx[0]];
2151 m_eclShowerToMC1PDG->push_back(amcParticle->getPDG());
2152 if (amcParticle->getMother() != nullptr) {
2153 m_eclShowerToMC1Moth->push_back(amcParticle->getMother()->getIndex());
2154 m_eclShowerToMC1MothPDG->push_back(amcParticle->getMother()->getPDG());
2155 if (amcParticle->getMother()->getMother() != nullptr) {
2156 m_eclShowerToMC1GMoth->push_back(amcParticle->getMother()->getMother()->getIndex());
2157 m_eclShowerToMC1GMothPDG->push_back(amcParticle->getMother()->getMother()->getPDG());
2158 } else {
2159 m_eclShowerToMC1GMoth->push_back(-999);
2160 m_eclShowerToMC1GMothPDG->push_back(-999);
2161 }
2162 } else {
2163 m_eclShowerToMC1Moth->push_back(-999);
2164 m_eclShowerToMC1MothPDG->push_back(-999);
2165 m_eclShowerToMC1GMoth->push_back(-999);
2166 m_eclShowerToMC1GMothPDG->push_back(-999);
2167 }
2168 } else {
2169 m_eclShowerToMCWeight1->push_back(-1);
2170 m_eclShowerToMC1->push_back(-1);
2171 m_eclShowerToMC1PDG->push_back(-1);
2172 m_eclShowerToMC1Moth->push_back(-1);
2173 m_eclShowerToMC1MothPDG->push_back(-1);
2174 m_eclShowerToMC1GMoth->push_back(-1);
2175 m_eclShowerToMC1GMothPDG->push_back(-1);
2176 }
2177 if (idx[1] > -1) {
2178 m_eclShowerToMCWeight2->push_back(wi[1]);
2179 m_eclShowerToMC2->push_back(idx[1]);
2180 const MCParticle* amcParticle = m_mcParticles[idx[1]];
2181 m_eclShowerToMC2PDG->push_back(amcParticle->getPDG());
2182 if (amcParticle->getMother() != nullptr) {
2183 m_eclShowerToMC2Moth->push_back(amcParticle->getMother()->getIndex());
2184 m_eclShowerToMC2MothPDG->push_back(amcParticle->getMother()->getPDG());
2185 if (amcParticle->getMother()->getMother() != nullptr) {
2186 m_eclShowerToMC2GMoth->push_back(amcParticle->getMother()->getMother()->getIndex());
2187 m_eclShowerToMC2GMothPDG->push_back(amcParticle->getMother()->getMother()->getPDG());
2188 } else {
2189 m_eclShowerToMC2GMoth->push_back(-999);
2190 m_eclShowerToMC2GMothPDG->push_back(-999);
2191 }
2192 } else {
2193 m_eclShowerToMC2Moth->push_back(-999);
2194 m_eclShowerToMC2MothPDG->push_back(-999);
2195 m_eclShowerToMC2GMoth->push_back(-999);
2196 m_eclShowerToMC2GMothPDG->push_back(-999);
2197 };
2198 } else {
2199 m_eclShowerToMCWeight2->push_back(-1);
2200 m_eclShowerToMC2->push_back(-1);
2201 m_eclShowerToMC2PDG->push_back(-1);
2202 m_eclShowerToMC2Moth->push_back(-1);
2203 m_eclShowerToMC2MothPDG->push_back(-1);
2204 m_eclShowerToMC2GMoth->push_back(-1);
2205 m_eclShowerToMC2GMothPDG->push_back(-1);
2206 }
2207 if (idx[2] > -1) {
2208 m_eclShowerToMCWeight3->push_back(wi[2]);
2209 m_eclShowerToMC3->push_back(idx[2]);
2210 const MCParticle* amcParticle = m_mcParticles[idx[2]];
2211 m_eclShowerToMC3PDG->push_back(amcParticle->getPDG());
2212 if (amcParticle->getMother() != nullptr) {
2213 m_eclShowerToMC3Moth->push_back(amcParticle->getMother()->getIndex());
2214 m_eclShowerToMC3MothPDG->push_back(amcParticle->getMother()->getPDG());
2215 if (amcParticle->getMother()->getMother() != nullptr) {
2216 m_eclShowerToMC3GMoth->push_back(amcParticle->getMother()->getMother()->getIndex());
2217 m_eclShowerToMC3GMothPDG->push_back(amcParticle->getMother()->getMother()->getPDG());
2218 } else {
2219 m_eclShowerToMC3GMoth->push_back(-999);
2220 m_eclShowerToMC3GMothPDG->push_back(-999);
2221 }
2222 } else {
2223 m_eclShowerToMC3Moth->push_back(-999);
2224 m_eclShowerToMC3MothPDG->push_back(-999);
2225 m_eclShowerToMC3GMoth->push_back(-999);
2226 m_eclShowerToMC3GMothPDG->push_back(-999);
2227 }
2228 } else {
2229 m_eclShowerToMCWeight3->push_back(-1);
2230 m_eclShowerToMC3->push_back(-1);
2231 m_eclShowerToMC3PDG->push_back(-1);
2232 m_eclShowerToMC3Moth->push_back(-1);
2233 m_eclShowerToMC3MothPDG->push_back(-1);
2234 m_eclShowerToMC3GMoth->push_back(-1);
2235 m_eclShowerToMC3GMothPDG->push_back(-1);
2236 }
2237 if (idx[3] > -1) {
2238 m_eclShowerToMCWeight4->push_back(wi[3]);
2239 m_eclShowerToMC4->push_back(idx[3]);
2240 const MCParticle* amcParticle = m_mcParticles[idx[3]];
2241 m_eclShowerToMC4PDG->push_back(amcParticle->getPDG());
2242 if (amcParticle->getMother() != nullptr) {
2243 m_eclShowerToMC4Moth->push_back(amcParticle->getMother()->getIndex());
2244 m_eclShowerToMC4MothPDG->push_back(amcParticle->getMother()->getPDG());
2245 if (amcParticle->getMother()->getMother() != nullptr) {
2246 m_eclShowerToMC4GMoth->push_back(amcParticle->getMother()->getMother()->getIndex());
2247 m_eclShowerToMC4GMothPDG->push_back(amcParticle->getMother()->getMother()->getPDG());
2248 } else {
2249 m_eclShowerToMC4GMoth->push_back(-999);
2250 m_eclShowerToMC4GMothPDG->push_back(-999);
2251 }
2252 } else {
2253 m_eclShowerToMC4Moth->push_back(-999);
2254 m_eclShowerToMC4MothPDG->push_back(-999);
2255 m_eclShowerToMC4GMoth->push_back(-999);
2256 m_eclShowerToMC4GMothPDG->push_back(-999);
2257 }
2258 } else {
2259 m_eclShowerToMCWeight4->push_back(-1);
2260 m_eclShowerToMC4->push_back(-1);
2261 m_eclShowerToMC4PDG->push_back(-1);
2262 m_eclShowerToMC4Moth->push_back(-1);
2263 m_eclShowerToMC4MothPDG->push_back(-1);
2264 m_eclShowerToMC4GMoth->push_back(-1);
2265 m_eclShowerToMC4GMothPDG->push_back(-1);
2266 }
2267 if (idx[4] > -1) {
2268 m_eclShowerToMCWeight5->push_back(wi[4]);
2269 m_eclShowerToMC5->push_back(idx[4]);
2270 const MCParticle* amcParticle = m_mcParticles[idx[4]];
2271 m_eclShowerToMC5PDG->push_back(amcParticle->getPDG());
2272 if (amcParticle->getMother() != nullptr) {
2273 m_eclShowerToMC5Moth->push_back(amcParticle->getMother()->getIndex());
2274 m_eclShowerToMC5MothPDG->push_back(amcParticle->getMother()->getPDG());
2275 if (amcParticle->getMother()->getMother() != nullptr) {
2276 m_eclShowerToMC5GMoth->push_back(amcParticle->getMother()->getMother()->getIndex());
2277 m_eclShowerToMC5GMothPDG->push_back(amcParticle->getMother()->getMother()->getPDG());
2278 } else {
2279 m_eclShowerToMC5GMoth->push_back(-999);
2280 m_eclShowerToMC5GMothPDG->push_back(-999);
2281 }
2282 } else {
2283 m_eclShowerToMC5Moth->push_back(-999);
2284 m_eclShowerToMC5MothPDG->push_back(-999);
2285 m_eclShowerToMC5GMoth->push_back(-999);
2286 m_eclShowerToMC5GMothPDG->push_back(-999);
2287 }
2288 } else {
2289 m_eclShowerToMCWeight5->push_back(-1);
2290 m_eclShowerToMC5->push_back(-1);
2291 m_eclShowerToMC5PDG->push_back(-1);
2292 m_eclShowerToMC5Moth->push_back(-1);
2293 m_eclShowerToMC5MothPDG->push_back(-1);
2294 m_eclShowerToMC5GMoth->push_back(-1);
2295 m_eclShowerToMC5GMothPDG->push_back(-1);
2296 }
2297 m_eclShowerToBkgWeight->push_back(aECLShowers->getEnergy() - sumHit);
2298 }
2299
2300 m_mcMultip = m_mcParticles.getEntries();
2301 for (int imcpart = 0; imcpart < m_mcParticles.getEntries(); imcpart++) {
2302 const MCParticle* amcParticle = m_mcParticles[imcpart];
2303 m_mcIdx->push_back(amcParticle->getArrayIndex());
2304 m_mcPdg->push_back(amcParticle->getPDG());
2305 if (amcParticle->getMother() != nullptr) m_mcMothPdg->push_back(amcParticle->getMother()->getPDG());
2306 else m_mcMothPdg->push_back(-999);
2307 if (amcParticle->getMother() != nullptr
2308 && amcParticle->getMother()->getMother() != nullptr) m_mcGMothPdg->push_back(amcParticle->getMother()->getMother()->getPDG());
2309 else m_mcGMothPdg->push_back(-999);
2310 if (amcParticle->getMother() != nullptr && amcParticle->getMother()->getMother() != nullptr
2311 && amcParticle->getMother()->getMother()->getMother() != nullptr)
2312 m_mcGGMothPdg->push_back(amcParticle->getMother()->getMother()->getMother()->getPDG());
2313 else m_mcGGMothPdg->push_back(-999);
2314 m_mcEnergy->push_back(amcParticle->getEnergy());
2315 m_mcSecondaryPhysProc->push_back(amcParticle->getSecondaryPhysicsProcess());
2316
2317 m_mcPx->push_back(amcParticle->getMomentum().X());
2318 m_mcPy->push_back(amcParticle->getMomentum().Y());
2319 m_mcPz->push_back(amcParticle->getMomentum().Z());
2320
2321 m_mcDecayVtxX->push_back(amcParticle->getDecayVertex().X());
2322 m_mcDecayVtxY->push_back(amcParticle->getDecayVertex().Y());
2323 m_mcDecayVtxZ->push_back(amcParticle->getDecayVertex().Z());
2324
2325 m_mcProdVtxX->push_back(amcParticle->getProductionVertex().X());
2326 m_mcProdVtxY->push_back(amcParticle->getProductionVertex().Y());
2327 m_mcProdVtxZ->push_back(amcParticle->getProductionVertex().Z());
2328
2329 }
2330
2331 if (m_doTracking == true) {
2332 m_trkMultip = 0;
2333 for (const Track& itrk : m_tracks) {
2334 const TrackFitResult* atrk = itrk.getTrackFitResult(Const::pion);
2335 if (atrk == nullptr) continue;
2336
2337 m_trkIdx->push_back(m_trkMultip);
2338 m_trkPdg->push_back(atrk->getParticleType().getPDGCode());
2339 m_trkCharge->push_back(atrk->getChargeSign());
2340 m_trkPx->push_back(atrk->getMomentum().X());
2341 m_trkPy->push_back(atrk->getMomentum().Y());
2342 m_trkPz->push_back(atrk->getMomentum().Z());
2343 m_trkP->push_back(atrk->getMomentum().R());
2344 m_trkTheta->push_back(atrk->getMomentum().Theta());
2345 m_trkPhi->push_back(atrk->getMomentum().Phi());
2346 m_trkX->push_back(atrk->getPosition().X());
2347 m_trkY->push_back(atrk->getPosition().Y());
2348 m_trkZ->push_back(atrk->getPosition().Z());
2349
2350 const ECLPidLikelihood* eclpid = itrk.getRelatedTo<ECLPidLikelihood>() ;
2351
2352 if (eclpid != nullptr) {
2353 m_eclpidtrkIdx -> push_back(m_trkMultip);
2354 m_eclpidEnergy -> push_back(eclpid-> energy());
2355 m_eclpidEop -> push_back(eclpid-> eop());
2356 m_eclpidE9E21 -> push_back(eclpid-> e9e25());
2357 m_eclpidNCrystals -> push_back(eclpid-> nCrystals());
2358 m_eclpidNClusters -> push_back(eclpid-> nClusters());
2359 m_eclLogLikeEl -> push_back(eclpid-> getLogLikelihood(Const::electron));
2360 m_eclLogLikeMu -> push_back(eclpid-> getLogLikelihood(Const::muon));
2361 m_eclLogLikePi -> push_back(eclpid-> getLogLikelihood(Const::pion));
2362 } else {
2363 m_eclpidtrkIdx -> push_back(m_trkMultip);
2364 m_eclpidEnergy -> push_back(0);
2365 m_eclpidEop -> push_back(0);
2366 m_eclpidE9E21 -> push_back(0);
2367 m_eclpidNCrystals -> push_back(0);
2368 m_eclpidNClusters -> push_back(0);
2369 m_eclLogLikeEl -> push_back(0);
2370 m_eclLogLikeMu -> push_back(0);
2371 m_eclLogLikePi -> push_back(0);
2372 }
2373 m_trkMultip++;
2374 }
2375 }
2376
2377 m_tree->Fill();
2378}
int getPDGCode() const
PDG code.
Definition Const.h:474
static const ChargedStable muon
muon particle
Definition Const.h:661
static const ChargedStable pion
charged pion particle
Definition Const.h:662
static const ParticleType Klong
K^0_L particle.
Definition Const.h:679
static const ChargedStable electron
electron particle
Definition Const.h:660
int getCellId() const
Get Cell ID.
double getEnergy() const
Get Calibrated Energy.
double getTime() const
Get Calibrated Time.
unsigned short getMaxECellId() const
Return cellID of maximum energy crystal.
Definition ECLCluster.h:256
bool isTrack() const
Return true if the cluster matches with track.
Definition ECLCluster.h:244
bool hasHypothesis(EHypothesisBit bitmask) const
Return if specific hypothesis bit is set.
Definition ECLCluster.h:360
double getPhi() const
Return Corrected Phi of Shower (radian).
Definition ECLCluster.h:313
double getE1oE9() const
Return E1/E9 (shower shape variable).
Definition ECLCluster.h:286
double getDeltaL() const
Return deltaL.
Definition ECLCluster.h:274
double getR() const
Return R.
Definition ECLCluster.h:319
double getEnergyRaw() const
Return Uncorrected Energy deposited (GeV)
Definition ECLCluster.h:325
double getUncertaintyTheta() const
Return Uncertainty on Theta of Shower.
Definition ECLCluster.h:334
double getLAT() const
Return LAT (shower shape variable).
Definition ECLCluster.h:301
double getE9oE21() const
Return E9/E21 (shower shape variable).
Definition ECLCluster.h:289
int getDetectorRegion() const
Return detector region: 0: below acceptance, 1: FWD, 2: BRL, 3: BWD, 11: FWDGAP, 13: BWDGAP.
Definition ECLCluster.cc:70
unsigned short getStatus() const
Return status.
Definition ECLCluster.h:250
double getEnergy(EHypothesisBit hypothesis) const
Return Energy (GeV).
Definition ECLCluster.cc:23
double getUncertaintyEnergy() const
Return Uncertainty on Energy of Shower.
Definition ECLCluster.h:331
double getMinTrkDistance() const
Get distance between cluster COG and track extrapolation to ECL.
Definition ECLCluster.h:268
double getNumberOfCrystals() const
Return number of a crystals in a shower (sum of weights).
Definition ECLCluster.h:304
double getEnergyHighestCrystal() const
Return energy of highest energetic crystal in cluster (GeV)
Definition ECLCluster.h:328
double getZernikeMVA() const
Return MVA based hadron/photon value based on Zernike moments (shower shape variable).
Definition ECLCluster.h:283
double getUncertaintyPhi() const
Return Uncertainty on Phi of Shower.
Definition ECLCluster.h:337
double getAbsZernike40() const
Return Zernike moment 40 (shower shape variable).
Definition ECLCluster.h:277
double getSecondMoment() const
Return second moment (shower shape variable).
Definition ECLCluster.h:298
double getTheta() const
Return Corrected Theta of Shower (radian).
Definition ECLCluster.h:316
double getDeltaTime99() const
Return cluster delta time 99.
Definition ECLCluster.h:310
double getTime() const
Return cluster time.
Definition ECLCluster.h:307
@ c_nPhotons
CR is split into n photons (N1)
Definition ECLCluster.h:41
@ c_neutralHadron
CR is reconstructed as a neutral hadron (N2)
Definition ECLCluster.h:43
double getAbsZernike51() const
Return Zernike moment 51 (shower shape variable).
Definition ECLCluster.h:280
float getLikelihoodChargedHadron() const
Get Charged Hadron likelihood (ECL based only) T2.
bool isTrack() const
Get boolean to flag if a track is matched to the CR.
float getLikelihoodNeutralHadron() const
Get Neutral Hadron likelihood (ECL based only) N2.
float getLikelihoodMIPNGamma() const
Get MIPNGamma likelihood (ECL based only) T1.
float getLikelihoodNGamma() const
Get NGamma likelihood (ECL based only) N1.
int getCRId() const
Get CR identifier.
float getLikelihoodMergedPi0() const
Get Merged Pi0 likelihood (ECL based only) N3.
float getLikelihoodElectronNGamma() const
Get ElectronNGamma likelihood (ECL based only) T3.
uint16_t m_nECLCalDigitsOutOfTimeFWD
Number of out of time, energetic ECLCalDigits, FWD.
uint8_t m_nECLShowersRejectedBWD
Number of photon showers that are rejected before storing to mdst (max.
StoreArray< Track > m_tracks
Tracks storeArray.
uint8_t m_nECLShowersRejectedBarrel
Number of photon showers that are rejected before storing to mdst (max.
uint8_t m_nECLShowersRejectedFWD
Number of photon showers that are rejected before storing to mdst (max.
StoreArray< MCParticle > m_mcParticles
MCParticles StoreArray.
StoreObjPtr< EventMetaData > m_eventmetadata
Store object pointer: EventMetaData.
uint16_t m_nECLCalDigitsOutOfTimeBarrel
Number of out of time, energetic ECLCalDigits, Barrel.
StoreObjPtr< EventLevelClusteringInfo > m_eventLevelClusteringInfo
Store object pointer: EventLevelClusteringInfo.
uint16_t m_nECLCalDigitsOutOfTimeBWD
Number of out of time, energetic ECLCalDigits, BWD.
int getAmp() const
Get Fitting Amplitude.
Definition ECLDigit.h:102
int getQuality() const
Get Fitting Quality.
Definition ECLDigit.h:112
int getCellId() const
Get Cell ID.
Definition ECLDigit.h:97
int getTimeFit() const
Get Fitting Time.
Definition ECLDigit.h:107
double getTimeAve() const
Get average time.
Definition ECLHit.h:75
int getCellId() const
Get Cell ID.
Definition ECLHit.h:65
double getEnergyDep() const
Get deposit energy.
Definition ECLHit.h:70
int getCellId() const
Get CellId.
int getLMId() const
Get LM identifier.
int getType() const
Get type.
double getAbsZernikeMoment(unsigned int n, unsigned int m) const
Get absolute value of Zernike Moment nm.
Definition ECLShower.h:377
int getHypothesisId() const
Get Hypothesis Id.
Definition ECLShower.h:277
double getPhi() const
Get Phi.
Definition ECLShower.h:302
double getLateralEnergy() const
Get Lateral Energy in Shower.
Definition ECLShower.h:352
double getE1oE9() const
Get energy ratio E1oE9.
Definition ECLShower.h:392
double getEnergy() const
Get Energy.
Definition ECLShower.h:287
double getShowerDepth() const
path on track extrapolation to POCA to average cluster direction
Definition ECLShower.h:367
int getConnectedRegionId() const
Get Connected region Id.
Definition ECLShower.h:272
double getR() const
Get R.
Definition ECLShower.h:307
double getEnergyRaw() const
Get Energy Sum.
Definition ECLShower.h:292
double getUncertaintyTheta() const
Get Error of theta.
Definition ECLShower.h:327
double getE9oE21() const
Get energy ratio E9oE21.
Definition ECLShower.h:397
double getNumberOfCrystalsForEnergy() const
Get number of crystals used for energy calculation.
Definition ECLShower.h:417
double getUncertaintyEnergy() const
Get Error of Energy.
Definition ECLShower.h:322
double getTrkDepth() const
path on track extrapolation to POCA to average cluster direction
Definition ECLShower.h:362
double getMinTrkDistance() const
Get distance to closest Track.
Definition ECLShower.h:357
double getNumberOfCrystals() const
Get NofCrystals.
Definition ECLShower.h:372
double getEnergyHighestCrystal() const
Get Highest Energy in Shower.
Definition ECLShower.h:347
double getZernikeMVA() const
Get Zernike MVA.
Definition ECLShower.h:382
bool getIsTrack() const
Get if matched with a Track.
Definition ECLShower.h:257
double getUncertaintyPhi() const
Get Error of phi.
Definition ECLShower.h:332
int getCentralCellId() const
Get central cell Id.
Definition ECLShower.h:282
double getSecondMoment() const
Get second moment.
Definition ECLShower.h:387
double getTheta() const
Get Theta.
Definition ECLShower.h:297
double getDeltaTime99() const
Get Time Resolution.
Definition ECLShower.h:342
double getTime() const
Get Time.
Definition ECLShower.h:337
int getPDGCode() const
Get Particle PDG (can be one of secondaries)
Definition ECLSimHit.h:96
int getCellId() const
Get Cell ID.
Definition ECLSimHit.h:86
double getFlightTime() const
Get Flight time from IP.
Definition ECLSimHit.h:101
double getEnergyDep() const
Get Deposit energy.
Definition ECLSimHit.h:106
G4ThreeVector getPosition() const
Get Position.
Definition ECLSimHit.h:126
G4ThreeVector getMomentum() const
Get Momentum.
Definition ECLSimHit.h:116
float getEnergy() const
Return particle energy in GeV.
Definition MCParticle.h:136
int getIndex() const
Get 1-based index of the particle in the corresponding MCParticle list.
Definition MCParticle.h:219
ROOT::Math::XYZVector getDecayVertex() const
Return decay vertex.
Definition MCParticle.h:208
int getArrayIndex() const
Get 0-based index of the particle in the corresponding MCParticle list.
Definition MCParticle.h:234
ROOT::Math::XYZVector getProductionVertex() const
Return production vertex position.
Definition MCParticle.h:178
int getPDG() const
Return PDG code of particle.
Definition MCParticle.h:101
ROOT::Math::XYZVector getMomentum() const
Return momentum.
Definition MCParticle.h:187
int getSecondaryPhysicsProcess() const
Returns the physics process type of a secondary particle.
Definition MCParticle.h:287
int getArrayIndex() const
Returns this object's array index (in StoreArray), or -1 if not found.
T * getRelated(const std::string &name="", const std::string &namedRelation="") const
Get the object to or from which this object has a relation.
RelationVector< TO > getRelationsTo(const std::string &name="", const std::string &namedRelation="") const
Get the relations that point from this object to another store array.
short getChargeSign() const
Return track charge (1 or -1).
Const::ParticleType getParticleType() const
Getter for ParticleType of the mass hypothesis of the track fit.
ROOT::Math::XYZVector getMomentum() const
Getter for vector of momentum at closest approach of track in r/phi projection.
ROOT::Math::XYZVector getPosition() const
Getter for vector of position at closest approach of track in r/phi projection.
bool isFailedFit() const
Get Boolean Fit Failed Status.
MCParticle * getMother() const
Returns a pointer to the mother particle.
Definition MCParticle.h:591

◆ exposePythonAPI()

void exposePythonAPI ( )
staticinherited

Exposes methods of the Module class to Python.

Definition at line 325 of file Module.cc.

326{
327 // to avoid confusion between std::arg and boost::python::arg we want a shorthand namespace as well
328 namespace bp = boost::python;
329
330 docstring_options options(true, true, false); //userdef, py sigs, c++ sigs
331
332 void (Module::*setReturnValueInt)(int) = &Module::setReturnValue;
333
334 enum_<Module::EAfterConditionPath>("AfterConditionPath",
335 R"(Determines execution behaviour after a conditional path has been executed:
336
337.. attribute:: END
338
339 End processing of this path after the conditional path. (this is the default for if_value() etc.)
340
341.. attribute:: CONTINUE
342
343 After the conditional path, resume execution after this module.)")
344 .value("END", Module::EAfterConditionPath::c_End)
345 .value("CONTINUE", Module::EAfterConditionPath::c_Continue)
346 ;
347
348 /* Do not change the names of >, <, ... we use them to serialize conditional paths */
349 enum_<Belle2::ModuleCondition::EConditionOperators>("ConditionOperator")
356 ;
357
358 enum_<Module::EModulePropFlags>("ModulePropFlags",
359 R"(Flags to indicate certain low-level features of modules, see :func:`Module.set_property_flags()`, :func:`Module.has_properties()`. Most useful flags are:
360
361.. attribute:: PARALLELPROCESSINGCERTIFIED
362
363 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.)
364
365.. attribute:: HISTOGRAMMANAGER
366
367 This module is used to manage histograms accumulated by other modules
368
369.. attribute:: TERMINATEINALLPROCESSES
370
371 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.
372)")
373 .value("INPUT", Module::EModulePropFlags::c_Input)
374 .value("OUTPUT", Module::EModulePropFlags::c_Output)
375 .value("PARALLELPROCESSINGCERTIFIED", Module::EModulePropFlags::c_ParallelProcessingCertified)
376 .value("HISTOGRAMMANAGER", Module::EModulePropFlags::c_HistogramManager)
377 .value("INTERNALSERIALIZER", Module::EModulePropFlags::c_InternalSerializer)
378 .value("TERMINATEINALLPROCESSES", Module::EModulePropFlags::c_TerminateInAllProcesses)
379 ;
380
381 //Python class definition
382 class_<Module, PyModule> module("Module", R"(
383Base class for Modules.
384
385A module is the smallest building block of the framework.
386A typical event processing chain consists of a Path containing
387modules. By inheriting from this base class, various types of
388modules can be created. To use a module, please refer to
389:func:`Path.add_module()`. A list of modules is available by running
390``basf2 -m`` or ``basf2 -m package``, detailed information on parameters is
391given by e.g. ``basf2 -m RootInput``.
392
393The 'Module Development' section in the manual provides detailed information
394on how to create modules, setting parameters, or using return values/conditions:
395https://xwiki.desy.de/xwiki/rest/p/f4fa4/#HModuleDevelopment
396
397)");
398 module
399 .def("__str__", &Module::getPathString)
400 .def("name", &Module::getName, return_value_policy<copy_const_reference>(),
401 "Returns the name of the module. Can be changed via :func:`set_name() <Module.set_name()>`, use :func:`type() <Module.type()>` for identifying a particular module class.")
402 .def("type", &Module::getType, return_value_policy<copy_const_reference>(),
403 "Returns the type of the module (i.e. class name minus 'Module')")
404 .def("set_name", &Module::setName, args("name"), R"(
405Set custom name, e.g. to distinguish multiple modules of the same type.
406
407>>> path.add_module('EventInfoSetter')
408>>> ro = path.add_module('RootOutput', branchNames=['EventMetaData'])
409>>> ro.set_name('RootOutput_metadata_only')
410>>> print(path)
411[EventInfoSetter -> RootOutput_metadata_only]
412
413)")
414 .def("description", &Module::getDescription, return_value_policy<copy_const_reference>(),
415 "Returns the description of this module.")
416 .def("package", &Module::getPackage, return_value_policy<copy_const_reference>(),
417 "Returns the package this module belongs to.")
418 .def("available_params", &_getParamInfoListPython,
419 "Return list of all module parameters as `ModuleParamInfo` instances")
420 .def("has_properties", &Module::hasProperties, (bp::arg("properties")),
421 R"DOCSTRING(Allows to check if the module has the given properties out of `ModulePropFlags` set.
422
423>>> if module.has_properties(ModulePropFlags.PARALLELPROCESSINGCERTIFIED):
424>>> ...
425
426Parameters:
427 properties (int): bitmask of `ModulePropFlags` to check for.
428)DOCSTRING")
429 .def("set_property_flags", &Module::setPropertyFlags, args("property_mask"),
430 "Set module properties in the form of an OR combination of `ModulePropFlags`.");
431 {
432 // python signature is too crowded, make ourselves
433 docstring_options subOptions(true, false, false); //userdef, py sigs, c++ sigs
434 module
435 .def("if_value", &Module::if_value,
436 (bp::arg("expression"), bp::arg("condition_path"), bp::arg("after_condition_path")= Module::EAfterConditionPath::c_End),
437 R"DOCSTRING(if_value(expression, condition_path, after_condition_path=AfterConditionPath.END)
438
439Sets a conditional sub path which will be executed after this
440module if the return value set in the module passes the given ``expression``.
441
442Modules can define a return value (int or bool) using ``setReturnValue()``,
443which can be used in the steering file to split the Path based on this value, for example
444
445>>> module_with_condition.if_value("<1", another_path)
446
447In case the return value of the ``module_with_condition`` for a given event is
448less than 1, the execution will be diverted into ``another_path`` for this event.
449
450You could for example set a special return value if an error occurs, and divert
451the execution into a path containing :b2:mod:`RootOutput` if it is found;
452saving only the data producing/produced by the error.
453
454After a conditional path has executed, basf2 will by default stop processing
455the path for this event. This behaviour can be changed by setting the
456``after_condition_path`` argument.
457
458Parameters:
459 expression (str): Expression to determine if the conditional path should be executed.
460 This should be one of the comparison operators ``<``, ``>``, ``<=``,
461 ``>=``, ``==``, or ``!=`` followed by a numerical value for the return value
462 condition_path (Path): path to execute in case the expression is fulfilled
463 after_condition_path (AfterConditionPath): What to do once the ``condition_path`` has been executed.
464)DOCSTRING")
465 .def("if_false", &Module::if_false,
466 (bp::arg("condition_path"), bp::arg("after_condition_path")= Module::EAfterConditionPath::c_End),
467 R"DOC(if_false(condition_path, after_condition_path=AfterConditionPath.END)
468
469Sets a conditional sub path which will be executed after this module if
470the return value of the module evaluates to False. This is equivalent to
471calling `if_value` with ``expression=\"<1\"``)DOC")
472 .def("if_true", &Module::if_true,
473 (bp::arg("condition_path"), bp::arg("after_condition_path")= Module::EAfterConditionPath::c_End),
474 R"DOC(if_true(condition_path, after_condition_path=AfterConditionPath.END)
475
476Sets a conditional sub path which will be executed after this module if
477the return value of the module evaluates to True. It is equivalent to
478calling `if_value` with ``expression=\">=1\"``)DOC");
479 }
480 module
481 .def("has_condition", &Module::hasCondition,
482 "Return true if a conditional path has been set for this module "
483 "using `if_value`, `if_true` or `if_false`")
484 .def("get_all_condition_paths", &_getAllConditionPathsPython,
485 "Return a list of all conditional paths set for this module using "
486 "`if_value`, `if_true` or `if_false`")
487 .def("get_all_conditions", &_getAllConditionsPython,
488 "Return a list of all conditional path expressions set for this module using "
489 "`if_value`, `if_true` or `if_false`")
490 .add_property("logging", make_function(&Module::getLogConfig, return_value_policy<reference_existing_object>()),
491 &Module::setLogConfig)
@ c_GE
Greater or equal than: ">=".
@ c_SE
Smaller or equal than: "<=".
@ c_GT
Greater than: ">".
@ c_NE
Not equal: "!=".
@ c_EQ
Equal: "=" or "==".
@ c_ST
Smaller than: "<".
void if_value(const std::string &expression, const std::shared_ptr< Path > &path, EAfterConditionPath afterConditionPath=EAfterConditionPath::c_End)
Add a condition to the module.
Definition Module.cc:79
void if_true(const std::shared_ptr< Path > &path, EAfterConditionPath afterConditionPath=EAfterConditionPath::c_End)
A simplified version to set the condition of the module.
Definition Module.cc:90
void setReturnValue(int value)
Sets the return value for this module as integer.
Definition Module.cc:220
@ c_HistogramManager
This module is used to manage histograms accumulated by other modules.
Definition Module.h:81
@ c_Input
This module is an input module (reads data).
Definition Module.h:78
@ 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
@ c_InternalSerializer
This module is an internal serializer/deserializer for parallel processing.
Definition Module.h:82
@ c_Output
This module is an output module (writes data).
Definition Module.h:79
@ c_TerminateInAllProcesses
When using parallel processing, call this module's terminate() function in all processes().
Definition Module.h:83
void if_false(const std::shared_ptr< Path > &path, EAfterConditionPath afterConditionPath=EAfterConditionPath::c_End)
A simplified version to add a condition to the module.
Definition Module.cc:85
ModuleCondition::EAfterConditionPath EAfterConditionPath
Forward the EAfterConditionPath definition from the ModuleCondition.
Definition Module.h:88

◆ 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.

134{
135 if (m_conditions.empty()) return EAfterConditionPath::c_End;
136
137 //okay, a condition was set for this Module...
138 if (!m_hasReturnValue) {
139 B2FATAL("A condition was set for '" << getName() << "', but the module did not set a return value!");
140 }
141
142 for (const auto& condition : m_conditions) {
143 if (condition.evaluate(m_returnValue)) {
144 return condition.getAfterConditionPath();
145 }
146 }
147
148 return EAfterConditionPath::c_End;
149}

◆ getAllConditionPaths()

std::vector< std::shared_ptr< Path > > getAllConditionPaths ( ) const
inherited

Return all condition paths currently set (no matter if the condition is true or not).

Definition at line 150 of file Module.cc.

151{
152 std::vector<std::shared_ptr<Path>> allConditionPaths;
153 for (const auto& condition : m_conditions) {
154 allConditionPaths.push_back(condition.getPath());
155 }
156
157 return allConditionPaths;
158}

◆ getAllConditions()

const std::vector< ModuleCondition > & getAllConditions ( ) const
inlineinherited

Return all set conditions for this module.

Definition at line 323 of file Module.h.

324 {
325 return m_conditions;
326 }

◆ getCondition()

const ModuleCondition * getCondition ( ) const
inlineinherited

Return a pointer to the first condition (or nullptr, if none was set)

Definition at line 313 of file Module.h.

314 {
315 if (m_conditions.empty()) {
316 return nullptr;
317 } else {
318 return &m_conditions.front();
319 }
320 }

◆ 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.

114{
115 PathPtr p;
116 if (m_conditions.empty()) return p;
117
118 //okay, a condition was set for this Module...
119 if (!m_hasReturnValue) {
120 B2FATAL("A condition was set for '" << getName() << "', but the module did not set a return value!");
121 }
122
123 for (const auto& condition : m_conditions) {
124 if (condition.evaluate(m_returnValue)) {
125 return condition.getPath();
126 }
127 }
128
129 // if none of the conditions were true, return a null pointer.
130 return p;
131}
std::shared_ptr< Path > PathPtr
Defines a pointer to a path object as a boost shared pointer.
Definition Path.h:35

◆ getDescription()

const std::string & getDescription ( ) const
inlineinherited

Returns the description of the module.

Definition at line 201 of file Module.h.

201{return m_description;}

◆ 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 RootInputModule, RootOutputModule, and StorageRootOutputModule.

Definition at line 133 of file Module.h.

134 {
135 return std::vector<std::string>();
136 }

◆ getLogConfig()

LogConfig & getLogConfig ( )
inlineinherited

Returns the log system configuration.

Definition at line 224 of file Module.h.

224{return m_logConfig;}

◆ getModules()

std::list< ModulePtr > getModules ( ) const
inlineoverrideprivatevirtualinherited

no submodules, return empty list

Implements PathElement.

Definition at line 505 of file Module.h.

505{ return std::list<ModulePtr>(); }

◆ 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 186 of file Module.h.

186{return m_name;}

◆ getPackage()

const std::string & getPackage ( ) const
inlineinherited

Returns the package this module is in.

Definition at line 196 of file Module.h.

196{return m_package;}

◆ 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.

280{
282}
std::shared_ptr< boost::python::list > getParamInfoListPython() const
Returns a python list of all parameters.

◆ getParamList()

const ModuleParamList & getParamList ( ) const
inlineinherited

Return module param list.

Definition at line 362 of file Module.h.

362{ return m_moduleParamList; }

◆ getPathString()

std::string getPathString ( ) const
overrideprivatevirtualinherited

return the module name.

Implements PathElement.

Definition at line 192 of file Module.cc.

193{
194
195 std::string output = getName();
196
197 for (const auto& condition : m_conditions) {
198 output += condition.getString();
199 }
200
201 return output;
202}

◆ 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 380 of file Module.h.

380{ return m_returnValue; }

◆ 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.

42{
43 if (m_type.empty())
44 B2FATAL("Module type not set for " << getName());
45 return m_type;
46}
std::string m_type
The type of the module, saved as a string.
Definition Module.h:508

◆ hasCondition()

bool hasCondition ( ) const
inlineinherited

Returns true if at least one condition was set for the module.

Definition at line 310 of file Module.h.

310{ return not m_conditions.empty(); };

◆ 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.

161{
162 return (propertyFlags & m_propertyFlags) == propertyFlags;
163}

◆ hasReturnValue()

bool hasReturnValue ( ) const
inlineinherited

Return true if this module has a valid return value set.

Definition at line 377 of file Module.h.

377{ return m_hasReturnValue; }

◆ hasUnsetForcedParams()

bool hasUnsetForcedParams ( ) const
inherited

Returns true and prints error message if the module has unset parameters which the user has to set in the steering file.

Definition at line 166 of file Module.cc.

167{
169 std::string allMissing = "";
170 for (const auto& s : missing)
171 allMissing += s + " ";
172 if (!missing.empty())
173 B2ERROR("The following required parameters of Module '" << getName() << "' were not specified: " << allMissing <<
174 "\nPlease add them to your steering file.");
175 return !missing.empty();
176}
std::vector< std::string > getUnsetForcedParams() const
Returns list of unset parameters (if they are required to have a value.

◆ 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.

86{
87 if_value("<1", path, afterConditionPath);
88}

◆ 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.

91{
92 if_value(">=1", path, afterConditionPath);
93}

◆ 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://xwiki.desy.de/xwiki/rest/p/a94f2 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.

80{
81 m_conditions.emplace_back(expression, path, afterConditionPath);
82}

◆ initialize()

void initialize ( void )
overridevirtual

Initializes the Module.

SHOWERS

Reimplemented from Module.

Definition at line 440 of file ECLDataAnalysisModule.cc.

441{
442
443 B2INFO("[ECLDataAnalysis Module]: Starting initialization of ECLDataAnalysis Module.");
444
445 m_eventLevelClusteringInfo.registerInDataStore();
446
447 m_eclSimHits.registerInDataStore(eclSimHitArrayName());
448 m_eclHits.registerInDataStore(eclHitArrayName());
449
450 m_eclDigits.registerInDataStore(eclDigitArrayName());
451 m_eclCalDigits.registerInDataStore(eclCalDigitArrayName());
453 m_eclShowers.registerInDataStore(eclShowerArrayName());
454 m_eclClusters.registerInDataStore(eclClusterArrayName());
455 m_eclLocalMaximums.registerInDataStore(eclLocalMaximumArrayName());
456
457 m_eclCalDigits.registerRelationTo(m_mcParticles);
458 m_eclDigits.registerRelationTo(m_mcParticles);
459 m_eclShowers.registerRelationTo(m_mcParticles);
460 m_eclClusters.registerRelationTo(m_mcParticles);
461
462 if (m_doPureCsI == 1) {
463 m_eclPureDigits.registerInDataStore(eclPureDigitArrayName());
464 m_eclPureCalDigits.registerInDataStore(eclPureCalDigitArrayName());
466 m_eclPureShowers.registerInDataStore(eclPureShowerArrayName());
467 m_eclPureClusters.registerInDataStore(eclPureClusterArrayName());
469
470 m_eclPureCalDigits.registerRelationTo(m_mcParticles);
471 m_eclPureDigits.registerRelationTo(m_mcParticles);
472 m_eclPureShowers.registerRelationTo(m_mcParticles);
473 m_eclPureClusters.registerRelationTo(m_mcParticles);
474 }
475
476 if (m_doTracking == true) {
477 m_tracks.isRequired();
478 m_trackFitResults.isRequired();
479 m_eclPidLikelihoods.isRequired();
480 }
481
482 if (m_writeToRoot == true) {
483 m_rootFilePtr = new TFile(m_rootFileName.c_str(), "RECREATE");
484 } else
485 m_rootFilePtr = nullptr;
486
487 // initialize tree
488 m_tree = new TTree("m_tree", "ECL Analysis tree");
489
490 m_tree->Branch("expNo", &m_iExperiment, "expNo/I");
491 m_tree->Branch("runNo", &m_iRun, "runNo/I");
492 m_tree->Branch("evtNo", &m_iEvent, "evtNo/I");
493
494 //EventLevelClusteringInfo
495 m_tree->Branch("eclNumOutOfTimeDigitsFwd", &m_nECLCalDigitsOutOfTimeFWD, "eclNumOutOfTimeDigitsFwd/s");
496 m_tree->Branch("eclNumOutOfTimeDigitsBrl", &m_nECLCalDigitsOutOfTimeBarrel, "eclNumOutOfTimeDigitsBrl/s");
497 m_tree->Branch("eclNumOutOfTimeDigitsBwd", &m_nECLCalDigitsOutOfTimeBWD, "eclNumOutOfTimeDigitsBwd/s");
498 m_tree->Branch("eclNumRejectedShowersFwd", &m_nECLShowersRejectedFWD, "eclNumRejectedShowersFwd/b");
499 m_tree->Branch("eclNumRejectedShowersBrl", &m_nECLShowersRejectedBarrel, "eclNumRejectedShowersBrl/b");
500 m_tree->Branch("eclNumRejectedShowersBwd", &m_nECLShowersRejectedBWD, "eclNumRejectedShowersBwd/b");
501
502 if (m_doDigits == 1) {
503 m_tree->Branch("eclDigitMultip", &m_eclDigitMultip, "ecldigit_Multip/I");
504 m_tree->Branch("eclDigitIdx", "std::vector<int>", &m_eclDigitIdx);
505 m_tree->Branch("eclDigitToMC", "std::vector<int>", &m_eclDigitToMC);
506 m_tree->Branch("eclDigitCellId", "std::vector<int>", &m_eclDigitCellId);
507 m_tree->Branch("eclDigitAmp", "std::vector<int>", &m_eclDigitAmp);
508 m_tree->Branch("eclDigitTimeFit", "std::vector<int>", &m_eclDigitTimeFit);
509 m_tree->Branch("eclDigitFitQuality", "std::vector<int>", &m_eclDigitFitQuality);
510 m_tree->Branch("eclDigitToCalDigit", "std::vector<int>", &m_eclDigitToCalDigit);
511
512 m_tree->Branch("eclCalDigitMultip", &m_eclCalDigitMultip, "eclCaldigit_Multip/I");
513 m_tree->Branch("eclCalDigitIdx", "std::vector<int>", &m_eclCalDigitIdx);
514 m_tree->Branch("eclCalDigitToMC1", "std::vector<int>", &m_eclCalDigitToMC1);
515 m_tree->Branch("eclCalDigitToMC1PDG", "std::vector<int>", &m_eclCalDigitToMC1PDG);
516 m_tree->Branch("eclCalDigitToMCWeight1", "std::vector<double>", &m_eclCalDigitToMCWeight1);
517 m_tree->Branch("eclCalDigitToMC2", "std::vector<int>", &m_eclCalDigitToMC2);
518 m_tree->Branch("eclCalDigitToMC2PDG", "std::vector<int>", &m_eclCalDigitToMC2PDG);
519 m_tree->Branch("eclCalDigitToMCWeight2", "std::vector<double>", &m_eclCalDigitToMCWeight2);
520 m_tree->Branch("eclCalDigitToMC3", "std::vector<int>", &m_eclCalDigitToMC3);
521 m_tree->Branch("eclCalDigitToMC3PDG", "std::vector<int>", &m_eclCalDigitToMC3PDG);
522 m_tree->Branch("eclCalDigitToMCWeight3", "std::vector<double>", &m_eclCalDigitToMCWeight3);
523 m_tree->Branch("eclCalDigitToMC4", "std::vector<int>", &m_eclCalDigitToMC4);
524 m_tree->Branch("eclCalDigitToMC4PDG", "std::vector<int>", &m_eclCalDigitToMC4PDG);
525 m_tree->Branch("eclCalDigitToMCWeight4", "std::vector<double>", &m_eclCalDigitToMCWeight4);
526 m_tree->Branch("eclCalDigitToMC5", "std::vector<int>", &m_eclCalDigitToMC5);
527 m_tree->Branch("eclCalDigitToMC5PDG", "std::vector<int>", &m_eclCalDigitToMC5PDG);
528 m_tree->Branch("eclCalDigitToMCWeight5", "std::vector<double>", &m_eclCalDigitToMCWeight5);
529 m_tree->Branch("eclCalDigitToBkgWeight", "std::vector<double>", &m_eclCalDigitToBkgWeight);
530 m_tree->Branch("eclCalDigitSimHitSum", "std::vector<double>", &m_eclCalDigitSimHitSum);
531 m_tree->Branch("eclCalDigitToShower", "std::vector<int>", &m_eclCalDigitToShower);
532 m_tree->Branch("eclCalDigitCellId", "std::vector<int>", &m_eclCalDigitCellId);
533 m_tree->Branch("eclCalDigitAmp", "std::vector<double>", &m_eclCalDigitAmp);
534 m_tree->Branch("eclCalDigitTimeFit", "std::vector<double>", &m_eclCalDigitTimeFit);
535 m_tree->Branch("eclCalDigitFitQuality", "std::vector<int>", &m_eclCalDigitFitQuality);
536 m_tree->Branch("eclCalDigitToCR", "std::vector<int>", &m_eclCalDigitToCR);
537 m_tree->Branch("eclCalDigitToLM", "std::vector<int>", &m_eclCalDigitToLM);
538 }
539
540 m_tree->Branch("eclCRIdx", "std::vector<int>", &m_eclCRIdx);
541 m_tree->Branch("eclCRIsTrack", "std::vector<int>", &m_eclCRIsTrack);
542 m_tree->Branch("eclCRLikelihoodMIPNGamma", "std::vector<double>", &m_eclCRLikelihoodMIPNGamma);
543 m_tree->Branch("eclCRLikelihoodChargedHadron", "std::vector<double>", &m_eclCRLikelihoodChargedHadron);
544 m_tree->Branch("eclCRLikelihoodElectronNGamma", "std::vector<double>", &m_eclCRLikelihoodElectronNGamma);
545 m_tree->Branch("eclCRLikelihoodNGamma", "std::vector<double>", &m_eclCRLikelihoodNGamma);
546 m_tree->Branch("eclCRLikelihoodNeutralHadron", "std::vector<double>", &m_eclCRLikelihoodNeutralHadron);
547 m_tree->Branch("eclCRLikelihoodMergedPi0", "std::vector<double>", &m_eclCRLikelihoodMergedPi0);
548
549 if (m_doHits == 1) {
550 m_tree->Branch("eclSimHitMultip", &m_eclSimHitMultip, "eclSimHitMultip/I");
551 m_tree->Branch("eclSimHitIdx", "std::vector<int>", &m_eclSimHitIdx);
552 m_tree->Branch("eclSimHitToMC", "std::vector<int>", &m_eclSimHitToMC);
553 m_tree->Branch("eclSimHitCellId", "std::vector<int>", &m_eclSimHitCellId);
554 m_tree->Branch("eclSimHitPdg", "std::vector<int>", &m_eclSimHitPdg);
555 m_tree->Branch("eclSimHitEnergyDep", "std::vector<double>", &m_eclSimHitEnergyDep);
556 m_tree->Branch("eclSimHitFlightTime", "std::vector<double>", &m_eclSimHitFlightTime);
557 m_tree->Branch("eclSimHitX", "std::vector<double>", &m_eclSimHitX);
558 m_tree->Branch("eclSimHitY", "std::vector<double>", &m_eclSimHitY);
559 m_tree->Branch("eclSimHitZ", "std::vector<double>", &m_eclSimHitZ);
560 m_tree->Branch("eclSimHitPx", "std::vector<double>", &m_eclSimHitPx);
561 m_tree->Branch("eclSimHitPy", "std::vector<double>", &m_eclSimHitPy);
562 m_tree->Branch("eclSimHitPz", "std::vector<double>", &m_eclSimHitPz);
563
564 m_tree->Branch("eclHitMultip", &m_eclHitMultip, "eclHitMultip/I");
565 m_tree->Branch("eclHitIdx", "std::vector<int>", &m_eclHitIdx);
566 m_tree->Branch("eclHitToMC", "std::vector<int>", &m_eclHitToMC);
567 m_tree->Branch("eclHitToDigit", "std::vector<int>", &m_eclHitToDigit);
568 m_tree->Branch("eclHitToDigitAmp", "std::vector<int>", &m_eclHitToDigitAmp);
569 m_tree->Branch("eclHitCellId", "std::vector<int>", &m_eclHitCellId);
570 m_tree->Branch("eclHitEnergyDep", "std::vector<double>", &m_eclHitEnergyDep);
571 m_tree->Branch("eclHitTimeAve", "std::vector<double>", &m_eclHitTimeAve);
572 }
573
574 m_tree->Branch("eclLMMultip", &m_eclLMMultip, "eclLMMultip/I");
575 m_tree->Branch("eclLMId", "std::vector<int>", &m_eclLMId);
576 m_tree->Branch("eclLMType", "std::vector<int>", &m_eclLMType);
577 m_tree->Branch("eclLMCellId", "std::vector<int>", &m_eclLMCellId);
578
579 m_tree->Branch("eclClusterMultip", &m_eclClusterMultip, "eclClusterMultip/I");
580 m_tree->Branch("eclClusterTrueMultip", &m_eclClusterTrueMultip, "eclClusterTrueMultip/I");
581 m_tree->Branch("eclClusterGammaMultip", &m_eclClusterGammaMultip, "eclClusterGammaMultip/I");
582 m_tree->Branch("eclClusterIdx", "std::vector<int>", &m_eclClusterIdx);
583 m_tree->Branch("eclClusterToMC1", "std::vector<int>", &m_eclClusterToMC1);
584 m_tree->Branch("eclClusterToMCWeight1", "std::vector<double>", &m_eclClusterToMCWeight1);
585 m_tree->Branch("eclClusterToMC1PDG", "std::vector<int>", &m_eclClusterToMC1PDG);
586 m_tree->Branch("eclClusterToMC2", "std::vector<int>", &m_eclClusterToMC2);
587 m_tree->Branch("eclClusterToMCWeight2", "std::vector<double>", &m_eclClusterToMCWeight2);
588 m_tree->Branch("eclClusterToMC2PDG", "std::vector<int>", &m_eclClusterToMC2PDG);
589 m_tree->Branch("eclClusterToMC3", "std::vector<int>", &m_eclClusterToMC3);
590 m_tree->Branch("eclClusterToMCWeight3", "std::vector<double>", &m_eclClusterToMCWeight3);
591 m_tree->Branch("eclClusterToMC3PDG", "std::vector<int>", &m_eclClusterToMC3PDG);
592 m_tree->Branch("eclClusterToMC4", "std::vector<int>", &m_eclClusterToMC4);
593 m_tree->Branch("eclClusterToMCWeight4", "std::vector<double>", &m_eclClusterToMCWeight4);
594 m_tree->Branch("eclClusterToMC4PDG", "std::vector<int>", &m_eclClusterToMC4PDG);
595 m_tree->Branch("eclClusterToMC5", "std::vector<int>", &m_eclClusterToMC5);
596 m_tree->Branch("eclClusterToMCWeight5", "std::vector<double>", &m_eclClusterToMCWeight5);
597 m_tree->Branch("eclClusterToMC5PDG", "std::vector<int>", &m_eclClusterToMC5PDG);
598 m_tree->Branch("eclClusterToBkgWeight", "std::vector<double>", &m_eclClusterToBkgWeight);
599 m_tree->Branch("eclClusterSimHitSum", "std::vector<double>", &m_eclClusterSimHitSum);
600 m_tree->Branch("eclClusterToShower", "std::vector<int>", &m_eclClusterToShower);
601 m_tree->Branch("eclClusterEnergy", "std::vector<double>", &m_eclClusterEnergy);
602 m_tree->Branch("eclClusterEnergyError", "std::vector<double>", &m_eclClusterEnergyError);
603 m_tree->Branch("eclClusterTheta", "std::vector<double>", &m_eclClusterTheta);
604 m_tree->Branch("eclClusterThetaError", "std::vector<double>", &m_eclClusterThetaError);
605 m_tree->Branch("eclClusterPhi", "std::vector<double>", &m_eclClusterPhi);
606 m_tree->Branch("eclClusterPhiError", "std::vector<double>", &m_eclClusterPhiError);
607 m_tree->Branch("eclClusterR", "std::vector<double>", &m_eclClusterR);
608 m_tree->Branch("eclClusterEnergyDepSum", "std::vector<double>", &m_eclClusterEnergyDepSum);
609 m_tree->Branch("eclClusterTiming", "std::vector<double>", &m_eclClusterTiming);
610 m_tree->Branch("eclClusterTimingError", "std::vector<double>", &m_eclClusterTimingError);
611 m_tree->Branch("eclClusterE9oE21", "std::vector<double>", &m_eclClusterE9oE21);
612 m_tree->Branch("eclClusterHighestE", "std::vector<double>", &m_eclClusterHighestE);
613 m_tree->Branch("eclClusterCellId", "std::vector<int>", &m_eclClusterCellId);
614 m_tree->Branch("eclClusterNofCrystals", "std::vector<int>", &m_eclClusterNofCrystals);
615 m_tree->Branch("eclClusterCrystalHealth", "std::vector<int>", &m_eclClusterCrystalHealth);
616 m_tree->Branch("eclClusterIsTrack", "std::vector<bool>", &m_eclClusterIsTrack);
617 m_tree->Branch("eclClusterClosestTrackDist", "std::vector<double>", &m_eclClusterClosestTrackDist);
618 m_tree->Branch("eclClusterDeltaL", "std::vector<double>", &m_eclClusterDeltaL);
619 m_tree->Branch("eclClusterAbsZernike40", "std::vector<double>", &m_eclClusterAbsZernike40);
620 m_tree->Branch("eclClusterAbsZernike51", "std::vector<double>", &m_eclClusterAbsZernike51);
621 m_tree->Branch("eclClusterZernikeMVA", "std::vector<double>", &m_eclClusterZernikeMVA);
622 m_tree->Branch("eclClusterE1oE9", "std::vector<double>", &m_eclClusterE1oE9);
623 m_tree->Branch("eclClusterSecondMoment", "std::vector<double>", &m_eclClusterSecondMoment);
624 m_tree->Branch("eclClusterLAT", "std::vector<double>", &m_eclClusterLAT);
625 m_tree->Branch("eclClusterDeltaTime99", "std::vector<double>", &m_eclClusterDeltaTime99);
626 m_tree->Branch("eclClusterDetectorRegion", "std::vector<int>", &m_eclClusterDetectorRegion);
627 m_tree->Branch("eclClusterHasNPhotonHypothesis", "std::vector<int>", &m_eclClusterHasNPhotonHypothesis);
628 m_tree->Branch("eclClusterHasNeutralHadronHypothesis", "std::vector<int>", &m_eclClusterHasNeutralHadronHypothesis);
629
630 if (m_doPureCsI == true) {
631 m_tree->Branch("eclHitToPureDigit", "std::vector<int>", &m_eclHitToPureDigit);
632 m_tree->Branch("eclHitToPureDigitAmp", "std::vector<int>", &m_eclHitToPureDigitAmp);
633 //Pure Digit
634 m_tree->Branch("eclPureDigitMultip", &m_eclPureDigitMultip, "eclPureDigit_Multip/I");
635 m_tree->Branch("eclPureDigitIdx", "std::vector<int>", &m_eclPureDigitIdx);
636 m_tree->Branch("eclPureDigitToMC", "std::vector<int>", &m_eclPureDigitToMC);
637 m_tree->Branch("eclPureDigitCellId", "std::vector<int>", &m_eclPureDigitCellId);
638 m_tree->Branch("eclPureDigitAmp", "std::vector<int>", &m_eclPureDigitAmp);
639 m_tree->Branch("eclPureDigitTimeFit", "std::vector<int>", &m_eclPureDigitTimeFit);
640 m_tree->Branch("eclPureDigitFitQuality", "std::vector<int>", &m_eclPureDigitFitQuality);
641 m_tree->Branch("eclPureDigitToCluster", "std::vector<int>", &m_eclPureDigitToCluster);
642 //Pure CalDigit
643 m_tree->Branch("eclPureCalDigitMultip", &m_eclPureCalDigitMultip, "eclPureCalDigit_Multip/I");
644 m_tree->Branch("eclPureCalDigitIdx", "std::vector<int>", &m_eclPureCalDigitIdx);
645 m_tree->Branch("eclPureCalDigitToMC1", "std::vector<int>", &m_eclPureCalDigitToMC1);
646 m_tree->Branch("eclPureCalDigitToMC1PDG", "std::vector<int>", &m_eclPureCalDigitToMC1PDG);
647 m_tree->Branch("eclPureCalDigitToMCWeight1", "std::vector<double>", &m_eclPureCalDigitToMCWeight1);
648 m_tree->Branch("eclPureCalDigitToMC2", "std::vector<int>", &m_eclPureCalDigitToMC2);
649 m_tree->Branch("eclPureCalDigitToMC2PDG", "std::vector<int>", &m_eclPureCalDigitToMC2PDG);
650 m_tree->Branch("eclPureCalDigitToMCWeight2", "std::vector<double>", &m_eclPureCalDigitToMCWeight2);
651 m_tree->Branch("eclPureCalDigitToMC3", "std::vector<int>", &m_eclPureCalDigitToMC3);
652 m_tree->Branch("eclPureCalDigitToMC3PDG", "std::vector<int>", &m_eclPureCalDigitToMC3PDG);
653 m_tree->Branch("eclPureCalDigitToMCWeight3", "std::vector<double>", &m_eclPureCalDigitToMCWeight3);
654 m_tree->Branch("eclPureCalDigitToMC4", "std::vector<int>", &m_eclPureCalDigitToMC4);
655 m_tree->Branch("eclPureCalDigitToMC4PDG", "std::vector<int>", &m_eclPureCalDigitToMC4PDG);
656 m_tree->Branch("eclPureCalDigitToMCWeight4", "std::vector<double>", &m_eclPureCalDigitToMCWeight4);
657 m_tree->Branch("eclPureCalDigitToMC5", "std::vector<int>", &m_eclPureCalDigitToMC5);
658 m_tree->Branch("eclPureCalDigitToMC5PDG", "std::vector<int>", &m_eclPureCalDigitToMC5PDG);
659 m_tree->Branch("eclPureCalDigitToMCWeight5", "std::vector<double>", &m_eclPureCalDigitToMCWeight5);
660 m_tree->Branch("eclPureCalDigitToBkgWeight", "std::vector<double>", &m_eclPureCalDigitToBkgWeight);
661 m_tree->Branch("eclPureCalDigitSimHitSum", "std::vector<double>", &m_eclPureCalDigitSimHitSum);
662 m_tree->Branch("eclPureCalDigitToShower", "std::vector<int>", &m_eclPureCalDigitToShower);
663 m_tree->Branch("eclPureCalDigitCellId", "std::vector<int>", &m_eclPureCalDigitCellId);
664 m_tree->Branch("eclPureCalDigitAmp", "std::vector<double>", &m_eclPureCalDigitAmp);
665 m_tree->Branch("eclPureCalDigitTimeFit", "std::vector<double>", &m_eclPureCalDigitTimeFit);
666 m_tree->Branch("eclPureCalDigitFitQuality", "std::vector<int>", &m_eclPureCalDigitFitQuality);
667 m_tree->Branch("eclPureCalDigitToCR", "std::vector<int>", &m_eclPureCalDigitToCR);
668 m_tree->Branch("eclPureCalDigitToLM", "std::vector<int>", &m_eclPureCalDigitToLM);
669 m_tree->Branch("eclPureLMMultip", &m_eclPureLMMultip, "eclPureLMMultip/I");
670
671 m_tree->Branch("eclPureCRIdx", "std::vector<int>", &m_eclPureCRIdx);
672 m_tree->Branch("eclPureCRIsTrack", "std::vector<int>", &m_eclPureCRIsTrack);
673 m_tree->Branch("eclPureCRLikelihoodMIPNGamma", "std::vector<double>", &m_eclPureCRLikelihoodMIPNGamma);
674 m_tree->Branch("eclPureCRLikelihoodChargedHadron", "std::vector<double>", &m_eclPureCRLikelihoodChargedHadron);
675 m_tree->Branch("eclPureCRLikelihoodElectronNGamma", "std::vector<double>", &m_eclPureCRLikelihoodElectronNGamma);
676 m_tree->Branch("eclPureCRLikelihoodNGamma", "std::vector<double>", &m_eclPureCRLikelihoodNGamma);
677 m_tree->Branch("eclPureCRLikelihoodNeutralHadron", "std::vector<double>", &m_eclPureCRLikelihoodNeutralHadron);
678 m_tree->Branch("eclPureCRLikelihoodMergedPi0", "std::vector<double>", &m_eclPureCRLikelihoodMergedPi0);
679
680 m_tree->Branch("eclPureLMId", "std::vector<int>", &m_eclPureLMId);
681 m_tree->Branch("eclPureLMType", "std::vector<int>", &m_eclPureLMType);
682 m_tree->Branch("eclPureLMCellId", "std::vector<int>", &m_eclPureLMCellId);
683 //Pure Clusters
684 m_tree->Branch("eclPureClusterMultip", &m_eclPureClusterMultip, "eclPureClusterMultip/I");
685 m_tree->Branch("eclPureClusterIdx", "std::vector<int>", &m_eclPureClusterIdx);
686 m_tree->Branch("eclPureClusterToMC1", "std::vector<int>", &m_eclPureClusterToMC1);
687 m_tree->Branch("eclPureClusterToMCWeight1", "std::vector<double>", &m_eclPureClusterToMCWeight1);
688 m_tree->Branch("eclPureClusterToMC1PDG", "std::vector<int>", &m_eclPureClusterToMC1PDG);
689 m_tree->Branch("eclPureClusterToMC2", "std::vector<int>", &m_eclPureClusterToMC2);
690 m_tree->Branch("eclPureClusterToMCWeight2", "std::vector<double>", &m_eclPureClusterToMCWeight2);
691 m_tree->Branch("eclPureClusterToMC2PDG", "std::vector<int>", &m_eclPureClusterToMC2PDG);
692 m_tree->Branch("eclPureClusterToMC3", "std::vector<int>", &m_eclPureClusterToMC3);
693 m_tree->Branch("eclPureClusterToMCWeight3", "std::vector<double>", &m_eclPureClusterToMCWeight3);
694 m_tree->Branch("eclPureClusterToMC3PDG", "std::vector<int>", &m_eclPureClusterToMC3PDG);
695 m_tree->Branch("eclPureClusterToMC4", "std::vector<int>", &m_eclPureClusterToMC4);
696 m_tree->Branch("eclPureClusterToMCWeight4", "std::vector<double>", &m_eclPureClusterToMCWeight4);
697 m_tree->Branch("eclPureClusterToMC4PDG", "std::vector<int>", &m_eclPureClusterToMC4PDG);
698 m_tree->Branch("eclPureClusterToMC5", "std::vector<int>", &m_eclPureClusterToMC5);
699 m_tree->Branch("eclPureClusterToMCWeight5", "std::vector<double>", &m_eclPureClusterToMCWeight5);
700 m_tree->Branch("eclPureClusterToMC5PDG", "std::vector<int>", &m_eclPureClusterToMC5PDG);
701 m_tree->Branch("eclPureClusterToBkgWeight", "std::vector<double>", &m_eclPureClusterToBkgWeight);
702 m_tree->Branch("eclPureClusterEnergy", "std::vector<double>", &m_eclPureClusterEnergy);
703 m_tree->Branch("eclPureClusterEnergyError", "std::vector<double>", &m_eclPureClusterEnergyError);
704 m_tree->Branch("eclPureClusterTheta", "std::vector<double>", &m_eclPureClusterTheta);
705 m_tree->Branch("eclPureClusterThetaError", "std::vector<double>", &m_eclPureClusterThetaError);
706 m_tree->Branch("eclPureClusterPhi", "std::vector<double>", &m_eclPureClusterPhi);
707 m_tree->Branch("eclPureClusterPhiError", "std::vector<double>", &m_eclPureClusterPhiError);
708 m_tree->Branch("eclPureClusterR", "std::vector<double>", &m_eclPureClusterR);
709 m_tree->Branch("eclPureClusterEnergyDepSum", "std::vector<double>", &m_eclPureClusterEnergyDepSum);
710 m_tree->Branch("eclPureClusterTiming", "std::vector<double>", &m_eclPureClusterTiming);
711 m_tree->Branch("eclPureClusterTimingError", "std::vector<double>", &m_eclPureClusterTimingError);
712 m_tree->Branch("eclPureClusterE9oE21", "std::vector<double>", &m_eclPureClusterE9oE21);
713 m_tree->Branch("eclPureClusterHighestE", "std::vector<double>", &m_eclPureClusterHighestE);
714 m_tree->Branch("eclPureClusterCellId", "std::vector<int>", &m_eclPureClusterCellId);
715 m_tree->Branch("eclPureClusterLat", "std::vector<double>", &m_eclPureClusterLat);
716 m_tree->Branch("eclPureClusterNofCrystals", "std::vector<int>", &m_eclPureClusterNofCrystals);
717 m_tree->Branch("eclPureClusterCrystalHealth", "std::vector<int>", &m_eclPureClusterCrystalHealth);
718 m_tree->Branch("eclPureClusterClosestTrackDist", "std::vector<double>", &m_eclPureClusterClosestTrackDist);
719 m_tree->Branch("eclPureClusterAbsZernike40", "std::vector<double>", &m_eclPureClusterAbsZernike40);
720 m_tree->Branch("eclPureClusterAbsZernike51", "std::vector<double>", &m_eclPureClusterAbsZernike51);
721 m_tree->Branch("eclPureClusterZernikeMVA", "std::vector<double>", &m_eclPureClusterZernikeMVA);
722 m_tree->Branch("eclPureClusterSecondMoment", "std::vector<double>", &m_eclPureClusterSecondMoment);
723 m_tree->Branch("eclPureClusterIsTrack", "std::vector<bool>", &m_eclPureClusterIsTrack);
724 m_tree->Branch("eclPureClusterDeltaL", "std::vector<double>", &m_eclPureClusterDeltaL);
725 m_tree->Branch("eclPureClusterE1oE9", "std::vector<double>", &m_eclPureClusterE1oE9);
726 m_tree->Branch("eclPureClusterDeltaTime99", "std::vector<double>", &m_eclPureClusterDeltaTime99);
727 m_tree->Branch("eclPureClusterDetectorRegion", "std::vector<int>", &m_eclPureClusterDetectorRegion);
728 m_tree->Branch("eclPureClusterHasNPhotonHypothesis", "std::vector<int>", &m_eclPureClusterHasNPhotonHypothesis);
729 m_tree->Branch("eclPureClusterHasNeutralHadronHypothesis", "std::vector<int>", &m_eclPureClusterHasNeutralHadronHypothesis);
730 }
731
733 m_tree->Branch("eclShowerMultip", &m_eclShowerMultip, "eclShowerMultip/I");
734 m_tree->Branch("eclShowerIdx", "std::vector<int>", &m_eclShowerIdx);
735 m_tree->Branch("eclShowerToMC1", "std::vector<int>", &m_eclShowerToMC1);
736 m_tree->Branch("eclShowerToMCWeight1", "std::vector<double>", &m_eclShowerToMCWeight1);
737 m_tree->Branch("eclShowerToMC1PDG", "std::vector<int>", &m_eclShowerToMC1PDG);
738 m_tree->Branch("eclShowerToMC1Moth", "std::vector<int>", &m_eclShowerToMC1Moth);
739 m_tree->Branch("eclShowerToMC1MothPDG", "std::vector<int>", &m_eclShowerToMC1MothPDG);
740 m_tree->Branch("eclShowerToMC1GMoth", "std::vector<int>", &m_eclShowerToMC1GMoth);
741 m_tree->Branch("eclShowerToMC1GMothPDG", "std::vector<int>", &m_eclShowerToMC1GMothPDG);
742 m_tree->Branch("eclShowerToMC2", "std::vector<int>", &m_eclShowerToMC2);
743 m_tree->Branch("eclShowerToMCWeight2", "std::vector<double>", &m_eclShowerToMCWeight2);
744 m_tree->Branch("eclShowerToMC2PDG", "std::vector<int>", &m_eclShowerToMC2PDG);
745 m_tree->Branch("eclShowerToMC2Moth", "std::vector<int>", &m_eclShowerToMC2Moth);
746 m_tree->Branch("eclShowerToMC2MothPDG", "std::vector<int>", &m_eclShowerToMC2MothPDG);
747 m_tree->Branch("eclShowerToMC2GMoth", "std::vector<int>", &m_eclShowerToMC2GMoth);
748 m_tree->Branch("eclShowerToMC2GMothPDG", "std::vector<int>", &m_eclShowerToMC2GMothPDG);
749 m_tree->Branch("eclShowerToMC3", "std::vector<int>", &m_eclShowerToMC3);
750 m_tree->Branch("eclShowerToMCWeight3", "std::vector<double>", &m_eclShowerToMCWeight3);
751 m_tree->Branch("eclShowerToMC3PDG", "std::vector<int>", &m_eclShowerToMC3PDG);
752 m_tree->Branch("eclShowerToMC3Moth", "std::vector<int>", &m_eclShowerToMC3Moth);
753 m_tree->Branch("eclShowerToMC3MothPDG", "std::vector<int>", &m_eclShowerToMC3MothPDG);
754 m_tree->Branch("eclShowerToMC3GMoth", "std::vector<int>", &m_eclShowerToMC3GMoth);
755 m_tree->Branch("eclShowerToMC3GMothPDG", "std::vector<int>", &m_eclShowerToMC3GMothPDG);
756 m_tree->Branch("eclShowerToMC4", "std::vector<int>", &m_eclShowerToMC4);
757 m_tree->Branch("eclShowerToMCWeight4", "std::vector<double>", &m_eclShowerToMCWeight4);
758 m_tree->Branch("eclShowerToMC4PDG", "std::vector<int>", &m_eclShowerToMC4PDG);
759 m_tree->Branch("eclShowerToMC4Moth", "std::vector<int>", &m_eclShowerToMC4Moth);
760 m_tree->Branch("eclShowerToMC4MothPDG", "std::vector<int>", &m_eclShowerToMC4MothPDG);
761 m_tree->Branch("eclShowerToMC4GMoth", "std::vector<int>", &m_eclShowerToMC4GMoth);
762 m_tree->Branch("eclShowerToMC4GMothPDG", "std::vector<int>", &m_eclShowerToMC4GMothPDG);
763 m_tree->Branch("eclShowerToMC5", "std::vector<int>", &m_eclShowerToMC5);
764 m_tree->Branch("eclShowerToMCWeight5", "std::vector<double>", &m_eclShowerToMCWeight5);
765 m_tree->Branch("eclShowerToMC5PDG", "std::vector<int>", &m_eclShowerToMC5PDG);
766 m_tree->Branch("eclShowerToMC5Moth", "std::vector<int>", &m_eclShowerToMC5Moth);
767 m_tree->Branch("eclShowerToMC5MothPDG", "std::vector<int>", &m_eclShowerToMC5MothPDG);
768 m_tree->Branch("eclShowerToMC5GMoth", "std::vector<int>", &m_eclShowerToMC5GMoth);
769 m_tree->Branch("eclShowerToMC5GMothPDG", "std::vector<int>", &m_eclShowerToMC5GMothPDG);
770 m_tree->Branch("eclShowerToBkgWeight", "std::vector<double>", &m_eclShowerToBkgWeight);
771 m_tree->Branch("eclShowerToLM1", "std::vector<int>", &m_eclShowerToLM1);
772 m_tree->Branch("eclShowerToLM2", "std::vector<int>", &m_eclShowerToLM2);
773 m_tree->Branch("eclShowerToLM3", "std::vector<int>", &m_eclShowerToLM3);
774 m_tree->Branch("eclShowerToLM4", "std::vector<int>", &m_eclShowerToLM4);
775 m_tree->Branch("eclShowerToLM5", "std::vector<int>", &m_eclShowerToLM5);
776 m_tree->Branch("eclShowerSimHitSum", "std::vector<double>", &m_eclShowerSimHitSum);
777 m_tree->Branch("eclShowerEnergy", "std::vector<double>", &m_eclShowerEnergy);
778 m_tree->Branch("eclShowerUncEnergy", "std::vector<double>", &m_eclShowerUncEnergy);
779 m_tree->Branch("eclShowerTheta", "std::vector<double>", &m_eclShowerTheta);
780 m_tree->Branch("eclShowerPhi", "std::vector<double>", &m_eclShowerPhi);
781 m_tree->Branch("eclShowerR", "std::vector<double>", &m_eclShowerR);
782 m_tree->Branch("eclShowerNHits", "std::vector<double>", &m_eclShowerNHits);
783 m_tree->Branch("eclShowerE9oE21", "std::vector<double>", &m_eclShowerE9oE21);
784 m_tree->Branch("eclShowerTime", "std::vector<double>", &m_eclShowerTime);
785 m_tree->Branch("eclShowerT99", "std::vector<double>", &m_eclShowerT99);
786 m_tree->Branch("eclShowerConnectedRegionId", "std::vector<int>", &m_eclShowerConnectedRegionId);
787 m_tree->Branch("eclShowerHypothesisId", "std::vector<int>", &m_eclShowerHypothesisId);
788 m_tree->Branch("eclShowerCentralCellId", "std::vector<int>", &m_eclShowerCentralCellId);
789 m_tree->Branch("eclShowerEnergyError", "std::vector<double>", &m_eclShowerEnergyError);
790 m_tree->Branch("eclShowerThetaError", "std::vector<double>", &m_eclShowerThetaError);
791 m_tree->Branch("eclShowerPhiError", "std::vector<double>", &m_eclShowerPhiError);
792 m_tree->Branch("eclShowerTimeResolution", "std::vector<double>", &m_eclShowerTimeResolution);
793 m_tree->Branch("eclShowerHighestEnergy", "std::vector<double>", &m_eclShowerHighestEnergy);
794 m_tree->Branch("eclShowerLateralEnergy", "std::vector<double>", &m_eclShowerLateralEnergy);
795 m_tree->Branch("eclShowerMinTrkDistance", "std::vector<double>", &m_eclShowerMinTrkDistance);
796 m_tree->Branch("eclShowerTrkDepth", "std::vector<double>", &m_eclShowerTrkDepth);
797 m_tree->Branch("eclShowerShowerDepth", "std::vector<double>", &m_eclShowerShowerDepth);
798 m_tree->Branch("eclShowerAbsZernike40", "std::vector<double>", &m_eclShowerAbsZernike40);
799 m_tree->Branch("eclShowerAbsZernike51", "std::vector<double>", &m_eclShowerAbsZernike51);
800 m_tree->Branch("eclShowerZernikeMVA", "std::vector<double>", &m_eclShowerZernikeMVA);
801 m_tree->Branch("eclShowerSecondMoment", "std::vector<double>", &m_eclShowerSecondMoment);
802 m_tree->Branch("eclShowerE1oE9", "std::vector<double>", &m_eclShowerE1oE9);
803 m_tree->Branch("eclShowerIsTrack", "std::vector<int>", &m_eclShowerIsTrack);
804 m_tree->Branch("eclShowerIsCluster", "std::vector<bool>", &m_eclShowerIsCluster);
805 m_tree->Branch("eclShowerMCVtxInEcl", "std::vector<int>", &m_eclShowerMCVtxInEcl);
806 m_tree->Branch("eclShowerMCFlightMatch", "std::vector<int>", &m_eclShowerMCFlightMatch);
807 m_tree->Branch("eclShowerMCFFlightMatch", "std::vector<int>", &m_eclShowerMCFFlightMatch);
808 m_tree->Branch("eclShowerHighestE1mE2", "std::vector<double>", &m_eclShowerHighestE1mE2);
809 m_tree->Branch("eclShowerNumberOfCrystalsForEnergy", "std::vector<double>", &m_eclShowerNumberOfCrystalsForEnergy);
810
811 //MC Truth
812 m_tree->Branch("mcMultip", &m_mcMultip, "mcMultip/I");
813 m_tree->Branch("mcIdx", "std::vector<int>", &m_mcIdx);
814 m_tree->Branch("mcPdg", "std::vector<int>", &m_mcPdg);
815 m_tree->Branch("mcMothPdg", "std::vector<int>", &m_mcMothPdg);
816 m_tree->Branch("mcGMothPdg", "std::vector<int>", &m_mcGMothPdg);
817 m_tree->Branch("mcGGMothPdg", "std::vector<int>", &m_mcGGMothPdg);
818 m_tree->Branch("mcEnergy", "std::vector<double>", &m_mcEnergy);
819 m_tree->Branch("mcPx", "std::vector<double>", &m_mcPx);
820 m_tree->Branch("mcPy", "std::vector<double>", &m_mcPy);
821 m_tree->Branch("mcPz", "std::vector<double>", &m_mcPz);
822 m_tree->Branch("mcDecVtxx", "std::vector<double>", &m_mcDecayVtxX);
823 m_tree->Branch("mcDecVtxy", "std::vector<double>", &m_mcDecayVtxY);
824 m_tree->Branch("mcDecVtxz", "std::vector<double>", &m_mcDecayVtxZ);
825 m_tree->Branch("mcProdVtxx", "std::vector<double>", &m_mcProdVtxX);
826 m_tree->Branch("mcProdVtxy", "std::vector<double>", &m_mcProdVtxY);
827 m_tree->Branch("mcProdVtxz", "std::vector<double>", &m_mcProdVtxZ);
828 m_tree->Branch("mcSecProc", "std::vector<int>", &m_mcSecondaryPhysProc);
829
830 if (m_doTracking == true) {
831 m_tree->Branch("trkMultip", &m_trkMultip, "trkMulti/I");
832 m_tree->Branch("trkIdx", "std::vector<int>", &m_trkIdx);
833 m_tree->Branch("trkPdg", "std::vector<int>", &m_trkPdg);
834 m_tree->Branch("trkCharge", "std::vector<int>", &m_trkCharge);
835 m_tree->Branch("trkPx", "std::vector<double>", &m_trkPx);
836 m_tree->Branch("trkPy", "std::vector<double>", &m_trkPy);
837 m_tree->Branch("trkPz", "std::vector<double>", &m_trkPz);
838 m_tree->Branch("trkP", "std::vector<double>", &m_trkP);
839 m_tree->Branch("trkTheta", "std::vector<double>", &m_trkTheta);
840 m_tree->Branch("trkPhi", "std::vector<double>", &m_trkPhi);
841 m_tree->Branch("trkPosx", "std::vector<double>", &m_trkX);
842 m_tree->Branch("trkPosy", "std::vector<double>", &m_trkY);
843 m_tree->Branch("trkPosz", "std::vector<double>", &m_trkZ);
844
845 m_tree->Branch("eclpidtrkIdx", "std::vector<int>", &m_eclpidtrkIdx);
846 m_tree->Branch("eclpidEnergy", "std::vector<double>", &m_eclpidEnergy);
847 m_tree->Branch("eclpidEop", "std::vector<double>", &m_eclpidEop);
848 m_tree->Branch("eclpidE9E21", "std::vector<double>", &m_eclpidE9E21);
849 m_tree->Branch("eclpidNCrystals", "std::vector<int>", &m_eclpidNCrystals);
850 m_tree->Branch("eclpidNClusters", "std::vector<int>", &m_eclpidNClusters);
851 m_tree->Branch("eclLogLikeEl", "std::vector<double>", &m_eclLogLikeEl);
852 m_tree->Branch("eclLogLikeMu", "std::vector<double>", &m_eclLogLikeMu);
853 m_tree->Branch("eclLogLikePi", "std::vector<double>", &m_eclLogLikePi);
854 }
855
856 B2INFO("[ECLDataAnalysis Module]: Initialization of ECLDataAnalysis Module completed.");
857
858}
StoreArray< TrackFitResult > m_trackFitResults
TrackFitResult storeArray.
StoreArray< ECLPidLikelihood > m_eclPidLikelihoods
ECLPidLikelihood storeArray.

◆ setAbortLevel()

void setAbortLevel ( int abortLevel)
inherited

Configure the abort log level.

Definition at line 67 of file Module.cc.

68{
69 m_logConfig.setAbortLevel(static_cast<LogConfig::ELogLevel>(abortLevel));
70}
ELogLevel
Definition of the supported log levels.
Definition LogConfig.h:26
void setAbortLevel(ELogLevel abortLevel)
Configure the abort level.
Definition LogConfig.h:112

◆ setDebugLevel()

void setDebugLevel ( int debugLevel)
inherited

Configure the debug messaging level.

Definition at line 61 of file Module.cc.

62{
63 m_logConfig.setDebugLevel(debugLevel);
64}
void setDebugLevel(int debugLevel)
Configure the debug messaging level.
Definition LogConfig.h:98

◆ 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.

215{
216 m_description = description;
217}
std::string m_description
The description of the module.
Definition Module.h:510

◆ setLogConfig()

void setLogConfig ( const LogConfig & logConfig)
inlineinherited

Set the log system configuration.

Definition at line 229 of file Module.h.

229{m_logConfig = logConfig;}

◆ 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.

74{
75 m_logConfig.setLogInfo(static_cast<LogConfig::ELogLevel>(logLevel), logInfo);
76}
void setLogInfo(ELogLevel logLevel, unsigned int logInfo)
Configure the printed log information for the given level.
Definition LogConfig.h:127

◆ setLogLevel()

void setLogLevel ( int logLevel)
inherited

Configure the log level.

Definition at line 55 of file Module.cc.

56{
57 m_logConfig.setLogLevel(static_cast<LogConfig::ELogLevel>(logLevel));
58}
void setLogLevel(ELogLevel logLevel)
Configure the log level.
Definition LogConfig.cc:25

◆ 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 213 of file Module.h.

213{ m_name = name; };

◆ setParamList()

void setParamList ( const ModuleParamList & params)
inlineprotectedinherited

Replace existing parameter list.

Definition at line 500 of file Module.h.

500{ m_moduleParamList = params; }

◆ 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.

235{
236 LogSystem& logSystem = LogSystem::Instance();
237 logSystem.updateModule(&(getLogConfig()), getName());
238 try {
240 } catch (std::runtime_error& e) {
241 throw std::runtime_error("Cannot set parameter '" + name + "' for module '"
242 + m_name + "': " + e.what());
243 }
244
245 logSystem.updateModule(nullptr);
246}
void updateModule(const LogConfig *moduleLogConfig=nullptr, const std::string &moduleName="")
Sets the log configuration to the given module log configuration and sets the module name This method...
Definition LogSystem.h:200
static LogSystem & Instance()
Static method to get a reference to the LogSystem instance.
Definition LogSystem.cc:28
LogConfig & getLogConfig()
Returns the log system configuration.
Definition Module.h:224
std::string m_name
The name of the module, saved as a string (user-modifiable)
Definition Module.h:507
void setParamPython(const std::string &name, const PythonObject &pyObj)
Implements a method for setting boost::python objects.

◆ 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.

250{
251
252 LogSystem& logSystem = LogSystem::Instance();
253 logSystem.updateModule(&(getLogConfig()), getName());
254
255 boost::python::list dictKeys = dictionary.keys();
256 int nKey = boost::python::len(dictKeys);
257
258 //Loop over all keys in the dictionary
259 for (int iKey = 0; iKey < nKey; ++iKey) {
260 boost::python::object currKey = dictKeys[iKey];
261 boost::python::extract<std::string> keyProxy(currKey);
262
263 if (keyProxy.check()) {
264 const boost::python::object& currValue = dictionary[currKey];
265 setParamPython(keyProxy, currValue);
266 } else {
267 B2ERROR("Setting the module parameters from a python dictionary: invalid key in dictionary!");
268 }
269 }
270
271 logSystem.updateModule(nullptr);
272}
void setParamPython(const std::string &name, const boost::python::object &pyObj)
Implements a method for setting boost::python objects.
Definition Module.cc:234

◆ 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.

209{
210 m_propertyFlags = propertyFlags;
211}

◆ 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.

228{
229 m_hasReturnValue = true;
230 m_returnValue = value;
231}

◆ 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.

221{
222 m_hasReturnValue = true;
223 m_returnValue = value;
224}

◆ 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.

49{
50 if (!m_type.empty())
51 B2FATAL("Trying to change module type from " << m_type << " is not allowed, the value is assumed to be fixed.");
52 m_type = type;
53}

◆ terminate()

void terminate ( void )
overridevirtual

Termination action.

Reimplemented from Module.

Definition at line 2380 of file ECLDataAnalysisModule.cc.

2381{
2382
2383 if (m_rootFilePtr != nullptr) {
2384 m_rootFilePtr->cd();
2385 m_tree->Write();
2386 }
2387
2388}

Member Data Documentation

◆ m_conditions

std::vector<ModuleCondition> m_conditions
privateinherited

Module condition, only non-null if set.

Definition at line 520 of file Module.h.

◆ m_description

std::string m_description
privateinherited

The description of the module.

Definition at line 510 of file Module.h.

◆ m_doDigits

bool m_doDigits
private

if true, info on Digits and CalDigits is stored

Definition at line 86 of file ECLDataAnalysisModule.h.

◆ m_doHits

bool m_doHits
private

if true, info on Hits and SimHits is stored

Definition at line 85 of file ECLDataAnalysisModule.h.

◆ m_doPureCsI

bool m_doPureCsI
private

if true, info on pureCsI upgrade is stored

Definition at line 84 of file ECLDataAnalysisModule.h.

◆ m_doTracking

bool m_doTracking
private

if true, info on tracking will be stored, job will fail if doTracking==1 and the tracking modules are not enabled at python level

Definition at line 83 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitAmp

std::vector<double>* m_eclCalDigitAmp
private

ECLCalDigit amplitude.

Definition at line 215 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitCellId

std::vector<int>* m_eclCalDigitCellId
private

Number of ECLCalDigit CellId.

Definition at line 214 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitFitQuality

std::vector<int>* m_eclCalDigitFitQuality
private

ECLCalDigit fit quality.

Definition at line 217 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitIdx

std::vector<int>* m_eclCalDigitIdx
private

ECLCalDigit index.

Definition at line 194 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitMultip

int m_eclCalDigitMultip
private

Number of ECLCalDigits per event.

Definition at line 193 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigits

StoreArray<ECLCalDigit> m_eclCalDigits
private

Store array: ECLCalDigit.

Definition at line 95 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitSimHitSum

std::vector<double>* m_eclCalDigitSimHitSum
private

Full energy contribution related to ECLCalDigit.

Definition at line 212 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitTimeFit

std::vector<double>* m_eclCalDigitTimeFit
private

ECLCalDigit timing.

Definition at line 216 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitToBkgWeight

std::vector<double>* m_eclCalDigitToBkgWeight
private

Remaining energy contribution not associated to first five MCParticles related to ECLCalDigit.

Definition at line 211 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitToCR

std::vector<int>* m_eclCalDigitToCR
private

Index of CR related to that ECLCalDigit.

Definition at line 218 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitToLM

std::vector<int>* m_eclCalDigitToLM
private

Index of LM related to that ECLCalDigit.

Definition at line 219 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitToMC1

std::vector<int>* m_eclCalDigitToMC1
private

Index of first MCParticle related to ECLCalDigit.

Definition at line 195 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitToMC1PDG

std::vector<int>* m_eclCalDigitToMC1PDG
private

PDG code of first MCParticle related to ECLCalDigit.

Definition at line 196 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitToMC2

std::vector<int>* m_eclCalDigitToMC2
private

Index of second MCParticle related to ECLCalDigit.

Definition at line 198 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitToMC2PDG

std::vector<int>* m_eclCalDigitToMC2PDG
private

PDG code of second MCParticle related to ECLCalDigit.

Definition at line 199 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitToMC3

std::vector<int>* m_eclCalDigitToMC3
private

Index of third MCParticle related to ECLCalDigit.

Definition at line 201 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitToMC3PDG

std::vector<int>* m_eclCalDigitToMC3PDG
private

PDG code of third MCParticle related to ECLCalDigit.

Definition at line 202 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitToMC4

std::vector<int>* m_eclCalDigitToMC4
private

Index of fourth MCParticle related to ECLCalDigit.

Definition at line 204 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitToMC4PDG

std::vector<int>* m_eclCalDigitToMC4PDG
private

PDG code of fourth MCParticle related to ECLCalDigit.

Definition at line 205 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitToMC5

std::vector<int>* m_eclCalDigitToMC5
private

Index of fifth MCParticle related to ECLCalDigit.

Definition at line 207 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitToMC5PDG

std::vector<int>* m_eclCalDigitToMC5PDG
private

PDG code of fifth MCParticle related to ECLCalDigit.

Definition at line 208 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitToMCWeight1

std::vector<double>* m_eclCalDigitToMCWeight1
private

Energy contribution of first MCParticle related to ECLCalDigit.

Definition at line 197 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitToMCWeight2

std::vector<double>* m_eclCalDigitToMCWeight2
private

Energy contribution of second MCParticle related to ECLCalDigit.

Definition at line 200 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitToMCWeight3

std::vector<double>* m_eclCalDigitToMCWeight3
private

Energy contribution of third MCParticle related to ECLCalDigit.

Definition at line 203 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitToMCWeight4

std::vector<double>* m_eclCalDigitToMCWeight4
private

Energy contribution of fourth MCParticle related to ECLCalDigit.

Definition at line 206 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitToMCWeight5

std::vector<double>* m_eclCalDigitToMCWeight5
private

Energy contribution of fifth MCParticle related to ECLCalDigit.

Definition at line 209 of file ECLDataAnalysisModule.h.

◆ m_eclCalDigitToShower

std::vector<int>* m_eclCalDigitToShower
private

Index of ECLShower related to that ECLCalDigit.

Definition at line 213 of file ECLDataAnalysisModule.h.

◆ m_eclClusterAbsZernike40

std::vector<double>* m_eclClusterAbsZernike40
private

Reconstructed Abs Zernike40.

Definition at line 301 of file ECLDataAnalysisModule.h.

◆ m_eclClusterAbsZernike51

std::vector<double>* m_eclClusterAbsZernike51
private

Reconstructed Abs Zernike51.

Definition at line 302 of file ECLDataAnalysisModule.h.

◆ m_eclClusterCellId

std::vector<int>* m_eclClusterCellId
private

CellId with highest energy deposit in ECLCluster.

Definition at line 295 of file ECLDataAnalysisModule.h.

◆ m_eclClusterClosestTrackDist

std::vector<double>* m_eclClusterClosestTrackDist
private

Flag for charged clusters.

Definition at line 299 of file ECLDataAnalysisModule.h.

◆ m_eclClusterCrystalHealth

std::vector<int>* m_eclClusterCrystalHealth
private

Crystal health flag.

Definition at line 297 of file ECLDataAnalysisModule.h.

◆ m_eclClusterDeltaL

std::vector<double>* m_eclClusterDeltaL
private

Reconstructed Cluster DeltaL.

Definition at line 300 of file ECLDataAnalysisModule.h.

◆ m_eclClusterDeltaTime99

std::vector<double>* m_eclClusterDeltaTime99
private

DeltaTime99.

Definition at line 307 of file ECLDataAnalysisModule.h.

◆ m_eclClusterDetectorRegion

std::vector<int>* m_eclClusterDetectorRegion
private

Cluster Detector Region.

Definition at line 308 of file ECLDataAnalysisModule.h.

◆ m_eclClusterE1oE9

std::vector<double>* m_eclClusterE1oE9
private

Reconstructed E1 over E9.

Definition at line 304 of file ECLDataAnalysisModule.h.

◆ m_eclClusterE9oE21

std::vector<double>* m_eclClusterE9oE21
private

Ratio of 3x3 over 5x5 crystal matrices energies for ECLCluster.

Definition at line 293 of file ECLDataAnalysisModule.h.

◆ m_eclClusterEnergy

std::vector<double>* m_eclClusterEnergy
private

ECLCluster energy.

Definition at line 283 of file ECLDataAnalysisModule.h.

◆ m_eclClusterEnergyDepSum

std::vector<double>* m_eclClusterEnergyDepSum
private

ECLCluster simulated energy.

Definition at line 290 of file ECLDataAnalysisModule.h.

◆ m_eclClusterEnergyError

std::vector<double>* m_eclClusterEnergyError
private

ECLCluster energy error.

Definition at line 284 of file ECLDataAnalysisModule.h.

◆ m_eclClusterGammaMultip

int m_eclClusterGammaMultip
private

Number of ECLClusters per event.

Definition at line 262 of file ECLDataAnalysisModule.h.

◆ m_eclClusterHasNeutralHadronHypothesis

std::vector<int>* m_eclClusterHasNeutralHadronHypothesis
private

Cluster has neutral hadron hypothesis.

Definition at line 310 of file ECLDataAnalysisModule.h.

◆ m_eclClusterHasNPhotonHypothesis

std::vector<int>* m_eclClusterHasNPhotonHypothesis
private

Cluster has n-photon hypothesis.

Definition at line 309 of file ECLDataAnalysisModule.h.

◆ m_eclClusterHighestE

std::vector<double>* m_eclClusterHighestE
private

Highest energy deposit (per crystal) in ECLCluster.

Definition at line 294 of file ECLDataAnalysisModule.h.

◆ m_eclClusterIdx

std::vector<int>* m_eclClusterIdx
private

ECLCluster index.

Definition at line 263 of file ECLDataAnalysisModule.h.

◆ m_eclClusterIsTrack

std::vector<bool>* m_eclClusterIsTrack
private

Flag for charged clusters.

Definition at line 298 of file ECLDataAnalysisModule.h.

◆ m_eclClusterLAT

std::vector<double>* m_eclClusterLAT
private

Reconstructed LAT.

Definition at line 306 of file ECLDataAnalysisModule.h.

◆ m_eclClusterMultip

int m_eclClusterMultip
private

Number of ECLClusters per event.

Definition at line 260 of file ECLDataAnalysisModule.h.

◆ m_eclClusterNofCrystals

std::vector<int>* m_eclClusterNofCrystals
private

Number of crystals in ECLCluster.

Definition at line 296 of file ECLDataAnalysisModule.h.

◆ m_eclClusterPhi

std::vector<double>* m_eclClusterPhi
private

ECLCluster azimuthal direction.

Definition at line 287 of file ECLDataAnalysisModule.h.

◆ m_eclClusterPhiError

std::vector<double>* m_eclClusterPhiError
private

ECLCluster error on azimuthal direction.

Definition at line 288 of file ECLDataAnalysisModule.h.

◆ m_eclClusterR

std::vector<double>* m_eclClusterR
private

ECLCluster distance from IP.

Definition at line 289 of file ECLDataAnalysisModule.h.

◆ m_eclClusters

StoreArray<ECLCluster> m_eclClusters
private

Store array: ECLCluster.

Definition at line 98 of file ECLDataAnalysisModule.h.

◆ m_eclClusterSecondMoment

std::vector<double>* m_eclClusterSecondMoment
private

Reconstructed Second Moment.

Definition at line 305 of file ECLDataAnalysisModule.h.

◆ m_eclClusterSimHitSum

std::vector<double>* m_eclClusterSimHitSum
private

Energy contribution of 1st MCParticle related to ECLCluster.

Definition at line 281 of file ECLDataAnalysisModule.h.

◆ m_eclClusterTheta

std::vector<double>* m_eclClusterTheta
private

ECLCluster polar direction.

Definition at line 285 of file ECLDataAnalysisModule.h.

◆ m_eclClusterThetaError

std::vector<double>* m_eclClusterThetaError
private

ECLCluster error on polar direction.

Definition at line 286 of file ECLDataAnalysisModule.h.

◆ m_eclClusterTiming

std::vector<double>* m_eclClusterTiming
private

ECLCluster time.

Definition at line 291 of file ECLDataAnalysisModule.h.

◆ m_eclClusterTimingError

std::vector<double>* m_eclClusterTimingError
private

ECLCluster time error.

Definition at line 292 of file ECLDataAnalysisModule.h.

◆ m_eclClusterToBkgWeight

std::vector<double>* m_eclClusterToBkgWeight
private

Remaining energy contribution not associated to first five MCParticles related to ECLCluster.

Definition at line 280 of file ECLDataAnalysisModule.h.

◆ m_eclClusterToMC1

std::vector<int>* m_eclClusterToMC1
private

Index of first MCParticle related to ECLCluster.

Definition at line 264 of file ECLDataAnalysisModule.h.

◆ m_eclClusterToMC1PDG

std::vector<int>* m_eclClusterToMC1PDG
private

PDG code of first MCParticle related to ECLCluster.

Definition at line 266 of file ECLDataAnalysisModule.h.

◆ m_eclClusterToMC2

std::vector<int>* m_eclClusterToMC2
private

Index of second MCParticle related to ECLCluster.

Definition at line 267 of file ECLDataAnalysisModule.h.

◆ m_eclClusterToMC2PDG

std::vector<int>* m_eclClusterToMC2PDG
private

PDG code of second MCParticle related to ECLCluster.

Definition at line 269 of file ECLDataAnalysisModule.h.

◆ m_eclClusterToMC3

std::vector<int>* m_eclClusterToMC3
private

Index of third MCParticle related to ECLCluster.

Definition at line 270 of file ECLDataAnalysisModule.h.

◆ m_eclClusterToMC3PDG

std::vector<int>* m_eclClusterToMC3PDG
private

PDG code of third MCParticle related to ECLCluster.

Definition at line 272 of file ECLDataAnalysisModule.h.

◆ m_eclClusterToMC4

std::vector<int>* m_eclClusterToMC4
private

Index of fourth MCParticle related to ECLCluster.

Definition at line 273 of file ECLDataAnalysisModule.h.

◆ m_eclClusterToMC4PDG

std::vector<int>* m_eclClusterToMC4PDG
private

PDG code of fourth MCParticle related to ECLCluster.

Definition at line 275 of file ECLDataAnalysisModule.h.

◆ m_eclClusterToMC5

std::vector<int>* m_eclClusterToMC5
private

Index of fifth MCParticle related to ECLCluster.

Definition at line 276 of file ECLDataAnalysisModule.h.

◆ m_eclClusterToMC5PDG

std::vector<int>* m_eclClusterToMC5PDG
private

PDG code of fifth MCParticle related to ECLCluster.

Definition at line 278 of file ECLDataAnalysisModule.h.

◆ m_eclClusterToMCWeight1

std::vector<double>* m_eclClusterToMCWeight1
private

Energy contribution of first MCParticle related to ECLCluster.

Definition at line 265 of file ECLDataAnalysisModule.h.

◆ m_eclClusterToMCWeight2

std::vector<double>* m_eclClusterToMCWeight2
private

Energy contribution of second MCParticle related to ECLCluster.

Definition at line 268 of file ECLDataAnalysisModule.h.

◆ m_eclClusterToMCWeight3

std::vector<double>* m_eclClusterToMCWeight3
private

Energy contribution of third MCParticle related to ECLCluster.

Definition at line 271 of file ECLDataAnalysisModule.h.

◆ m_eclClusterToMCWeight4

std::vector<double>* m_eclClusterToMCWeight4
private

Energy contribution of fourth MCParticle related to ECLCluster.

Definition at line 274 of file ECLDataAnalysisModule.h.

◆ m_eclClusterToMCWeight5

std::vector<double>* m_eclClusterToMCWeight5
private

Energy contribution of 5th MCParticle related to ECLCluster.

Definition at line 277 of file ECLDataAnalysisModule.h.

◆ m_eclClusterToShower

std::vector<int>* m_eclClusterToShower
private

Index of ECLShower related to ECLCluster.

Definition at line 282 of file ECLDataAnalysisModule.h.

◆ m_eclClusterTrueMultip

int m_eclClusterTrueMultip
private

Number of ECLClusters per event.

Definition at line 261 of file ECLDataAnalysisModule.h.

◆ m_eclClusterZernikeMVA

std::vector<double>* m_eclClusterZernikeMVA
private

Zernike MVA.

Definition at line 303 of file ECLDataAnalysisModule.h.

◆ m_eclConnectedRegions

StoreArray<ECLConnectedRegion> m_eclConnectedRegions
private

Store array: ECLConnectedRegion.

Definition at line 96 of file ECLDataAnalysisModule.h.

◆ m_eclCRIdx

std::vector<int>* m_eclCRIdx
private

Connected Region ID.

Definition at line 221 of file ECLDataAnalysisModule.h.

◆ m_eclCRIsTrack

std::vector<int>* m_eclCRIsTrack
private

Int for Connected Region - Track Match.

Definition at line 222 of file ECLDataAnalysisModule.h.

◆ m_eclCRLikelihoodChargedHadron

std::vector<double>* m_eclCRLikelihoodChargedHadron
private

Connected Region Charged Hadron Likelihood.

Definition at line 224 of file ECLDataAnalysisModule.h.

◆ m_eclCRLikelihoodElectronNGamma

std::vector<double>* m_eclCRLikelihoodElectronNGamma
private

Connected Region Electron Likelihood.

Definition at line 225 of file ECLDataAnalysisModule.h.

◆ m_eclCRLikelihoodMergedPi0

std::vector<double>* m_eclCRLikelihoodMergedPi0
private

Connected Region Merged Pi0 Likelihood.

Definition at line 228 of file ECLDataAnalysisModule.h.

◆ m_eclCRLikelihoodMIPNGamma

std::vector<double>* m_eclCRLikelihoodMIPNGamma
private

Connected Region MIP Likelihood.

Definition at line 223 of file ECLDataAnalysisModule.h.

◆ m_eclCRLikelihoodNeutralHadron

std::vector<double>* m_eclCRLikelihoodNeutralHadron
private

Connected Region Neutral Hadron Likelihood.

Definition at line 227 of file ECLDataAnalysisModule.h.

◆ m_eclCRLikelihoodNGamma

std::vector<double>* m_eclCRLikelihoodNGamma
private

Connected Region Gamma Likelihood.

Definition at line 226 of file ECLDataAnalysisModule.h.

◆ m_eclDigitAmp

std::vector<int>* m_eclDigitAmp
private

ECLDigit amplitude.

Definition at line 188 of file ECLDataAnalysisModule.h.

◆ m_eclDigitCellId

std::vector<int>* m_eclDigitCellId
private

Number of ECLDigit CellId.

Definition at line 187 of file ECLDataAnalysisModule.h.

◆ m_eclDigitFitQuality

std::vector<int>* m_eclDigitFitQuality
private

ECLDigit fit quality.

Definition at line 190 of file ECLDataAnalysisModule.h.

◆ m_eclDigitIdx

std::vector<int>* m_eclDigitIdx
private

ECLDigit index.

Definition at line 185 of file ECLDataAnalysisModule.h.

◆ m_eclDigitMultip

int m_eclDigitMultip
private

Number of ECLDigits per event.

Definition at line 184 of file ECLDataAnalysisModule.h.

◆ m_eclDigits

StoreArray<ECLDigit> m_eclDigits
private

Store array: ECLDigit.

Definition at line 94 of file ECLDataAnalysisModule.h.

◆ m_eclDigitTimeFit

std::vector<int>* m_eclDigitTimeFit
private

ECLDigit timing.

Definition at line 189 of file ECLDataAnalysisModule.h.

◆ m_eclDigitToCalDigit

std::vector<int>* m_eclDigitToCalDigit
private

Index of CalDigit related to that ECLDigit.

Definition at line 191 of file ECLDataAnalysisModule.h.

◆ m_eclDigitToMC

std::vector<int>* m_eclDigitToMC
private

Index of MCParticle related to that ECLDigit.

Definition at line 186 of file ECLDataAnalysisModule.h.

◆ m_eclHitCellId

std::vector<int>* m_eclHitCellId
private

ECLHit CellID.

Definition at line 256 of file ECLDataAnalysisModule.h.

◆ m_eclHitEnergyDep

std::vector<double>* m_eclHitEnergyDep
private

ECLHit energy.

Definition at line 257 of file ECLDataAnalysisModule.h.

◆ m_eclHitIdx

std::vector<int>* m_eclHitIdx
private

Index of ECLHits.

Definition at line 250 of file ECLDataAnalysisModule.h.

◆ m_eclHitMultip

int m_eclHitMultip
private

Number of ECLHits per event.

Definition at line 249 of file ECLDataAnalysisModule.h.

◆ m_eclHits

StoreArray<ECLHit> m_eclHits
private

Store array: ECLHit.

Definition at line 93 of file ECLDataAnalysisModule.h.

◆ m_eclHitTimeAve

std::vector<double>* m_eclHitTimeAve
private

ECLHit time.

Definition at line 258 of file ECLDataAnalysisModule.h.

◆ m_eclHitToDigit

std::vector<int>* m_eclHitToDigit
private

Index of ECLDigit related to ECLHit.

Definition at line 252 of file ECLDataAnalysisModule.h.

◆ m_eclHitToDigitAmp

std::vector<int>* m_eclHitToDigitAmp
private

Amplitude of ECLDigit related to ECLHit.

Definition at line 253 of file ECLDataAnalysisModule.h.

◆ m_eclHitToMC

std::vector<int>* m_eclHitToMC
private

Index of MCParticle related to ECLHit.

Definition at line 251 of file ECLDataAnalysisModule.h.

◆ m_eclHitToPureDigit

std::vector<int>* m_eclHitToPureDigit
private

Index of ECLDigit related to ECLHit, PureCsI option.

Definition at line 254 of file ECLDataAnalysisModule.h.

◆ m_eclHitToPureDigitAmp

std::vector<int>* m_eclHitToPureDigitAmp
private

Amplitude of ECLDigit related to ECLHit, PureCsI option.

Definition at line 255 of file ECLDataAnalysisModule.h.

◆ m_eclLMCellId

std::vector<int>* m_eclLMCellId
private

Local Maximum Cell ID.

Definition at line 233 of file ECLDataAnalysisModule.h.

◆ m_eclLMId

std::vector<int>* m_eclLMId
private

Local Maximum ID.

Definition at line 231 of file ECLDataAnalysisModule.h.

◆ m_eclLMMultip

int m_eclLMMultip
private

Local Maxima multiplicity.

Definition at line 230 of file ECLDataAnalysisModule.h.

◆ m_eclLMType

std::vector<int>* m_eclLMType
private

Local Maximum type.

Definition at line 232 of file ECLDataAnalysisModule.h.

◆ m_eclLocalMaximums

StoreArray<ECLLocalMaximum> m_eclLocalMaximums
private

Store array: ECLLocalMaximum.

Definition at line 99 of file ECLDataAnalysisModule.h.

◆ m_eclLogLikeEl

std::vector<double>* m_eclLogLikeEl
private

PID track electron likelihood.

Definition at line 539 of file ECLDataAnalysisModule.h.

◆ m_eclLogLikeMu

std::vector<double>* m_eclLogLikeMu
private

PID track muon likelihood.

Definition at line 540 of file ECLDataAnalysisModule.h.

◆ m_eclLogLikePi

std::vector<double>* m_eclLogLikePi
private

PID track pion likelihood.

Definition at line 541 of file ECLDataAnalysisModule.h.

◆ m_eclpidE9E21

std::vector<double>* m_eclpidE9E21
private

PID track ration of 3x3 over 5x5 crystal matrices energies.

Definition at line 536 of file ECLDataAnalysisModule.h.

◆ m_eclpidEnergy

std::vector<double>* m_eclpidEnergy
private

PID track energy.

Definition at line 534 of file ECLDataAnalysisModule.h.

◆ m_eclpidEop

std::vector<double>* m_eclpidEop
private

PID track E/p.

Definition at line 535 of file ECLDataAnalysisModule.h.

◆ m_eclPidLikelihoods

StoreArray<ECLPidLikelihood> m_eclPidLikelihoods
private

ECLPidLikelihood storeArray.

Definition at line 91 of file ECLDataAnalysisModule.h.

◆ m_eclpidNClusters

std::vector<int>* m_eclpidNClusters
private

PID track number of clusters.

Definition at line 538 of file ECLDataAnalysisModule.h.

◆ m_eclpidNCrystals

std::vector<int>* m_eclpidNCrystals
private

PID track number of crystals.

Definition at line 537 of file ECLDataAnalysisModule.h.

◆ m_eclpidtrkIdx

std::vector<int>* m_eclpidtrkIdx
private

PID track index.

Definition at line 533 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitAmp

std::vector<double>* m_eclPureCalDigitAmp
private

CalDigit amplitude, PureCsI option.

Definition at line 348 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitCellId

std::vector<int>* m_eclPureCalDigitCellId
private

Number of CalDigit CellId, PureCsI option.

Definition at line 347 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitFitQuality

std::vector<int>* m_eclPureCalDigitFitQuality
private

CalDigit fit quality, PureCsI option.

Definition at line 350 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitIdx

std::vector<int>* m_eclPureCalDigitIdx
private

ECLCalDigit index, PureCsI option.

Definition at line 322 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitMultip

int m_eclPureCalDigitMultip
private

Number of ECLCalDigits per event, PureCsI option.

Definition at line 321 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigits

StoreArray<ECLCalDigit> m_eclPureCalDigits
private

Store array: ECLPureCalDigit.

Definition at line 132 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitSimHitSum

std::vector<double>* m_eclPureCalDigitSimHitSum
private

Full energy contribution related to CalDigit, PureCsI option.

Definition at line 345 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitTimeFit

std::vector<double>* m_eclPureCalDigitTimeFit
private

CalDigit timing, PureCsI option.

Definition at line 349 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitToBkgWeight

std::vector<double>* m_eclPureCalDigitToBkgWeight
private

Remaining energy contribution not associated to first five MCParticles related to CalDigit, PureCsI option.

Definition at line 344 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitToCR

std::vector<int>* m_eclPureCalDigitToCR
private

Index of CR related to that CalDigit, PureCsI option.

Definition at line 351 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitToLM

std::vector<int>* m_eclPureCalDigitToLM
private

Index of LM related to that CalDigit, PureCsI option.

Definition at line 352 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitToMC1

std::vector<int>* m_eclPureCalDigitToMC1
private

Index of first MCParticle related to CalDigit, PureCsI option.

Definition at line 323 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitToMC1PDG

std::vector<int>* m_eclPureCalDigitToMC1PDG
private

PDG code of first MCParticle related to CalDigit, PureCsI option.

Definition at line 324 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitToMC2

std::vector<int>* m_eclPureCalDigitToMC2
private

Index of second MCParticle related to CalDigit, PureCsI option.

Definition at line 327 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitToMC2PDG

std::vector<int>* m_eclPureCalDigitToMC2PDG
private

PDG code of second MCParticle related to CalDigit, PureCsI option.

Definition at line 328 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitToMC3

std::vector<int>* m_eclPureCalDigitToMC3
private

Index of third MCParticle related to CalDigit, PureCsI option.

Definition at line 331 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitToMC3PDG

std::vector<int>* m_eclPureCalDigitToMC3PDG
private

PDG code of third MCParticle related to CalDigit, PureCsI option.

Definition at line 332 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitToMC4

std::vector<int>* m_eclPureCalDigitToMC4
private

Index of fourth MCParticle related to CalDigit, PureCsI option.

Definition at line 335 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitToMC4PDG

std::vector<int>* m_eclPureCalDigitToMC4PDG
private

PDG code of fourth MCParticle related to CalDigit, PureCsI option.

Definition at line 336 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitToMC5

std::vector<int>* m_eclPureCalDigitToMC5
private

Index of fifth MCParticle related to CalDigit, PureCsI option.

Definition at line 339 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitToMC5PDG

std::vector<int>* m_eclPureCalDigitToMC5PDG
private

PDG code of fifth MCParticle related to CalDigit, PureCsI option.

Definition at line 340 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitToMCWeight1

std::vector<double>* m_eclPureCalDigitToMCWeight1
private

Energy contribution of first MCParticle related to CalDigit, PureCsI option.

Definition at line 326 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitToMCWeight2

std::vector<double>* m_eclPureCalDigitToMCWeight2
private

Energy contribution of second MCParticle related to CalDigit, PureCsI option.

Definition at line 330 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitToMCWeight3

std::vector<double>* m_eclPureCalDigitToMCWeight3
private

Energy contribution of third MCParticle related to CalDigit, PureCsI option.

Definition at line 334 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitToMCWeight4

std::vector<double>* m_eclPureCalDigitToMCWeight4
private

Energy contribution of fourth MCParticle related to CalDigit, PureCsI option.

Definition at line 338 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitToMCWeight5

std::vector<double>* m_eclPureCalDigitToMCWeight5
private

Energy contribution of fifth MCParticle related to CalDigit, PureCsI option.

Definition at line 342 of file ECLDataAnalysisModule.h.

◆ m_eclPureCalDigitToShower

std::vector<int>* m_eclPureCalDigitToShower
private

Index of ECLShower related to that CalDigit, PureCsI option.

Definition at line 346 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterAbsZernike40

std::vector<double>* m_eclPureClusterAbsZernike40
private

Reconstructed Zernike40, PureCsI option.

Definition at line 411 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterAbsZernike51

std::vector<double>* m_eclPureClusterAbsZernike51
private

Reconstructed Zernike51, PureCsI option.

Definition at line 412 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterCellId

std::vector<int>* m_eclPureClusterCellId
private

CellId with highest energy deposit in Cluster, PureCsI option.

Definition at line 404 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterClosestTrackDist

std::vector<double>* m_eclPureClusterClosestTrackDist
private

Reconstructed Distance to Closest Track, PureCsI option.

Definition at line 410 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterCrystalHealth

std::vector<int>* m_eclPureClusterCrystalHealth
private

Crystal health flag, PureCsI option.

Definition at line 407 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterDeltaL

std::vector<double>* m_eclPureClusterDeltaL
private

Reconstructed Cluster DeltaL, PureCsI option.

Definition at line 409 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterDeltaTime99

std::vector<double>* m_eclPureClusterDeltaTime99
private

Reconstructed DeltaT99, PureCsI option.

Definition at line 416 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterDetectorRegion

std::vector<int>* m_eclPureClusterDetectorRegion
private

Clusters detector region, PureCsI option.

Definition at line 417 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterE1oE9

std::vector<double>* m_eclPureClusterE1oE9
private

Reconstructed E1oE9, PureCsI option.

Definition at line 415 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterE9oE21

std::vector<double>* m_eclPureClusterE9oE21
private

Ratio of 3x3 over 5x5 crystal matrices energies for Cluster, PureCsI option.

Definition at line 402 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterEnergy

std::vector<double>* m_eclPureClusterEnergy
private

Cluster energy, PureCsI option.

Definition at line 392 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterEnergyDepSum

std::vector<double>* m_eclPureClusterEnergyDepSum
private

Cluster simulated energy, PureCsI option.

Definition at line 399 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterEnergyError

std::vector<double>* m_eclPureClusterEnergyError
private

Cluster energy error, PureCsI option.

Definition at line 393 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterHasNeutralHadronHypothesis

std::vector<int>* m_eclPureClusterHasNeutralHadronHypothesis
private

Cluster has neutral hadron hypothesis, PureCsI option.

Definition at line 419 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterHasNPhotonHypothesis

std::vector<int>* m_eclPureClusterHasNPhotonHypothesis
private

Cluster has n-photon hypothesis, PureCsI option.

Definition at line 418 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterHighestE

std::vector<double>* m_eclPureClusterHighestE
private

Highest energy deposit (per crystal) in Cluster, PureCsI option.

Definition at line 403 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterIdx

std::vector<int>* m_eclPureClusterIdx
private

ECLCluster index, PureCsI option.

Definition at line 369 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterIsTrack

std::vector<bool>* m_eclPureClusterIsTrack
private

Flag for charged clusters, PureCsI option.

Definition at line 408 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterLat

std::vector<double>* m_eclPureClusterLat
private

Cluster shape parameter LAT, PureCsI option.

Definition at line 405 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterMultip

int m_eclPureClusterMultip
private

Number of ECLClusterss per event, PureCsI option.

Definition at line 368 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterNofCrystals

std::vector<int>* m_eclPureClusterNofCrystals
private

Number of crystals in Cluster, PureCsI option.

Definition at line 406 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterPhi

std::vector<double>* m_eclPureClusterPhi
private

Cluster azimuthal direction, PureCsI option.

Definition at line 396 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterPhiError

std::vector<double>* m_eclPureClusterPhiError
private

Cluster error on azimuthal direction, PureCsI option.

Definition at line 397 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterR

std::vector<double>* m_eclPureClusterR
private

Cluster distance from IP, PureCsI option.

Definition at line 398 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusters

StoreArray<ECLCluster> m_eclPureClusters
private

Store array: ECLPureCluster.

Definition at line 138 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterSecondMoment

std::vector<double>* m_eclPureClusterSecondMoment
private

Reconstructed Cluster Second Moment, PureCsI option.

Definition at line 414 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterTheta

std::vector<double>* m_eclPureClusterTheta
private

Cluster polar direction, PureCsI option.

Definition at line 394 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterThetaError

std::vector<double>* m_eclPureClusterThetaError
private

Cluster error on polar direction, PureCsI option.

Definition at line 395 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterTiming

std::vector<double>* m_eclPureClusterTiming
private

Cluster time, PureCsI option.

Definition at line 400 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterTimingError

std::vector<double>* m_eclPureClusterTimingError
private

Cluster time error, PureCsI option.

Definition at line 401 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterToBkgWeight

std::vector<double>* m_eclPureClusterToBkgWeight
private

Remaining energy contribution not associated to first five MCParticles related to ECLCluster, PureCsI option.

Definition at line 391 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterToMC1

std::vector<int>* m_eclPureClusterToMC1
private

Index of first MCParticle related to ECLCluster, PureCsI option.

Definition at line 370 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterToMC1PDG

std::vector<int>* m_eclPureClusterToMC1PDG
private

PDG code of first MCParticle related to ECLCluster, PureCsI option.

Definition at line 373 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterToMC2

std::vector<int>* m_eclPureClusterToMC2
private

Index of second MCParticle related to ECLCluster, PureCsI option.

Definition at line 374 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterToMC2PDG

std::vector<int>* m_eclPureClusterToMC2PDG
private

PDG code of second MCParticle related to ECLCluster, PureCsI option.

Definition at line 377 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterToMC3

std::vector<int>* m_eclPureClusterToMC3
private

Index of third MCParticle related to ECLCluster, PureCsI option.

Definition at line 378 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterToMC3PDG

std::vector<int>* m_eclPureClusterToMC3PDG
private

PDG code of third MCParticle related to ECLCluster, PureCsI option.

Definition at line 381 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterToMC4

std::vector<int>* m_eclPureClusterToMC4
private

Index of fourth MCParticle related to ECLCluster, PureCsI option.

Definition at line 382 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterToMC4PDG

std::vector<int>* m_eclPureClusterToMC4PDG
private

PDG code of fourth MCParticle related to ECLCluster, PureCsI option.

Definition at line 385 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterToMC5

std::vector<int>* m_eclPureClusterToMC5
private

Index of fifth MCParticle related to ECLCluster, PureCsI option.

Definition at line 386 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterToMC5PDG

std::vector<int>* m_eclPureClusterToMC5PDG
private

PDG code of fifth MCParticle related to ECLCluster, PureCsI option.

Definition at line 389 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterToMCWeight1

std::vector<double>* m_eclPureClusterToMCWeight1
private

Energy contribution of first MCParticle related to ECLCluster, PureCsI option.

Definition at line 372 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterToMCWeight2

std::vector<double>* m_eclPureClusterToMCWeight2
private

Energy contribution of second MCParticle related to ECLCluster, PureCsI option.

Definition at line 376 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterToMCWeight3

std::vector<double>* m_eclPureClusterToMCWeight3
private

Energy contribution of third MCParticle related to ECLCluster, PureCsI option.

Definition at line 380 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterToMCWeight4

std::vector<double>* m_eclPureClusterToMCWeight4
private

Energy contribution of fourth MCParticle related to ECLCluster, PureCsI option.

Definition at line 384 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterToMCWeight5

std::vector<double>* m_eclPureClusterToMCWeight5
private

Energy contribution of 5th MCParticle related to ECLCluster, PureCsI option.

Definition at line 388 of file ECLDataAnalysisModule.h.

◆ m_eclPureClusterZernikeMVA

std::vector<double>* m_eclPureClusterZernikeMVA
private

Output of MVA classifier based on Zernike Momenta, PureCsI option.

Definition at line 413 of file ECLDataAnalysisModule.h.

◆ m_eclPureConnectedRegions

StoreArray<ECLConnectedRegion> m_eclPureConnectedRegions
private

Store array: ECLPureConnectedRegion.

Definition at line 134 of file ECLDataAnalysisModule.h.

◆ m_eclPureCRIdx

std::vector<int>* m_eclPureCRIdx
private

Connected Region ID, PureCsI option.

Definition at line 354 of file ECLDataAnalysisModule.h.

◆ m_eclPureCRIsTrack

std::vector<int>* m_eclPureCRIsTrack
private

Int for Connected Region - Track Match, PureCsI option.

Definition at line 355 of file ECLDataAnalysisModule.h.

◆ m_eclPureCRLikelihoodChargedHadron

std::vector<double>* m_eclPureCRLikelihoodChargedHadron
private

Connected Region Charged Hadron Likelihood, PureCsI option.

Definition at line 357 of file ECLDataAnalysisModule.h.

◆ m_eclPureCRLikelihoodElectronNGamma

std::vector<double>* m_eclPureCRLikelihoodElectronNGamma
private

Connected Region Electron Likelihood, PureCsI option.

Definition at line 358 of file ECLDataAnalysisModule.h.

◆ m_eclPureCRLikelihoodMergedPi0

std::vector<double>* m_eclPureCRLikelihoodMergedPi0
private

Connected Region Merged Pi0 Likelihood, PureCsI option.

Definition at line 361 of file ECLDataAnalysisModule.h.

◆ m_eclPureCRLikelihoodMIPNGamma

std::vector<double>* m_eclPureCRLikelihoodMIPNGamma
private

Connected Region MIP Likelihood, PureCsI option.

Definition at line 356 of file ECLDataAnalysisModule.h.

◆ m_eclPureCRLikelihoodNeutralHadron

std::vector<double>* m_eclPureCRLikelihoodNeutralHadron
private

Connected Region Neutral Hadron Likelihood, PureCsI option.

Definition at line 360 of file ECLDataAnalysisModule.h.

◆ m_eclPureCRLikelihoodNGamma

std::vector<double>* m_eclPureCRLikelihoodNGamma
private

Connected Region Gamma Likelihood, PureCsI option.

Definition at line 359 of file ECLDataAnalysisModule.h.

◆ m_eclPureDigitAmp

std::vector<int>* m_eclPureDigitAmp
private

ECLDigit amplitude, PureCsI option.

Definition at line 316 of file ECLDataAnalysisModule.h.

◆ m_eclPureDigitCellId

std::vector<int>* m_eclPureDigitCellId
private

Number of ECLDigit CellId, PureCsI option.

Definition at line 315 of file ECLDataAnalysisModule.h.

◆ m_eclPureDigitFitQuality

std::vector<int>* m_eclPureDigitFitQuality
private

ECLDigit fit quality, PureCsI option.

Definition at line 318 of file ECLDataAnalysisModule.h.

◆ m_eclPureDigitIdx

std::vector<int>* m_eclPureDigitIdx
private

ECLDigit index, PureCsI option.

Definition at line 313 of file ECLDataAnalysisModule.h.

◆ m_eclPureDigitMultip

int m_eclPureDigitMultip
private

Number of ECLDigits per event, PureCsI option.

Definition at line 312 of file ECLDataAnalysisModule.h.

◆ m_eclPureDigits

StoreArray<ECLDigit> m_eclPureDigits
private

Store array: ECLPureDigit.

Definition at line 130 of file ECLDataAnalysisModule.h.

◆ m_eclPureDigitTimeFit

std::vector<int>* m_eclPureDigitTimeFit
private

ECLDigit timing, PureCsI option.

Definition at line 317 of file ECLDataAnalysisModule.h.

◆ m_eclPureDigitToCluster

std::vector<int>* m_eclPureDigitToCluster
private

ECLDigit To Cluster, PureCsI option.

Definition at line 319 of file ECLDataAnalysisModule.h.

◆ m_eclPureDigitToMC

std::vector<int>* m_eclPureDigitToMC
private

Index of MCParticle related to that ECLDigit, PureCsI option.

Definition at line 314 of file ECLDataAnalysisModule.h.

◆ m_eclPureLMCellId

std::vector<int>* m_eclPureLMCellId
private

Local Maximum Cell ID, PureCsI option.

Definition at line 366 of file ECLDataAnalysisModule.h.

◆ m_eclPureLMId

std::vector<int>* m_eclPureLMId
private

Local Maximum ID, PureCsI option.

Definition at line 364 of file ECLDataAnalysisModule.h.

◆ m_eclPureLMMultip

int m_eclPureLMMultip
private

Local Maxima multiplicity, PureCsI option.

Definition at line 363 of file ECLDataAnalysisModule.h.

◆ m_eclPureLMType

std::vector<int>* m_eclPureLMType
private

Local Maximum type, PureCsI option.

Definition at line 365 of file ECLDataAnalysisModule.h.

◆ m_eclPureLocalMaximums

StoreArray<ECLLocalMaximum> m_eclPureLocalMaximums
private

Store array: ECLPureLocalMaximum.

Definition at line 140 of file ECLDataAnalysisModule.h.

◆ m_eclPureShowers

StoreArray<ECLShower> m_eclPureShowers
private

Store array: ECLPureShower.

Definition at line 136 of file ECLDataAnalysisModule.h.

◆ m_eclShowerAbsZernike40

std::vector<double>* m_eclShowerAbsZernike40
private

Shower Zernike40 Moment.

Definition at line 487 of file ECLDataAnalysisModule.h.

◆ m_eclShowerAbsZernike51

std::vector<double>* m_eclShowerAbsZernike51
private

Shower Zernike51 Moment.

Definition at line 488 of file ECLDataAnalysisModule.h.

◆ m_eclShowerCentralCellId

std::vector<int>* m_eclShowerCentralCellId
private

Cell ID for most energetic crystal.

Definition at line 477 of file ECLDataAnalysisModule.h.

◆ m_eclShowerConnectedRegionId

std::vector<int>* m_eclShowerConnectedRegionId
private

Matched Connetcted Region Idx.

Definition at line 475 of file ECLDataAnalysisModule.h.

◆ m_eclShowerE1oE9

std::vector<double>* m_eclShowerE1oE9
private

Shower E1/E9.

Definition at line 491 of file ECLDataAnalysisModule.h.

◆ m_eclShowerE9oE21

std::vector<double>* m_eclShowerE9oE21
private

Shower E9oE21.

Definition at line 472 of file ECLDataAnalysisModule.h.

◆ m_eclShowerEnergy

std::vector<double>* m_eclShowerEnergy
private

Shower Energy.

Definition at line 467 of file ECLDataAnalysisModule.h.

◆ m_eclShowerEnergyError

std::vector<double>* m_eclShowerEnergyError
private

Shower Energy Error.

Definition at line 478 of file ECLDataAnalysisModule.h.

◆ m_eclShowerHighestE1mE2

std::vector<double>* m_eclShowerHighestE1mE2
private

Energy difference for 2 highest energy deposits in shower.

Definition at line 498 of file ECLDataAnalysisModule.h.

◆ m_eclShowerHighestEnergy

std::vector<double>* m_eclShowerHighestEnergy
private

Shower Highest Energy Crystal Energy.

Definition at line 482 of file ECLDataAnalysisModule.h.

◆ m_eclShowerHypothesisId

std::vector<int>* m_eclShowerHypothesisId
private

Shower Particle Hypothesis ID.

Definition at line 476 of file ECLDataAnalysisModule.h.

◆ m_eclShowerIdx

std::vector<int>* m_eclShowerIdx
private

Shower Index.

Definition at line 422 of file ECLDataAnalysisModule.h.

◆ m_eclShowerIsCluster

std::vector<bool>* m_eclShowerIsCluster
private

Shower Cluster Match.

Definition at line 493 of file ECLDataAnalysisModule.h.

◆ m_eclShowerIsTrack

std::vector<int>* m_eclShowerIsTrack
private

Shower Track Match.

Definition at line 492 of file ECLDataAnalysisModule.h.

◆ m_eclShowerLateralEnergy

std::vector<double>* m_eclShowerLateralEnergy
private

Shower Lateral Energy.

Definition at line 483 of file ECLDataAnalysisModule.h.

◆ m_eclShowerMCFFlightMatch

std::vector<int>* m_eclShowerMCFFlightMatch
private

Int, 1 if primary particle flight direction is "well" reconstructed in ECL, 0 otherwise, DEBUG PURPOSE.

Definition at line 497 of file ECLDataAnalysisModule.h.

◆ m_eclShowerMCFlightMatch

std::vector<int>* m_eclShowerMCFlightMatch
private

Int, 1 if particle flight direction is "well" reconstructed in ECL, 0 otherwise.

Definition at line 495 of file ECLDataAnalysisModule.h.

◆ m_eclShowerMCVtxInEcl

std::vector<int>* m_eclShowerMCVtxInEcl
private

Int, 1 if particle decays (interacts) in ECL, 0 otherwise.

Definition at line 494 of file ECLDataAnalysisModule.h.

◆ m_eclShowerMinTrkDistance

std::vector<double>* m_eclShowerMinTrkDistance
private

Shower Min Dist to Track.

Definition at line 484 of file ECLDataAnalysisModule.h.

◆ m_eclShowerMultip

int m_eclShowerMultip
private

Number of ECLShowers per event.

Definition at line 421 of file ECLDataAnalysisModule.h.

◆ m_eclShowerNHits

std::vector<double>* m_eclShowerNHits
private

Shower NHits.

Definition at line 471 of file ECLDataAnalysisModule.h.

◆ m_eclShowerNumberOfCrystalsForEnergy

std::vector<double>* m_eclShowerNumberOfCrystalsForEnergy
private

Number of crystals used for energy calculation.

Definition at line 499 of file ECLDataAnalysisModule.h.

◆ m_eclShowerPhi

std::vector<double>* m_eclShowerPhi
private

Shower Phi.

Definition at line 469 of file ECLDataAnalysisModule.h.

◆ m_eclShowerPhiError

std::vector<double>* m_eclShowerPhiError
private

Shower Phi Error.

Definition at line 480 of file ECLDataAnalysisModule.h.

◆ m_eclShowerR

std::vector<double>* m_eclShowerR
private

Shower R.

Definition at line 470 of file ECLDataAnalysisModule.h.

◆ m_eclShowers

StoreArray<ECLShower> m_eclShowers
private

Store array: ECLShower.

Definition at line 97 of file ECLDataAnalysisModule.h.

◆ m_eclShowerSecondMoment

std::vector<double>* m_eclShowerSecondMoment
private

Shower Second Moment.

Definition at line 490 of file ECLDataAnalysisModule.h.

◆ m_eclShowerShowerDepth

std::vector<double>* m_eclShowerShowerDepth
private

Shower Depth.

Definition at line 486 of file ECLDataAnalysisModule.h.

◆ m_eclShowerSimHitSum

std::vector<double>* m_eclShowerSimHitSum
private

Full energy contribution related to ECLShower.

Definition at line 465 of file ECLDataAnalysisModule.h.

◆ m_eclShowerT99

std::vector<double>* m_eclShowerT99
private

Shower T99.

Definition at line 474 of file ECLDataAnalysisModule.h.

◆ m_eclShowerTheta

std::vector<double>* m_eclShowerTheta
private

Shower Theta.

Definition at line 468 of file ECLDataAnalysisModule.h.

◆ m_eclShowerThetaError

std::vector<double>* m_eclShowerThetaError
private

Shower Theta Error.

Definition at line 479 of file ECLDataAnalysisModule.h.

◆ m_eclShowerTime

std::vector<double>* m_eclShowerTime
private

Shower Timing.

Definition at line 473 of file ECLDataAnalysisModule.h.

◆ m_eclShowerTimeResolution

std::vector<double>* m_eclShowerTimeResolution
private

Shower Time Resolution.

Definition at line 481 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToBkgWeight

std::vector<double>* m_eclShowerToBkgWeight
private

Remaining energy contribution not associated to first five MCParticles related to ECLShower.

Definition at line 459 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToLM1

std::vector<int>* m_eclShowerToLM1
private

Index of first maximum related to ECLShower.

Definition at line 460 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToLM2

std::vector<int>* m_eclShowerToLM2
private

Index of 2nd maximum related to ECLShower.

Definition at line 461 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToLM3

std::vector<int>* m_eclShowerToLM3
private

Index of 3rd maximum related to ECLShower.

Definition at line 462 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToLM4

std::vector<int>* m_eclShowerToLM4
private

Index of 4th maximum related to ECLShower.

Definition at line 463 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToLM5

std::vector<int>* m_eclShowerToLM5
private

Index of 5th maximum related to ECLShower.

Definition at line 464 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC1

std::vector<int>* m_eclShowerToMC1
private

Index of first MCParticle related to ECLShower.

Definition at line 423 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC1GMoth

std::vector<int>* m_eclShowerToMC1GMoth
private

GMother index of first MCParticle related to ECLShower.

Definition at line 428 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC1GMothPDG

std::vector<int>* m_eclShowerToMC1GMothPDG
private

PDG code of Gparent of first MCParticle related to ECLShower.

Definition at line 429 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC1Moth

std::vector<int>* m_eclShowerToMC1Moth
private

Mother index of first MCParticle related to ECLShower.

Definition at line 426 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC1MothPDG

std::vector<int>* m_eclShowerToMC1MothPDG
private

PDG code of parent of first MCParticle related to ECLShower.

Definition at line 427 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC1PDG

std::vector<int>* m_eclShowerToMC1PDG
private

PDG code of first MCParticle related to ECLShower.

Definition at line 425 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC2

std::vector<int>* m_eclShowerToMC2
private

Index of second MCParticle related to ECLShower.

Definition at line 430 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC2GMoth

std::vector<int>* m_eclShowerToMC2GMoth
private

GMother index of second MCParticle related to ECLShower.

Definition at line 435 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC2GMothPDG

std::vector<int>* m_eclShowerToMC2GMothPDG
private

PDG code of Gparent of second MCParticle related to ECLShower.

Definition at line 436 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC2Moth

std::vector<int>* m_eclShowerToMC2Moth
private

Mother index of first MCParticle related to ECLShower.

Definition at line 433 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC2MothPDG

std::vector<int>* m_eclShowerToMC2MothPDG
private

PDG code of parent of first MCParticle related to ECLShower.

Definition at line 434 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC2PDG

std::vector<int>* m_eclShowerToMC2PDG
private

PDG code of second MCParticle related to ECLShower.

Definition at line 432 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC3

std::vector<int>* m_eclShowerToMC3
private

Index of third MCParticle related to ECLShower.

Definition at line 437 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC3GMoth

std::vector<int>* m_eclShowerToMC3GMoth
private

GMother index of third MCParticle related to ECLShower.

Definition at line 442 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC3GMothPDG

std::vector<int>* m_eclShowerToMC3GMothPDG
private

PDG code of Gparent of third MCParticle related to ECLShower.

Definition at line 443 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC3Moth

std::vector<int>* m_eclShowerToMC3Moth
private

Mother index of first MCParticle related to ECLShower.

Definition at line 440 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC3MothPDG

std::vector<int>* m_eclShowerToMC3MothPDG
private

PDG code of parent of first MCParticle related to ECLShower.

Definition at line 441 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC3PDG

std::vector<int>* m_eclShowerToMC3PDG
private

PDG code of third MCParticle related to ECLShower.

Definition at line 439 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC4

std::vector<int>* m_eclShowerToMC4
private

Index of fourth MCParticle related to ECLShower.

Definition at line 444 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC4GMoth

std::vector<int>* m_eclShowerToMC4GMoth
private

GMother index of fourth MCParticle related to ECLShower.

Definition at line 449 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC4GMothPDG

std::vector<int>* m_eclShowerToMC4GMothPDG
private

PDG code of Gparent of fourth MCParticle related to ECLShower.

Definition at line 450 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC4Moth

std::vector<int>* m_eclShowerToMC4Moth
private

Mother index of fourth MCParticle related to ECLShower.

Definition at line 447 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC4MothPDG

std::vector<int>* m_eclShowerToMC4MothPDG
private

PDG code of parent of fourth MCParticle related to ECLShower.

Definition at line 448 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC4PDG

std::vector<int>* m_eclShowerToMC4PDG
private

PDG code of fourth MCParticle related to ECLShower.

Definition at line 446 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC5

std::vector<int>* m_eclShowerToMC5
private

Index of fifth MCParticle related to ECLShower.

Definition at line 451 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC5GMoth

std::vector<int>* m_eclShowerToMC5GMoth
private

GMother index of fifth MCParticle related to ECLShower.

Definition at line 456 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC5GMothPDG

std::vector<int>* m_eclShowerToMC5GMothPDG
private

PDG code of Gparent of fifth MCParticle related to ECLShower.

Definition at line 457 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC5Moth

std::vector<int>* m_eclShowerToMC5Moth
private

Mother index of fifth MCParticle related to ECLShower.

Definition at line 454 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC5MothPDG

std::vector<int>* m_eclShowerToMC5MothPDG
private

PDG code of parent of fifth MCParticle related to ECLShower.

Definition at line 455 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMC5PDG

std::vector<int>* m_eclShowerToMC5PDG
private

PDG code of fifth MCParticle related to ECLShower.

Definition at line 453 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMCWeight1

std::vector<double>* m_eclShowerToMCWeight1
private

Energy contribution of first MCParticle related to ECLShower.

Definition at line 424 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMCWeight2

std::vector<double>* m_eclShowerToMCWeight2
private

Energy contribution of second MCParticle related to ECLShower.

Definition at line 431 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMCWeight3

std::vector<double>* m_eclShowerToMCWeight3
private

Energy contribution of third MCParticle related to ECLShower.

Definition at line 438 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMCWeight4

std::vector<double>* m_eclShowerToMCWeight4
private

Energy contribution of fourth MCParticle related to ECLShower.

Definition at line 445 of file ECLDataAnalysisModule.h.

◆ m_eclShowerToMCWeight5

std::vector<double>* m_eclShowerToMCWeight5
private

Energy contribution of fifth MCParticle related to ECLShower.

Definition at line 452 of file ECLDataAnalysisModule.h.

◆ m_eclShowerTrkDepth

std::vector<double>* m_eclShowerTrkDepth
private

Shower Track Depth.

Definition at line 485 of file ECLDataAnalysisModule.h.

◆ m_eclShowerUncEnergy

std::vector<double>* m_eclShowerUncEnergy
private

Shower bare energy.

Definition at line 466 of file ECLDataAnalysisModule.h.

◆ m_eclShowerZernikeMVA

std::vector<double>* m_eclShowerZernikeMVA
private

Shower ZernikeMVA.

Definition at line 489 of file ECLDataAnalysisModule.h.

◆ m_eclSimHitCellId

std::vector<int>* m_eclSimHitCellId
private

ECLSimHit CellId.

Definition at line 238 of file ECLDataAnalysisModule.h.

◆ m_eclSimHitEnergyDep

std::vector<double>* m_eclSimHitEnergyDep
private

Energy deposition of ECLSimHit.

Definition at line 240 of file ECLDataAnalysisModule.h.

◆ m_eclSimHitFlightTime

std::vector<double>* m_eclSimHitFlightTime
private

ECLSimhit Flight Time.

Definition at line 241 of file ECLDataAnalysisModule.h.

◆ m_eclSimHitIdx

std::vector<int>* m_eclSimHitIdx
private

Index of ECLSimHit.

Definition at line 236 of file ECLDataAnalysisModule.h.

◆ m_eclSimHitMultip

int m_eclSimHitMultip
private

Number of ECLSimHits per event.

Definition at line 235 of file ECLDataAnalysisModule.h.

◆ m_eclSimHitPdg

std::vector<int>* m_eclSimHitPdg
private

PDG code of MCParticle associated to that ECLDigit.

Definition at line 239 of file ECLDataAnalysisModule.h.

◆ m_eclSimHitPx

std::vector<double>* m_eclSimHitPx
private

ECLSimHit PX.

Definition at line 245 of file ECLDataAnalysisModule.h.

◆ m_eclSimHitPy

std::vector<double>* m_eclSimHitPy
private

ECLSimHit PY.

Definition at line 246 of file ECLDataAnalysisModule.h.

◆ m_eclSimHitPz

std::vector<double>* m_eclSimHitPz
private

ECLSimHit PZ.

Definition at line 247 of file ECLDataAnalysisModule.h.

◆ m_eclSimHits

StoreArray<ECLSimHit> m_eclSimHits
private

Store array: ECLSimHit.

Definition at line 92 of file ECLDataAnalysisModule.h.

◆ m_eclSimHitToMC

std::vector<int>* m_eclSimHitToMC
private

Index of MCParticle related to that ECLSimHit.

Definition at line 237 of file ECLDataAnalysisModule.h.

◆ m_eclSimHitX

std::vector<double>* m_eclSimHitX
private

ECLSimHit X position.

Definition at line 242 of file ECLDataAnalysisModule.h.

◆ m_eclSimHitY

std::vector<double>* m_eclSimHitY
private

ECLSimHit Y position.

Definition at line 243 of file ECLDataAnalysisModule.h.

◆ m_eclSimHitZ

std::vector<double>* m_eclSimHitZ
private

ECLSimHit Z position.

Definition at line 244 of file ECLDataAnalysisModule.h.

◆ m_eventLevelClusteringInfo

StoreObjPtr<EventLevelClusteringInfo> m_eventLevelClusteringInfo
private

Store object pointer: EventLevelClusteringInfo.

Definition at line 100 of file ECLDataAnalysisModule.h.

◆ m_eventmetadata

StoreObjPtr<EventMetaData> m_eventmetadata
private

Store object pointer: EventMetaData.

Definition at line 101 of file ECLDataAnalysisModule.h.

◆ m_hasReturnValue

bool m_hasReturnValue
privateinherited

True, if the return value is set.

Definition at line 517 of file Module.h.

◆ m_iEvent

int m_iEvent
private

Event number.

Definition at line 168 of file ECLDataAnalysisModule.h.

◆ m_iExperiment

int m_iExperiment
private

Experiment number.

Definition at line 166 of file ECLDataAnalysisModule.h.

◆ m_iRun

int m_iRun
private

Run number.

Definition at line 167 of file ECLDataAnalysisModule.h.

◆ m_logConfig

LogConfig m_logConfig
privateinherited

The log system configuration of the module.

Definition at line 513 of file Module.h.

◆ m_mcDecayVtxX

std::vector<double>* m_mcDecayVtxX
private

MCParticle decay vertex X.

Definition at line 511 of file ECLDataAnalysisModule.h.

◆ m_mcDecayVtxY

std::vector<double>* m_mcDecayVtxY
private

MCParticle decay vertex Y.

Definition at line 512 of file ECLDataAnalysisModule.h.

◆ m_mcDecayVtxZ

std::vector<double>* m_mcDecayVtxZ
private

MCParticle decay vertex Z.

Definition at line 513 of file ECLDataAnalysisModule.h.

◆ m_mcEnergy

std::vector<double>* m_mcEnergy
private

MCParticle energyx.

Definition at line 507 of file ECLDataAnalysisModule.h.

◆ m_mcGGMothPdg

std::vector<int>* m_mcGGMothPdg
private

MCParticle greand-grandmother particle PDG code.

Definition at line 506 of file ECLDataAnalysisModule.h.

◆ m_mcGMothPdg

std::vector<int>* m_mcGMothPdg
private

MCParticle grandmother particle PDG code.

Definition at line 505 of file ECLDataAnalysisModule.h.

◆ m_mcIdx

std::vector<int>* m_mcIdx
private

MCParticle index.

Definition at line 502 of file ECLDataAnalysisModule.h.

◆ m_mcMothPdg

std::vector<int>* m_mcMothPdg
private

MCParticle mother particle PDG code.

Definition at line 504 of file ECLDataAnalysisModule.h.

◆ m_mcMultip

int m_mcMultip
private

Multiplicity of MCParticles.

Definition at line 501 of file ECLDataAnalysisModule.h.

◆ m_mcParticles

StoreArray<MCParticle> m_mcParticles
private

MCParticles StoreArray.

Definition at line 161 of file ECLDataAnalysisModule.h.

◆ m_mcPdg

std::vector<int>* m_mcPdg
private

MCParticle PDG code.

Definition at line 503 of file ECLDataAnalysisModule.h.

◆ m_mcProdVtxX

std::vector<double>* m_mcProdVtxX
private

MCParticle production vertex X.

Definition at line 514 of file ECLDataAnalysisModule.h.

◆ m_mcProdVtxY

std::vector<double>* m_mcProdVtxY
private

MCParticle production vertex Y.

Definition at line 515 of file ECLDataAnalysisModule.h.

◆ m_mcProdVtxZ

std::vector<double>* m_mcProdVtxZ
private

MCParticle production vertex Z.

Definition at line 516 of file ECLDataAnalysisModule.h.

◆ m_mcPx

std::vector<double>* m_mcPx
private

MCParticle momentum X direction.

Definition at line 508 of file ECLDataAnalysisModule.h.

◆ m_mcPy

std::vector<double>* m_mcPy
private

MCParticle momentum Y direction.

Definition at line 509 of file ECLDataAnalysisModule.h.

◆ m_mcPz

std::vector<double>* m_mcPz
private

MCParticle momentum Z direction.

Definition at line 510 of file ECLDataAnalysisModule.h.

◆ m_mcSecondaryPhysProc

std::vector<int>* m_mcSecondaryPhysProc
private

Flag for secondary physics process.

Definition at line 517 of file ECLDataAnalysisModule.h.

◆ m_moduleParamList

ModuleParamList m_moduleParamList
privateinherited

List storing and managing all parameter of the module.

Definition at line 515 of file Module.h.

◆ m_name

std::string m_name
privateinherited

The name of the module, saved as a string (user-modifiable)

Definition at line 507 of file Module.h.

◆ m_nECLCalDigitsOutOfTimeBarrel

uint16_t m_nECLCalDigitsOutOfTimeBarrel {0}
private

Number of out of time, energetic ECLCalDigits, Barrel.

Definition at line 174 of file ECLDataAnalysisModule.h.

174{0};

◆ m_nECLCalDigitsOutOfTimeBWD

uint16_t m_nECLCalDigitsOutOfTimeBWD {0}
private

Number of out of time, energetic ECLCalDigits, BWD.

Definition at line 176 of file ECLDataAnalysisModule.h.

176{0};

◆ m_nECLCalDigitsOutOfTimeFWD

uint16_t m_nECLCalDigitsOutOfTimeFWD {0}
private

Number of out of time, energetic ECLCalDigits, FWD.

Definition at line 172 of file ECLDataAnalysisModule.h.

172{0};

◆ m_nECLShowersRejectedBarrel

uint8_t m_nECLShowersRejectedBarrel {0}
private

Number of photon showers that are rejected before storing to mdst (max.

255), Barrel.

Definition at line 180 of file ECLDataAnalysisModule.h.

180{0};

◆ m_nECLShowersRejectedBWD

uint8_t m_nECLShowersRejectedBWD {0}
private

Number of photon showers that are rejected before storing to mdst (max.

255), BWD.

Definition at line 182 of file ECLDataAnalysisModule.h.

182{0};

◆ m_nECLShowersRejectedFWD

uint8_t m_nECLShowersRejectedFWD {0}
private

Number of photon showers that are rejected before storing to mdst (max.

255), FWD.

Definition at line 178 of file ECLDataAnalysisModule.h.

178{0};

◆ m_package

std::string m_package
privateinherited

Package this module is found in (may be empty).

Definition at line 509 of file Module.h.

◆ m_propertyFlags

unsigned int m_propertyFlags
privateinherited

The properties of the module as bitwise or (with |) of EModulePropFlags.

Definition at line 511 of file Module.h.

◆ m_returnValue

int m_returnValue
privateinherited

The return value.

Definition at line 518 of file Module.h.

◆ m_rootFileName

std::string m_rootFileName
private

name of the root file

Definition at line 81 of file ECLDataAnalysisModule.h.

◆ m_rootFilePtr

TFile* m_rootFilePtr
private

members of ECLReconstructor Module

root file used for storing info

Definition at line 80 of file ECLDataAnalysisModule.h.

◆ m_trackFitResults

StoreArray<TrackFitResult> m_trackFitResults
private

TrackFitResult storeArray.

Definition at line 90 of file ECLDataAnalysisModule.h.

◆ m_tracks

StoreArray<Track> m_tracks
private

Tracks storeArray.

Definition at line 89 of file ECLDataAnalysisModule.h.

◆ m_tree

TTree* m_tree
private

Root tree and file for saving the output.

Definition at line 163 of file ECLDataAnalysisModule.h.

◆ m_trkCharge

std::vector<int>* m_trkCharge
private

Track charge.

Definition at line 522 of file ECLDataAnalysisModule.h.

◆ m_trkIdx

std::vector<int>* m_trkIdx
private

Track index.

Definition at line 521 of file ECLDataAnalysisModule.h.

◆ m_trkMultip

int m_trkMultip
private

Track Multiplicity.

Definition at line 519 of file ECLDataAnalysisModule.h.

◆ m_trkP

std::vector<double>* m_trkP
private

Track momentum.

Definition at line 526 of file ECLDataAnalysisModule.h.

◆ m_trkPdg

std::vector<int>* m_trkPdg
private

Track PDG code.

Definition at line 520 of file ECLDataAnalysisModule.h.

◆ m_trkPhi

std::vector<double>* m_trkPhi
private

Track azimuthal direction.

Definition at line 528 of file ECLDataAnalysisModule.h.

◆ m_trkPx

std::vector<double>* m_trkPx
private

Track momentum along X direction.

Definition at line 523 of file ECLDataAnalysisModule.h.

◆ m_trkPy

std::vector<double>* m_trkPy
private

Track momentum along Y direction.

Definition at line 524 of file ECLDataAnalysisModule.h.

◆ m_trkPz

std::vector<double>* m_trkPz
private

Track momentum along Z direction.

Definition at line 525 of file ECLDataAnalysisModule.h.

◆ m_trkTheta

std::vector<double>* m_trkTheta
private

Track polar direction.

Definition at line 527 of file ECLDataAnalysisModule.h.

◆ m_trkX

std::vector<double>* m_trkX
private

Track DOCA X (?)

Definition at line 529 of file ECLDataAnalysisModule.h.

◆ m_trkY

std::vector<double>* m_trkY
private

Track DOCA Y (?)

Definition at line 530 of file ECLDataAnalysisModule.h.

◆ m_trkZ

std::vector<double>* m_trkZ
private

Track DOCA Z (?)

Definition at line 531 of file ECLDataAnalysisModule.h.

◆ m_type

std::string m_type
privateinherited

The type of the module, saved as a string.

Definition at line 508 of file Module.h.

◆ m_writeToRoot

bool m_writeToRoot
private

if true, a rootFile named by m_rootFileName will be filled with info

Definition at line 82 of file ECLDataAnalysisModule.h.


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