Belle II Software  release-05-02-19
ECLDataAnalysisModule Class Reference

The ECL Data Analysis Module. More...

#include <ECLDataAnalysisModule.h>

Inheritance diagram for ECLDataAnalysisModule:
Collaboration diagram for ECLDataAnalysisModule:

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

Static Public Member Functions

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

Protected Member Functions

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

Private Member Functions

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. More...
 
void setParamPythonDict (const boost::python::dict &dictionary)
 Implements a method for reading the parameter values from a boost::python dictionary. More...
 

Private Attributes

TFile * m_rootFilePtr
 members of ECLReconstructor Module More...
 
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 phyton 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. More...
 
uint8_t m_nECLShowersRejectedBarrel {0}
 Number of photon showers that are rejected before storing to mdst (max. More...
 
uint8_t m_nECLShowersRejectedBWD {0}
 Number of photon showers that are rejected before storing to mdst (max. More...
 
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 associted 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 healt 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 healt 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 likelyhood.
 
std::vector< double > * m_eclLogLikeMu
 PID track muon likelyhood.
 
std::vector< double > * m_eclLogLikePi
 PID track pion likelyhood.
 
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 52 of file ECLDataAnalysisModule.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 79 of file Module.h.

Member Function Documentation

◆ clone()

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

Create an independent copy of this module.

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

Implements PathElement.

Definition at line 181 of file Module.cc.

◆ def_endRun()

virtual void def_endRun ( )
inlineprotectedvirtualinherited

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

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

Reimplemented in PyModule.

Definition at line 441 of file Module.h.

◆ def_initialize()

virtual void def_initialize ( )
inlineprotectedvirtualinherited

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

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

Reimplemented in PyModule.

Definition at line 422 of file Module.h.

◆ evalCondition()

bool evalCondition ( ) const
inherited

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

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

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

Definition at line 98 of file Module.cc.

◆ event()

void event ( )
overridevirtual

event

Digits

CalDigits

Hit

Clusters

Showers

Pure Digits

Pure Clusters

MC

Tracks

PID

Reimplemented from Module.

Definition at line 866 of file ECLDataAnalysisModule.cc.

867 {
868 
869  B2DEBUG(1, " ++++++++++++++ ECLDataAnalysisModule");
870 
871  //EventLevelClusteringInfo
878 
879  if (m_doDigits == 1) {
881  m_eclDigitMultip = 0;
882  m_eclDigitIdx->clear();
883  m_eclDigitToMC->clear();
884  m_eclDigitCellId->clear();
885  m_eclDigitAmp->clear();
886  m_eclDigitTimeFit->clear();
887  m_eclDigitFitQuality->clear();
888  m_eclDigitToCalDigit->clear();
889 
892  m_eclCalDigitCellId->clear();
893  m_eclCalDigitAmp->clear();
894  m_eclCalDigitTimeFit->clear();
895  m_eclCalDigitFitQuality->clear();
896  m_eclCalDigitIdx->clear();
897  m_eclCalDigitToMC1->clear();
898  m_eclCalDigitToMCWeight1->clear();
899  m_eclCalDigitToMC2->clear();
900  m_eclCalDigitToMCWeight2->clear();
901  m_eclCalDigitToMC3->clear();
902  m_eclCalDigitToMCWeight3->clear();
903  m_eclCalDigitToMC4->clear();
904  m_eclCalDigitToMCWeight4->clear();
905  m_eclCalDigitToMC5->clear();
906  m_eclCalDigitToMCWeight5->clear();
907  m_eclCalDigitToMC1PDG->clear();
908  m_eclCalDigitToMC2PDG->clear();
909  m_eclCalDigitToMC3PDG->clear();
910  m_eclCalDigitToMC4PDG->clear();
911  m_eclCalDigitToMC5PDG->clear();
912  m_eclCalDigitToBkgWeight->clear();
913  m_eclCalDigitSimHitSum->clear();
914  m_eclCalDigitToShower->clear();
915  m_eclCalDigitToCR->clear();
916  m_eclCalDigitToLM->clear();
917  }
918 
919  m_eclCRIdx->clear();
920  m_eclCRIsTrack->clear();
924  m_eclCRLikelihoodNGamma->clear();
927 
928  if (m_doHits == 1) {
929  //SimHit
930  m_eclSimHitMultip = 0;
931  m_eclSimHitCellId->clear();
932  m_eclSimHitPdg->clear();
933  m_eclSimHitEnergyDep->clear();
934  m_eclSimHitFlightTime->clear();
935  m_eclSimHitIdx->clear();
936  m_eclSimHitToMC->clear();
937  m_eclSimHitX->clear();
938  m_eclSimHitY->clear();
939  m_eclSimHitZ->clear();
940  m_eclSimHitPx->clear();
941  m_eclSimHitPy->clear();
942  m_eclSimHitPz->clear();
943 
945  m_eclHitMultip = 0;
946  m_eclHitCellId->clear();
947  m_eclHitEnergyDep->clear();
948  m_eclHitTimeAve->clear();
949  m_eclHitIdx->clear();
950  m_eclHitToMC->clear();
951  m_eclHitToDigit->clear();
952  m_eclHitToDigitAmp->clear();
953  }
954 
955  m_eclLMMultip = 0;
956  m_eclLMId->clear();
957  m_eclLMType->clear();
958  m_eclLMCellId->clear();
959 
961  m_eclClusterMultip = 0;
964  m_eclClusterEnergy->clear();
965  m_eclClusterEnergyError->clear();
966  m_eclClusterTheta->clear();
967  m_eclClusterThetaError->clear();
968  m_eclClusterPhi->clear();
969  m_eclClusterPhiError->clear();
970  m_eclClusterR->clear();
971  m_eclClusterIdx->clear();
972  m_eclClusterToMC1->clear();
973  m_eclClusterToMCWeight1->clear();
974  m_eclClusterToMC1PDG->clear();
975  m_eclClusterToMC2->clear();
976  m_eclClusterToMCWeight2->clear();
977  m_eclClusterToMC2PDG->clear();
978  m_eclClusterToMC3->clear();
979  m_eclClusterToMCWeight3->clear();
980  m_eclClusterToMC3PDG->clear();
981  m_eclClusterToMC4->clear();
982  m_eclClusterToMCWeight4->clear();
983  m_eclClusterToMC4PDG->clear();
984  m_eclClusterToMC5->clear();
985  m_eclClusterToMCWeight5->clear();
986  m_eclClusterToMC5PDG->clear();
987  m_eclClusterToBkgWeight->clear();
988  m_eclClusterSimHitSum->clear();
989  m_eclClusterEnergyDepSum->clear();
990  m_eclClusterTiming->clear();
991  m_eclClusterTimingError->clear();
992  m_eclClusterE9oE21->clear();
993  m_eclClusterHighestE->clear();
994  m_eclClusterCellId->clear();
995  m_eclClusterNofCrystals->clear();
996  m_eclClusterCrystalHealth->clear();
997  m_eclClusterIsTrack->clear();
999  m_eclClusterDeltaL->clear();
1000  m_eclClusterToShower->clear();
1001  m_eclClusterAbsZernike40->clear();
1002  m_eclClusterAbsZernike51->clear();
1003  m_eclClusterZernikeMVA->clear();
1004  m_eclClusterE1oE9->clear();
1005  m_eclClusterSecondMoment->clear();
1006  m_eclClusterLAT->clear();
1007  m_eclClusterDeltaTime99->clear();
1008  m_eclClusterDetectorRegion->clear();
1011 
1013  m_eclShowerMultip = 0;
1014  m_eclShowerIdx->clear();
1015  m_eclShowerToMC1->clear();
1016  m_eclShowerToMCWeight1->clear();
1017  m_eclShowerToMC1PDG->clear();
1018  m_eclShowerToMC1Moth->clear();
1019  m_eclShowerToMC1MothPDG->clear();
1020  m_eclShowerToMC1GMoth->clear();
1021  m_eclShowerToMC1GMothPDG->clear();
1022  m_eclShowerToMC2->clear();
1023  m_eclShowerToMCWeight2->clear();
1024  m_eclShowerToMC2PDG->clear();
1025  m_eclShowerToMC2Moth->clear();
1026  m_eclShowerToMC2MothPDG->clear();
1027  m_eclShowerToMC2GMoth->clear();
1028  m_eclShowerToMC2GMothPDG->clear();
1029  m_eclShowerToMC3->clear();
1030  m_eclShowerToMCWeight3->clear();
1031  m_eclShowerToMC3PDG->clear();
1032  m_eclShowerToMC3Moth->clear();
1033  m_eclShowerToMC3MothPDG->clear();
1034  m_eclShowerToMC3GMoth->clear();
1035  m_eclShowerToMC3GMothPDG->clear();
1036  m_eclShowerToMC4->clear();
1037  m_eclShowerToMCWeight4->clear();
1038  m_eclShowerToMC4PDG->clear();
1039  m_eclShowerToMC4Moth->clear();
1040  m_eclShowerToMC4MothPDG->clear();
1041  m_eclShowerToMC4GMoth->clear();
1042  m_eclShowerToMC4GMothPDG->clear();
1043  m_eclShowerToMC5->clear();
1044  m_eclShowerToMCWeight5->clear();
1045  m_eclShowerToMC5PDG->clear();
1046  m_eclShowerToMC5Moth->clear();
1047  m_eclShowerToMC5MothPDG->clear();
1048  m_eclShowerToMC5GMoth->clear();
1049  m_eclShowerToMC5GMothPDG->clear();
1050  m_eclShowerToBkgWeight->clear();
1051  m_eclShowerToLM1->clear();
1052  m_eclShowerToLM2->clear();
1053  m_eclShowerToLM3->clear();
1054  m_eclShowerToLM4->clear();
1055  m_eclShowerToLM5->clear();
1056  m_eclShowerSimHitSum->clear();
1057  m_eclShowerUncEnergy->clear();
1058  m_eclShowerEnergy->clear();
1059  m_eclShowerTheta->clear();
1060  m_eclShowerPhi->clear();
1061  m_eclShowerR->clear();
1062  m_eclShowerNHits->clear();
1063  m_eclShowerE9oE21->clear();
1064  m_eclShowerTime->clear();
1065  m_eclShowerT99->clear();
1067  m_eclShowerHypothesisId->clear();
1068  m_eclShowerCentralCellId->clear();
1069  m_eclShowerEnergyError->clear();
1070  m_eclShowerThetaError->clear();
1071  m_eclShowerPhiError->clear();
1072  m_eclShowerTimeResolution->clear();
1073  m_eclShowerHighestEnergy->clear();
1074  m_eclShowerLateralEnergy->clear();
1075  m_eclShowerMinTrkDistance->clear();
1076  m_eclShowerTrkDepth->clear();
1077  m_eclShowerShowerDepth->clear();
1078  m_eclShowerAbsZernike40->clear();
1079  m_eclShowerAbsZernike51->clear();
1080  m_eclShowerZernikeMVA->clear();
1081  m_eclShowerSecondMoment->clear();
1082  m_eclShowerE1oE9->clear();
1083  m_eclShowerIsTrack->clear();
1084  m_eclShowerIsCluster->clear();
1085  m_eclShowerMCVtxInEcl->clear();
1086  m_eclShowerMCFlightMatch->clear();
1087  m_eclShowerMCFFlightMatch->clear();
1088  m_eclShowerHighestE1mE2->clear();
1090 
1092  if (m_doPureCsI == true) {
1094  m_eclPureDigitIdx->clear();
1095  m_eclPureDigitToMC->clear();
1096  m_eclPureDigitCellId->clear();
1097  m_eclPureDigitAmp->clear();
1098  m_eclPureDigitTimeFit->clear();
1099  m_eclPureDigitFitQuality->clear();
1100  m_eclPureDigitToCluster->clear();
1101  m_eclHitToPureDigit->clear();
1102  m_eclHitToPureDigitAmp->clear();
1103 
1104  //Pure CalDigits
1106  m_eclPureCalDigitCellId->clear();
1107  m_eclPureCalDigitAmp->clear();
1108  m_eclPureCalDigitTimeFit->clear();
1109  m_eclPureCalDigitFitQuality->clear();
1110  m_eclPureCalDigitIdx->clear();
1111  m_eclPureCalDigitToMC1->clear();
1113  m_eclPureCalDigitToMC2->clear();
1115  m_eclPureCalDigitToMC3->clear();
1117  m_eclPureCalDigitToMC4->clear();
1119  m_eclPureCalDigitToMC5->clear();
1121  m_eclPureCalDigitToMC1PDG->clear();
1122  m_eclPureCalDigitToMC2PDG->clear();
1123  m_eclPureCalDigitToMC3PDG->clear();
1124  m_eclPureCalDigitToMC4PDG->clear();
1125  m_eclPureCalDigitToMC5PDG->clear();
1127  m_eclPureCalDigitSimHitSum->clear();
1128  m_eclPureCalDigitToShower->clear();
1129  m_eclPureCalDigitToCR->clear();
1130  m_eclPureCalDigitToLM->clear();
1131 
1132  m_eclPureCRIdx->clear();
1133  m_eclPureCRIsTrack->clear();
1137  m_eclPureCRLikelihoodNGamma->clear();
1140 
1141  m_eclPureLMMultip = 0;
1142  m_eclPureLMId->clear();
1143  m_eclPureLMType->clear();
1144  m_eclPureLMCellId->clear();
1145 
1148  m_eclPureClusterToMC1->clear();
1149  m_eclPureClusterToMCWeight1->clear();
1150  m_eclPureClusterToMC1PDG->clear();
1151  m_eclPureClusterToMC2->clear();
1152  m_eclPureClusterToMCWeight2->clear();
1153  m_eclPureClusterToMC2PDG->clear();
1154  m_eclPureClusterToMC3->clear();
1155  m_eclPureClusterToMCWeight3->clear();
1156  m_eclPureClusterToMC3PDG->clear();
1157  m_eclPureClusterToMC4->clear();
1158  m_eclPureClusterToMCWeight4->clear();
1159  m_eclPureClusterToMC4PDG->clear();
1160  m_eclPureClusterToMC5->clear();
1161  m_eclPureClusterToMCWeight5->clear();
1162  m_eclPureClusterToMC5PDG->clear();
1163  m_eclPureClusterToBkgWeight->clear();
1164  m_eclPureClusterEnergy->clear();
1165  m_eclPureClusterEnergyError->clear();
1166  m_eclPureClusterTheta->clear();
1168  m_eclPureClusterThetaError->clear();
1169  m_eclPureClusterPhi->clear();
1170  m_eclPureClusterPhiError->clear();
1171  m_eclPureClusterR->clear();
1172  m_eclPureClusterIdx->clear();
1173  m_eclPureClusterTiming->clear();
1174  m_eclPureClusterTimingError->clear();
1175  m_eclPureClusterE9oE21->clear();
1176  m_eclPureClusterHighestE->clear();
1177  m_eclPureClusterCellId->clear();
1178  m_eclPureClusterLat->clear();
1179  m_eclPureClusterNofCrystals->clear();
1184  m_eclPureClusterZernikeMVA->clear();
1186  m_eclPureClusterIsTrack->clear();
1187  m_eclPureClusterDeltaL->clear();
1188  m_eclPureClusterE1oE9->clear();
1189  m_eclPureClusterDeltaTime99->clear();
1193  }
1194 
1196  m_mcMultip = 0;
1197  m_mcIdx->clear();
1198  m_mcPdg->clear();
1199  m_mcMothPdg->clear();
1200  m_mcGMothPdg->clear();
1201  m_mcGGMothPdg->clear();
1202  m_mcEnergy->clear();
1203  m_mcPx->clear();
1204  m_mcPy->clear();
1205  m_mcPz->clear();
1206  m_mcDecayVtxX->clear();
1207  m_mcDecayVtxY->clear();
1208  m_mcDecayVtxZ->clear();
1209  m_mcProdVtxX->clear();
1210  m_mcProdVtxY->clear();
1211  m_mcProdVtxZ->clear();
1212  m_mcSecondaryPhysProc->clear();
1213 
1215  if (m_doTracking == true) {
1216  m_trkMultip = 0;
1217  m_trkIdx->clear();
1218  m_trkPdg->clear();
1219  m_trkCharge->clear();
1220  m_trkPx->clear();
1221  m_trkPy->clear();
1222  m_trkPz->clear();
1223  m_trkP->clear();
1224  m_trkPhi->clear();
1225  m_trkTheta->clear();
1226  m_trkPhi->clear();
1227  m_trkX->clear();
1228  m_trkY->clear();
1229  m_trkZ->clear();
1230 
1232  m_eclpidtrkIdx->clear();
1233  m_eclpidEnergy->clear();
1234  m_eclpidEop->clear();
1235  m_eclpidE9E21->clear();
1236  m_eclpidNCrystals->clear();
1237  m_eclpidNClusters->clear();
1238  m_eclLogLikeEl->clear();
1239  m_eclLogLikeMu->clear();
1240  m_eclLogLikePi->clear();
1241  }
1242 
1243 
1244  if (m_eventmetadata) {
1245  m_iExperiment = m_eventmetadata->getExperiment();
1246  m_iRun = m_eventmetadata->getRun();
1247  m_iEvent = m_eventmetadata->getEvent();
1248  } else {
1249  m_iExperiment = -1;
1250  m_iRun = -1;
1251  m_iEvent = -1;
1252  }
1253 
1254  //EventLevelClusteringInfo
1255  m_nECLCalDigitsOutOfTimeFWD = m_eventLevelClusteringInfo->getNECLCalDigitsOutOfTimeFWD();
1256  m_nECLCalDigitsOutOfTimeBarrel = m_eventLevelClusteringInfo->getNECLCalDigitsOutOfTimeBarrel();
1257  m_nECLCalDigitsOutOfTimeBWD = m_eventLevelClusteringInfo->getNECLCalDigitsOutOfTimeBWD();
1258  m_nECLShowersRejectedFWD = m_eventLevelClusteringInfo->getNECLShowersRejectedFWD();
1259  m_nECLShowersRejectedBarrel = m_eventLevelClusteringInfo->getNECLShowersRejectedBarrel();
1260  m_nECLShowersRejectedBWD = m_eventLevelClusteringInfo->getNECLShowersRejectedBWD();
1261 
1262  if (m_doDigits == 1) {
1263  //DIGITS
1264  m_eclDigitMultip = m_eclDigits.getEntries();
1265  for (int idigits = 0; idigits < m_eclDigits.getEntries() ; idigits++) {
1266  ECLDigit* aECLDigits = m_eclDigits[idigits];
1267  m_eclDigitIdx->push_back(idigits);
1268  m_eclDigitCellId->push_back(aECLDigits->getCellId());
1269  m_eclDigitAmp->push_back(aECLDigits->getAmp());
1270  m_eclDigitTimeFit->push_back(aECLDigits->getTimeFit());
1271  m_eclDigitFitQuality->push_back(aECLDigits->getQuality());
1272 
1273  if (aECLDigits->getRelated<MCParticle>() != (nullptr)) {
1274  const MCParticle* mc_digit = aECLDigits->getRelated<MCParticle>();
1275  m_eclDigitToMC->push_back(mc_digit->getArrayIndex());
1276  } else
1277  m_eclDigitToMC->push_back(-1);
1278 
1279  if (aECLDigits->getRelated<ECLCalDigit>() != (nullptr)) {
1280  const ECLCalDigit* cal_digit = aECLDigits->getRelated<ECLCalDigit>();
1281  m_eclDigitToCalDigit->push_back(cal_digit->getArrayIndex());
1282  } else
1283  m_eclDigitToCalDigit->push_back(-1);
1284  }
1285 
1286  //CAL DIGITS
1287  m_eclCalDigitMultip = m_eclCalDigits.getEntries();
1288  for (uint icaldigits = 0; icaldigits < (uint)m_eclCalDigits.getEntries() ; icaldigits++) {
1289  ECLCalDigit* aECLCalDigits = m_eclCalDigits[icaldigits];
1290 
1291  m_eclCalDigitIdx->push_back(icaldigits);
1292  m_eclCalDigitCellId->push_back(aECLCalDigits->getCellId());
1293  m_eclCalDigitAmp->push_back(aECLCalDigits->getEnergy());
1294  m_eclCalDigitTimeFit->push_back(aECLCalDigits->getTime());
1295  m_eclCalDigitFitQuality->push_back(aECLCalDigits->isFailedFit());
1296 
1297  double sumHit = 0;
1298  int idx[10];
1299  for (int i = 0; i < 10; i++)
1300  idx[i] = -1;
1301 
1302  double wi[10];
1303  for (int i = 0; i < 10; i++)
1304  wi[i] = -1;
1305 
1306  int ii = 0;
1307  sumHit = 0;
1308 
1309  auto digitMCRelations = aECLCalDigits->getRelationsTo<MCParticle>();
1310  for (unsigned int i = 0; i < digitMCRelations.size(); ++i) {
1311  if (ii < 10) {
1312  const auto mcParticle = digitMCRelations.object(i);
1313  idx[ii] = mcParticle->getIndex() - 1;
1314  wi[ii] = digitMCRelations.weight(i);
1315  sumHit = sumHit + digitMCRelations.weight(i);
1316  ii++;
1317  }
1318  }
1319 
1320  //Re-ordering based on contribution
1321  int y = 0;
1322  while (y < 10) {
1323  for (int i = 0; i < 9; i++) {
1324  if (((idx[i]) > -1) && ((idx[i + 1]) > -1)) {
1325  if (wi[i] < wi[i + 1]) {
1326  int temp = idx[i];
1327  idx[i] = idx[i + 1];
1328  idx[i + 1] = temp;
1329 
1330  double wtemp = wi[i];
1331  wi[i] = wi[i + 1];
1332  wi[i + 1] = wtemp;
1333  }
1334  }
1335  }
1336  y++;
1337  }
1338 
1339  m_eclCalDigitToBkgWeight->push_back(aECLCalDigits->getEnergy() - sumHit);
1340  m_eclCalDigitSimHitSum->push_back(sumHit);
1341  if (idx[0] > -1) {
1342  m_eclCalDigitToMCWeight1->push_back(wi[0]);
1343  m_eclCalDigitToMC1->push_back(idx[0]);
1344  MCParticle* amcParticle = m_mcParticles[idx[0]];
1345  m_eclCalDigitToMC1PDG->push_back(amcParticle->getPDG());
1346  } else {
1347  m_eclCalDigitToMCWeight1->push_back(-1);
1348  m_eclCalDigitToMC1->push_back(-1);
1349  m_eclCalDigitToMC1PDG->push_back(-1);
1350  }
1351  if (idx[1] > -1) {
1352  m_eclCalDigitToMCWeight2->push_back(wi[1]);
1353  m_eclCalDigitToMC2->push_back(idx[1]);
1354  MCParticle* amcParticle = m_mcParticles[idx[1]];
1355  m_eclCalDigitToMC2PDG->push_back(amcParticle->getPDG());
1356  } else {
1357  m_eclCalDigitToMCWeight2->push_back(-1);
1358  m_eclCalDigitToMC2->push_back(-1);
1359  m_eclCalDigitToMC2PDG->push_back(-1);
1360  }
1361  if (idx[2] > -1) {
1362  m_eclCalDigitToMCWeight3->push_back(wi[2]);
1363  m_eclCalDigitToMC3->push_back(idx[2]);
1364  MCParticle* amcParticle = m_mcParticles[idx[2]];
1365  m_eclCalDigitToMC3PDG->push_back(amcParticle->getPDG());
1366  } else {
1367  m_eclCalDigitToMCWeight3->push_back(-1);
1368  m_eclCalDigitToMC3->push_back(-1);
1369  m_eclCalDigitToMC3PDG->push_back(-1);
1370  }
1371  if (idx[3] > -1) {
1372  m_eclCalDigitToMCWeight4->push_back(wi[3]);
1373  m_eclCalDigitToMC4->push_back(idx[3]);
1374  MCParticle* amcParticle = m_mcParticles[idx[3]];
1375  m_eclCalDigitToMC4PDG->push_back(amcParticle->getPDG());
1376  } else {
1377  m_eclCalDigitToMCWeight4->push_back(-1);
1378  m_eclCalDigitToMC4->push_back(-1);
1379  m_eclCalDigitToMC4PDG->push_back(-1);
1380  }
1381  if (idx[4] > -1) {
1382  m_eclCalDigitToMCWeight5->push_back(wi[4]);
1383  m_eclCalDigitToMC5->push_back(idx[4]);
1384  MCParticle* amcParticle = m_mcParticles[idx[4]];
1385  m_eclCalDigitToMC5PDG->push_back(amcParticle->getPDG());
1386  } else {
1387  m_eclCalDigitToMCWeight5->push_back(-1);
1388  m_eclCalDigitToMC5->push_back(-1);
1389  m_eclCalDigitToMC5PDG->push_back(-1);
1390  }
1391 
1392  if (aECLCalDigits->getRelated<ECLShower>() != (nullptr)) {
1393  const ECLShower* shower_caldigit = aECLCalDigits->getRelated<ECLShower>();
1394  m_eclCalDigitToShower->push_back(shower_caldigit->getArrayIndex());
1395  } else
1396  m_eclCalDigitToShower->push_back(-1);
1397 
1398  if (aECLCalDigits->getRelated<ECLConnectedRegion>() != (nullptr)) {
1399  const ECLConnectedRegion* cr_caldigit = aECLCalDigits->getRelated<ECLConnectedRegion>();
1400  m_eclCalDigitToCR->push_back(cr_caldigit->getCRId());
1401  } else
1402  m_eclCalDigitToCR->push_back(-1);
1403 
1404  if (aECLCalDigits->getRelated<ECLLocalMaximum>() != (nullptr)) {
1405  const ECLLocalMaximum* lm_caldigit = aECLCalDigits->getRelated<ECLLocalMaximum>();
1406  m_eclCalDigitToLM->push_back(lm_caldigit->getLMId());
1407  } else
1408  m_eclCalDigitToLM->push_back(-1);
1409 
1410  }
1411  }
1412 
1413  //CR
1414  int CRmultip = m_eclConnectedRegions.getEntries();
1415  for (int i = 0; i < CRmultip; i++) {
1417  m_eclCRIdx->push_back(aECLCR->getCRId());
1418  m_eclCRIsTrack->push_back(aECLCR->isTrack());
1419  m_eclCRLikelihoodMIPNGamma->push_back(aECLCR->getLikelihoodMIPNGamma());
1422  m_eclCRLikelihoodNGamma->push_back(aECLCR->getLikelihoodNGamma());
1424  m_eclCRLikelihoodMergedPi0->push_back(aECLCR->getLikelihoodMergedPi0());
1425  }
1426 
1427  if (m_doHits == 1) {
1428 
1429  //SIM HITS
1430  m_eclSimHitMultip = m_eclSimHits.getEntries();
1431  for (int isimhits = 0; isimhits < m_eclSimHits.getEntries() ; isimhits++) {
1432  ECLSimHit* aECLSimHits = m_eclSimHits[isimhits];
1433 
1434  m_eclSimHitIdx->push_back(isimhits);
1435  m_eclSimHitCellId->push_back(aECLSimHits->getCellId());
1436  m_eclSimHitPdg->push_back(aECLSimHits->getPDGCode());
1437  m_eclSimHitEnergyDep->push_back(aECLSimHits->getEnergyDep());
1438  m_eclSimHitFlightTime->push_back(aECLSimHits->getFlightTime());
1439  m_eclSimHitX->push_back(aECLSimHits->getPosition().x());
1440  m_eclSimHitY->push_back(aECLSimHits->getPosition().y());
1441  m_eclSimHitZ->push_back(aECLSimHits->getPosition().z());
1442  m_eclSimHitPx->push_back(aECLSimHits->getMomentum().x());
1443  m_eclSimHitPy->push_back(aECLSimHits->getMomentum().y());
1444  m_eclSimHitPz->push_back(aECLSimHits->getMomentum().z());
1445 
1446  if (aECLSimHits->getRelated<MCParticle>() != (nullptr)) {
1447  const MCParticle* mc_simhit = aECLSimHits->getRelated<MCParticle>();
1448  m_eclSimHitToMC->push_back(mc_simhit->getArrayIndex());
1449  } else
1450  m_eclSimHitToMC->push_back(-1);
1451  }
1452 
1453  //HITS
1454  m_eclHitMultip = m_eclHits.getEntries();
1455  for (int ihits = 0; ihits < m_eclHits.getEntries() ; ihits++) {
1456  ECLHit* aECLHits = m_eclHits[ihits];
1457  m_eclHitIdx->push_back(ihits);
1458  m_eclHitCellId->push_back(aECLHits->getCellId());
1459  m_eclHitEnergyDep->push_back(aECLHits->getEnergyDep());
1460  m_eclHitTimeAve->push_back(aECLHits->getTimeAve());
1461 
1462  if (aECLHits->getRelated<ECLDigit>() != (nullptr)) {
1463  const ECLDigit* hit_digit = aECLHits->getRelated<ECLDigit>();
1464  m_eclHitToDigit->push_back(hit_digit->getArrayIndex());
1465  m_eclHitToDigitAmp->push_back(hit_digit->getAmp());
1466  } else {
1467  m_eclHitToDigit->push_back(-1);
1468  m_eclHitToDigitAmp->push_back(-1);
1469  }
1470 
1471  if (m_doPureCsI == true) {
1472  if (aECLHits->getRelated<ECLDigit>(eclPureDigitArrayName()) != (nullptr)) {
1473  const ECLDigit* hit_pdigit = aECLHits->getRelated<ECLDigit>(eclPureDigitArrayName());
1474  m_eclHitToPureDigit->push_back(hit_pdigit->getArrayIndex());
1475  m_eclHitToPureDigitAmp->push_back(hit_pdigit->getAmp());
1476  } else {
1477  m_eclHitToPureDigit->push_back(-1);
1478  m_eclHitToPureDigitAmp->push_back(-1);
1479  }
1480  }
1481 
1482  if (aECLHits->getRelated<MCParticle>() != (nullptr)) {
1483  const MCParticle* mc_hit = aECLHits->getRelated<MCParticle>();
1484  m_eclHitToMC->push_back(mc_hit->getArrayIndex());
1485  } else
1486  m_eclHitToMC->push_back(-1);
1487  }
1488  }
1489 
1490  //LM
1491  m_eclLMMultip = m_eclLocalMaximums.getEntries();
1492  for (unsigned int ilms = 0; ilms < (unsigned int)m_eclLocalMaximums.getEntries() ; ilms++) {
1493  ECLLocalMaximum* aECLLMs = m_eclLocalMaximums[ilms];
1494  m_eclLMId->push_back(aECLLMs->getLMId());
1495  m_eclLMType->push_back(aECLLMs->getType());
1496  m_eclLMCellId->push_back(aECLLMs->getCellId());
1497  }
1498 
1499  //CLUSTERS
1500  m_eclClusterMultip = m_eclClusters.getEntries();
1501  for (unsigned int iclusters = 0; iclusters < (unsigned int)m_eclClusters.getEntries() ; iclusters++) {
1502  ECLCluster* aECLClusters = m_eclClusters[iclusters];
1503  m_eclClusterIdx->push_back(iclusters);
1504 
1505  double clusterE = 0.0;
1506  if (aECLClusters->hasHypothesis(ECLCluster::EHypothesisBit::c_nPhotons)) clusterE = aECLClusters->getEnergy(
1508  else clusterE = aECLClusters->getEnergy(ECLCluster::EHypothesisBit::c_neutralHadron);
1509  m_eclClusterEnergy->push_back(clusterE);
1510 
1511  m_eclClusterEnergyError->push_back(aECLClusters->getUncertaintyEnergy());
1512  m_eclClusterTheta->push_back(aECLClusters->getTheta());
1513  m_eclClusterThetaError->push_back(aECLClusters->getUncertaintyTheta());
1514  m_eclClusterPhi->push_back(aECLClusters->getPhi());
1515  m_eclClusterPhiError->push_back(aECLClusters->getUncertaintyPhi());
1516  m_eclClusterR->push_back(aECLClusters->getR());
1517  m_eclClusterEnergyDepSum->push_back(aECLClusters->getEnergyRaw());
1518  m_eclClusterTiming->push_back(aECLClusters->getTime());
1519  m_eclClusterTimingError->push_back(aECLClusters->getDeltaTime99());
1520  m_eclClusterE9oE21->push_back(aECLClusters->getE9oE21());
1521  m_eclClusterHighestE->push_back(aECLClusters->getEnergyHighestCrystal());
1522  m_eclClusterCellId->push_back(aECLClusters->getMaxECellId());
1523  m_eclClusterNofCrystals->push_back(aECLClusters->getNumberOfCrystals());
1524  m_eclClusterCrystalHealth->push_back(aECLClusters->getStatus());
1525 
1526  m_eclClusterIsTrack->push_back(aECLClusters->isTrack());
1527  m_eclClusterClosestTrackDist->push_back(aECLClusters->getMinTrkDistance());
1528  m_eclClusterDeltaL->push_back(aECLClusters->getDeltaL());
1529 
1530  m_eclClusterAbsZernike40->push_back(aECLClusters->getAbsZernike40());
1531  m_eclClusterAbsZernike51->push_back(aECLClusters->getAbsZernike51());
1532  m_eclClusterZernikeMVA->push_back(aECLClusters->getZernikeMVA());
1533  m_eclClusterE1oE9->push_back(aECLClusters->getE1oE9());
1534  m_eclClusterSecondMoment->push_back(aECLClusters->getSecondMoment());
1535  m_eclClusterLAT->push_back(aECLClusters->getLAT());
1536  m_eclClusterDeltaTime99->push_back(aECLClusters->getDeltaTime99());
1537  m_eclClusterDetectorRegion->push_back(aECLClusters->getDetectorRegion());
1540 
1541  if (aECLClusters->getRelated<ECLShower>() != (nullptr)) {
1542  const ECLShower* shower_cluster = aECLClusters->getRelated<ECLShower>();
1543  m_eclClusterToShower->push_back(shower_cluster->getArrayIndex());
1544  } else
1545  m_eclClusterToShower->push_back(-1);
1546 
1547  //Dump MC Info - Multiple Matching
1548  double sumHit = 0;
1549  int idx[10];
1550  for (int i = 0; i < 10; i++)
1551  idx[i] = -1;
1552 
1553  double wi[10];
1554  for (int i = 0; i < 10; i++)
1555  wi[i] = -1;
1556 
1557  int ii = 0;
1558  sumHit = 0;
1559 
1560  auto clusterMCRelations = aECLClusters->getRelationsTo<MCParticle>();
1561  for (unsigned int i = 0; i < clusterMCRelations.size(); ++i) {
1562  if (ii < 10) {
1563  const auto mcParticle = clusterMCRelations.object(i);
1564  idx[ii] = mcParticle->getIndex() - 1;
1565  wi[ii] = clusterMCRelations.weight(i);
1566  sumHit = sumHit + clusterMCRelations.weight(i);
1567  ii++;
1568  }
1569  }
1570 
1571  //Re-ordering based on contribution
1572  int y = 0;
1573  while (y < 10) {
1574  for (int i = 0; i < 9; i++) {
1575  if (((idx[i]) > -1) && ((idx[i + 1]) > -1)) {
1576  if (wi[i] < wi[i + 1]) {
1577  int temp = idx[i];
1578  idx[i] = idx[i + 1];
1579  idx[i + 1] = temp;
1580 
1581  double wtemp = wi[i];
1582  wi[i] = wi[i + 1];
1583  wi[i + 1] = wtemp;
1584  }
1585  }
1586  }
1587  y++;
1588  }
1589 
1590  m_eclClusterToBkgWeight->push_back(clusterE - sumHit);
1591  m_eclClusterSimHitSum->push_back(sumHit);
1592  if (idx[0] > -1) {
1593  m_eclClusterToMCWeight1->push_back(wi[0]);
1594  m_eclClusterToMC1->push_back(idx[0]);
1595  MCParticle* amcParticle = m_mcParticles[idx[0]];
1596  m_eclClusterToMC1PDG->push_back(amcParticle->getPDG());
1597  } else {
1598  m_eclClusterToMCWeight1->push_back(-1);
1599  m_eclClusterToMC1->push_back(-1);
1600  m_eclClusterToMC1PDG->push_back(-1);
1601  }
1602  if (idx[1] > -1) {
1603  m_eclClusterToMCWeight2->push_back(wi[1]);
1604  m_eclClusterToMC2->push_back(idx[1]);
1605  MCParticle* amcParticle = m_mcParticles[idx[1]];
1606  m_eclClusterToMC2PDG->push_back(amcParticle->getPDG());
1607  } else {
1608  m_eclClusterToMCWeight2->push_back(-1);
1609  m_eclClusterToMC2->push_back(-1);
1610  m_eclClusterToMC2PDG->push_back(-1);
1611  }
1612  if (idx[2] > -1) {
1613  m_eclClusterToMCWeight3->push_back(wi[2]);
1614  m_eclClusterToMC3->push_back(idx[2]);
1615  MCParticle* amcParticle = m_mcParticles[idx[2]];
1616  m_eclClusterToMC3PDG->push_back(amcParticle->getPDG());
1617  } else {
1618  m_eclClusterToMCWeight3->push_back(-1);
1619  m_eclClusterToMC3->push_back(-1);
1620  m_eclClusterToMC3PDG->push_back(-1);
1621  }
1622  if (idx[3] > -1) {
1623  m_eclClusterToMCWeight4->push_back(wi[3]);
1624  m_eclClusterToMC4->push_back(idx[3]);
1625  MCParticle* amcParticle = m_mcParticles[idx[3]];
1626  m_eclClusterToMC4PDG->push_back(amcParticle->getPDG());
1627  } else {
1628  m_eclClusterToMCWeight4->push_back(-1);
1629  m_eclClusterToMC4->push_back(-1);
1630  m_eclClusterToMC4PDG->push_back(-1);
1631  }
1632  if (idx[4] > -1) {
1633  m_eclClusterToMCWeight5->push_back(wi[4]);
1634  m_eclClusterToMC5->push_back(idx[4]);
1635  MCParticle* amcParticle = m_mcParticles[idx[4]];
1636  m_eclClusterToMC5PDG->push_back(amcParticle->getPDG());
1637  } else {
1638  m_eclClusterToMCWeight5->push_back(-1);
1639  m_eclClusterToMC5->push_back(-1);
1640  m_eclClusterToMC5PDG->push_back(-1);
1641  }
1642 
1643  }
1644 
1645  if (m_doPureCsI == true) {
1646 
1647  m_eclPureDigitMultip = m_eclPureDigits.getEntries();
1648  for (int idigits = 0; idigits < m_eclPureDigits.getEntries() ; idigits++) {
1649  ECLDigit* aECLPureDigits = m_eclPureDigits[idigits];
1650 
1651  m_eclPureDigitIdx->push_back(idigits);
1652  m_eclPureDigitCellId->push_back(aECLPureDigits->getCellId());
1653  m_eclPureDigitAmp->push_back(aECLPureDigits->getAmp());
1654  m_eclPureDigitTimeFit->push_back(aECLPureDigits->getTimeFit());
1655  m_eclPureDigitFitQuality->push_back(aECLPureDigits->getQuality());
1656 
1657  if (aECLPureDigits->getRelated<MCParticle>() != (nullptr)) {
1658  const MCParticle* mc_digit = aECLPureDigits->getRelated<MCParticle>();
1659  m_eclPureDigitToMC->push_back(mc_digit->getArrayIndex());
1660  } else
1661  m_eclPureDigitToMC->push_back(-1);
1662  }
1663 
1664  //PURE CAL DIGITS
1666  for (uint icaldigits = 0; icaldigits < (uint)m_eclPureCalDigits.getEntries() ; icaldigits++) {
1667  ECLCalDigit* aECLPureCalDigits = m_eclPureCalDigits[icaldigits];
1668 
1669  m_eclPureCalDigitIdx->push_back(icaldigits);
1670  m_eclPureCalDigitCellId->push_back(aECLPureCalDigits->getCellId());
1671  m_eclPureCalDigitAmp->push_back(aECLPureCalDigits->getEnergy());
1672  m_eclPureCalDigitTimeFit->push_back(aECLPureCalDigits->getTime());
1673  m_eclPureCalDigitFitQuality->push_back(aECLPureCalDigits->isFailedFit());
1674 
1675  double sumHit = 0;
1676  int idx[10];
1677  for (int i = 0; i < 10; i++)
1678  idx[i] = -1;
1679 
1680  double wi[10];
1681  for (int i = 0; i < 10; i++)
1682  wi[i] = -1;
1683 
1684  int ii = 0;
1685  sumHit = 0;
1686 
1687  auto digitMCRelations = aECLPureCalDigits->getRelationsTo<MCParticle>();
1688  for (unsigned int i = 0; i < digitMCRelations.size(); ++i) {
1689  if (ii < 10) {
1690  const auto mcParticle = digitMCRelations.object(i);
1691  idx[ii] = mcParticle->getIndex() - 1;
1692  wi[ii] = digitMCRelations.weight(i);
1693  sumHit = sumHit + digitMCRelations.weight(i);
1694  ii++;
1695  }
1696  }
1697 
1698  //Re-ordering based on contribution
1699  int y = 0;
1700  while (y < 10) {
1701  for (int i = 0; i < 9; i++) {
1702  if (((idx[i]) > -1) && ((idx[i + 1]) > -1)) {
1703  if (wi[i] < wi[i + 1]) {
1704  int temp = idx[i];
1705  idx[i] = idx[i + 1];
1706  idx[i + 1] = temp;
1707 
1708  double wtemp = wi[i];
1709  wi[i] = wi[i + 1];
1710  wi[i + 1] = wtemp;
1711  }
1712  }
1713  }
1714  y++;
1715  }
1716 
1717  m_eclPureCalDigitToBkgWeight->push_back(aECLPureCalDigits->getEnergy() - sumHit);
1718  m_eclPureCalDigitSimHitSum->push_back(sumHit);
1719  if (idx[0] > -1) {
1720  m_eclPureCalDigitToMCWeight1->push_back(wi[0]);
1721  m_eclPureCalDigitToMC1->push_back(idx[0]);
1722  MCParticle* amcParticle = m_mcParticles[idx[0]];
1723  m_eclPureCalDigitToMC1PDG->push_back(amcParticle->getPDG());
1724  } else {
1725  m_eclPureCalDigitToMCWeight1->push_back(-1);
1726  m_eclPureCalDigitToMC1->push_back(-1);
1727  m_eclPureCalDigitToMC1PDG->push_back(-1);
1728  }
1729  if (idx[1] > -1) {
1730  m_eclPureCalDigitToMCWeight2->push_back(wi[1]);
1731  m_eclPureCalDigitToMC2->push_back(idx[1]);
1732  MCParticle* amcParticle = m_mcParticles[idx[1]];
1733  m_eclPureCalDigitToMC2PDG->push_back(amcParticle->getPDG());
1734  } else {
1735  m_eclPureCalDigitToMCWeight2->push_back(-1);
1736  m_eclPureCalDigitToMC2->push_back(-1);
1737  m_eclPureCalDigitToMC2PDG->push_back(-1);
1738  }
1739  if (idx[2] > -1) {
1740  m_eclPureCalDigitToMCWeight3->push_back(wi[2]);
1741  m_eclPureCalDigitToMC3->push_back(idx[2]);
1742  MCParticle* amcParticle = m_mcParticles[idx[2]];
1743  m_eclPureCalDigitToMC3PDG->push_back(amcParticle->getPDG());
1744  } else {
1745  m_eclPureCalDigitToMCWeight3->push_back(-1);
1746  m_eclPureCalDigitToMC3->push_back(-1);
1747  m_eclPureCalDigitToMC3PDG->push_back(-1);
1748  }
1749  if (idx[3] > -1) {
1750  m_eclPureCalDigitToMCWeight4->push_back(wi[3]);
1751  m_eclPureCalDigitToMC4->push_back(idx[3]);
1752  MCParticle* amcParticle = m_mcParticles[idx[3]];
1753  m_eclPureCalDigitToMC4PDG->push_back(amcParticle->getPDG());
1754  } else {
1755  m_eclPureCalDigitToMCWeight4->push_back(-1);
1756  m_eclPureCalDigitToMC4->push_back(-1);
1757  m_eclPureCalDigitToMC4PDG->push_back(-1);
1758  }
1759  if (idx[4] > -1) {
1760  m_eclPureCalDigitToMCWeight5->push_back(wi[4]);
1761  m_eclPureCalDigitToMC5->push_back(idx[4]);
1762  MCParticle* amcParticle = m_mcParticles[idx[4]];
1763  m_eclPureCalDigitToMC5PDG->push_back(amcParticle->getPDG());
1764  } else {
1765  m_eclPureCalDigitToMCWeight5->push_back(-1);
1766  m_eclPureCalDigitToMC5->push_back(-1);
1767  m_eclPureCalDigitToMC5PDG->push_back(-1);
1768  }
1769 
1770  if (aECLPureCalDigits->getRelated<ECLShower>() != (nullptr)) {
1771  const ECLShower* shower_caldigit = aECLPureCalDigits->getRelated<ECLShower>();
1772  m_eclPureCalDigitToShower->push_back(shower_caldigit->getArrayIndex());
1773  } else
1774  m_eclPureCalDigitToShower->push_back(-1);
1775 
1776  if (aECLPureCalDigits->getRelated<ECLConnectedRegion>(eclPureConnectedRegionArrayName()) != (nullptr)) {
1777  const ECLConnectedRegion* cr_caldigit = aECLPureCalDigits->getRelated<ECLConnectedRegion>(eclPureConnectedRegionArrayName());
1778  m_eclPureCalDigitToCR->push_back(cr_caldigit->getCRId());
1779  } else
1780  m_eclPureCalDigitToCR->push_back(-1);
1781 
1782  if (aECLPureCalDigits->getRelated<ECLLocalMaximum>(eclPureLocalMaximumArrayName()) != (nullptr)) {
1783  const ECLLocalMaximum* lm_caldigit = aECLPureCalDigits->getRelated<ECLLocalMaximum>(eclPureLocalMaximumArrayName());
1784  m_eclPureCalDigitToLM->push_back(lm_caldigit->getLMId());
1785  } else
1786  m_eclPureCalDigitToLM->push_back(-1);
1787 
1788  }
1789 
1790  //CR
1791  int PureCRmultip = m_eclPureConnectedRegions.getEntries();
1792  for (int i = 0; i < PureCRmultip; i++) {
1794  m_eclPureCRIdx->push_back(aECLPureCR->getCRId());
1795  m_eclPureCRIsTrack->push_back(aECLPureCR->isTrack());
1796  m_eclPureCRLikelihoodMIPNGamma->push_back(aECLPureCR->getLikelihoodMIPNGamma());
1799  m_eclPureCRLikelihoodNGamma->push_back(aECLPureCR->getLikelihoodNGamma());
1801  m_eclPureCRLikelihoodMergedPi0->push_back(aECLPureCR->getLikelihoodMergedPi0());
1802  }
1803 
1804  //LM
1806  for (unsigned int pure_ilms = 0; pure_ilms < (unsigned int)m_eclPureLocalMaximums.getEntries() ; pure_ilms++) {
1807  ECLLocalMaximum* aECLLMs = m_eclPureLocalMaximums[pure_ilms];
1808  m_eclPureLMId->push_back(aECLLMs->getLMId());
1809  m_eclPureLMType->push_back(aECLLMs->getType());
1810  m_eclPureLMCellId->push_back(aECLLMs->getCellId());
1811  }
1812 
1814  for (unsigned int iclusters = 0; iclusters < (unsigned int)m_eclPureClusters.getEntries() ; iclusters++) {
1815  ECLCluster* aECLClusters = m_eclPureClusters[iclusters];
1816  m_eclPureClusterIdx->push_back(iclusters);
1817 
1818  double clusterE = 0.0;
1819  if (aECLClusters->hasHypothesis(ECLCluster::EHypothesisBit::c_nPhotons)) clusterE = aECLClusters->getEnergy(
1821  else clusterE = aECLClusters->getEnergy(ECLCluster::EHypothesisBit::c_neutralHadron);
1822  m_eclPureClusterEnergy->push_back(clusterE);
1823 
1824  m_eclPureClusterEnergyError->push_back(aECLClusters->getUncertaintyEnergy());
1825  m_eclPureClusterTheta->push_back(aECLClusters->getTheta());
1826  m_eclPureClusterThetaError->push_back(aECLClusters->getUncertaintyTheta());
1827  m_eclPureClusterPhi->push_back(aECLClusters->getPhi());
1828  m_eclPureClusterPhiError->push_back(aECLClusters->getUncertaintyPhi());
1829  m_eclPureClusterR->push_back(aECLClusters->getR());
1830  m_eclPureClusterEnergyDepSum->push_back(aECLClusters->getEnergyRaw());
1831  m_eclPureClusterTiming->push_back(aECLClusters->getTime());
1832  m_eclPureClusterTimingError->push_back(aECLClusters->getDeltaTime99());
1833  m_eclPureClusterE9oE21->push_back(aECLClusters->getE9oE21());
1834  m_eclPureClusterHighestE->push_back(aECLClusters->getEnergyHighestCrystal());
1835  m_eclPureClusterCellId->push_back(aECLClusters->getMaxECellId());
1836  m_eclPureClusterLat->push_back(aECLClusters->getLAT());
1837  m_eclPureClusterNofCrystals->push_back(aECLClusters->getNumberOfCrystals());
1838  m_eclPureClusterCrystalHealth->push_back(aECLClusters->getStatus());
1839 
1840  m_eclPureClusterClosestTrackDist->push_back(aECLClusters->getMinTrkDistance());
1841  m_eclPureClusterAbsZernike40->push_back(aECLClusters->getAbsZernike40());
1842  m_eclPureClusterAbsZernike51->push_back(aECLClusters->getAbsZernike51());
1843  m_eclPureClusterZernikeMVA->push_back(aECLClusters->getZernikeMVA());
1844  m_eclPureClusterSecondMoment->push_back(aECLClusters->getSecondMoment());
1845 
1846  m_eclPureClusterIsTrack->push_back(aECLClusters->isTrack());
1847  m_eclPureClusterDeltaL->push_back(aECLClusters->getDeltaL());
1848 
1849  m_eclPureClusterE1oE9->push_back(aECLClusters->getE1oE9());
1850  m_eclPureClusterDeltaTime99->push_back(aECLClusters->getDeltaTime99());
1851  m_eclPureClusterDetectorRegion->push_back(aECLClusters->getDetectorRegion());
1854 
1855  //Dump MC Info - Multiple Matching
1856  double sumHit = 0;
1857  int idx[10];
1858  for (int i = 0; i < 10; i++)
1859  idx[i] = -1;
1860 
1861  double wi[10];
1862  for (int i = 0; i < 10; i++)
1863  wi[i] = -1;
1864 
1865  int ii = 0;
1866  sumHit = 0;
1867 
1868  auto clusterMCRelations = aECLClusters->getRelationsTo<MCParticle>();
1869  for (unsigned int i = 0; i < clusterMCRelations.size(); ++i) {
1870  if (ii < 10) {
1871  const auto mcParticle = clusterMCRelations.object(i);
1872  idx[ii] = mcParticle->getIndex() - 1;
1873  wi[ii] = clusterMCRelations.weight(i);
1874  sumHit = sumHit + clusterMCRelations.weight(i);
1875  ii++;
1876  }
1877  }
1878 
1879  //Re-ordering based on contribution
1880  int y = 0;
1881  while (y < 10) {
1882  for (int i = 0; i < 9; i++) {
1883  if (((idx[i]) > -1) && ((idx[i + 1]) > -1)) {
1884  if (wi[i] < wi[i + 1]) {
1885  int temp = idx[i];
1886  idx[i] = idx[i + 1];
1887  idx[i + 1] = temp;
1888 
1889  double wtemp = wi[i];
1890  wi[i] = wi[i + 1];
1891  wi[i + 1] = wtemp;
1892  }
1893  }
1894  }
1895  y++;
1896  }
1897 
1898  m_eclPureClusterToBkgWeight->push_back(clusterE - sumHit);
1899  if (idx[0] > -1) {
1900  m_eclPureClusterToMCWeight1->push_back(wi[0]);
1901  m_eclPureClusterToMC1->push_back(idx[0]);
1902  MCParticle* amcParticle = m_mcParticles[idx[0]];
1903  m_eclPureClusterToMC1PDG->push_back(amcParticle->getPDG());
1904  } else {
1905  m_eclPureClusterToMCWeight1->push_back(-1);
1906  m_eclPureClusterToMC1->push_back(-1);
1907  m_eclPureClusterToMC1PDG->push_back(-1);
1908  }
1909  if (idx[1] > -1) {
1910  m_eclPureClusterToMCWeight2->push_back(wi[1]);
1911  m_eclPureClusterToMC2->push_back(idx[1]);
1912  MCParticle* amcParticle = m_mcParticles[idx[1]];
1913  m_eclPureClusterToMC2PDG->push_back(amcParticle->getPDG());
1914  } else {
1915  m_eclPureClusterToMCWeight2->push_back(-1);
1916  m_eclPureClusterToMC2->push_back(-1);
1917  m_eclPureClusterToMC2PDG->push_back(-1);
1918  }
1919  if (idx[2] > -1) {
1920  m_eclPureClusterToMCWeight3->push_back(wi[2]);
1921  m_eclPureClusterToMC3->push_back(idx[2]);
1922  MCParticle* amcParticle = m_mcParticles[idx[2]];
1923  m_eclPureClusterToMC3PDG->push_back(amcParticle->getPDG());
1924  } else {
1925  m_eclPureClusterToMCWeight3->push_back(-1);
1926  m_eclPureClusterToMC3->push_back(-1);
1927  m_eclPureClusterToMC3PDG->push_back(-1);
1928  }
1929  if (idx[3] > -1) {
1930  m_eclPureClusterToMCWeight4->push_back(wi[3]);
1931  m_eclPureClusterToMC4->push_back(idx[3]);
1932  MCParticle* amcParticle = m_mcParticles[idx[3]];
1933  m_eclPureClusterToMC4PDG->push_back(amcParticle->getPDG());
1934  } else {
1935  m_eclPureClusterToMCWeight4->push_back(-1);
1936  m_eclPureClusterToMC4->push_back(-1);
1937  m_eclPureClusterToMC4PDG->push_back(-1);
1938  }
1939  if (idx[4] > -1) {
1940  m_eclPureClusterToMCWeight5->push_back(wi[4]);
1941  m_eclPureClusterToMC5->push_back(idx[4]);
1942  MCParticle* amcParticle = m_mcParticles[idx[4]];
1943  m_eclPureClusterToMC5PDG->push_back(amcParticle->getPDG());
1944  } else {
1945  m_eclPureClusterToMCWeight5->push_back(-1);
1946  m_eclPureClusterToMC5->push_back(-1);
1947  m_eclPureClusterToMC5PDG->push_back(-1);
1948  }
1949 
1950  }
1951  }
1952 
1953  m_eclShowerMultip = m_eclShowers.getEntries();
1954  for (uint ishowers = 0; ishowers < (uint)m_eclShowers.getEntries() ; ishowers++) {
1955  ECLShower* aECLShowers = m_eclShowers[ishowers];
1956  m_eclShowerIdx->push_back(ishowers);
1957  m_eclShowerEnergy->push_back(aECLShowers->getEnergy());
1958  m_eclShowerTheta->push_back(aECLShowers->getTheta());
1959  m_eclShowerPhi->push_back(aECLShowers->getPhi());
1960  m_eclShowerR->push_back(aECLShowers->getR());
1961  m_eclShowerNHits->push_back(aECLShowers->getNumberOfCrystals());
1962  m_eclShowerE9oE21->push_back(aECLShowers->getE9oE21());
1963  m_eclShowerUncEnergy->push_back(aECLShowers->getEnergyRaw());
1964  m_eclShowerTime->push_back(aECLShowers->getTime());
1965  m_eclShowerT99->push_back(aECLShowers->getDeltaTime99());
1966  m_eclShowerConnectedRegionId->push_back(aECLShowers->getConnectedRegionId());
1967  m_eclShowerHypothesisId->push_back(aECLShowers->getHypothesisId());
1968  m_eclShowerCentralCellId->push_back(aECLShowers->getCentralCellId());
1969  m_eclShowerEnergyError->push_back(aECLShowers->getUncertaintyEnergy());
1970  m_eclShowerThetaError->push_back(aECLShowers->getUncertaintyTheta());
1971  m_eclShowerPhiError->push_back(aECLShowers->getUncertaintyPhi());
1972  m_eclShowerTimeResolution->push_back(aECLShowers->getDeltaTime99());
1973  m_eclShowerHighestEnergy->push_back(aECLShowers->getEnergyHighestCrystal());
1974  m_eclShowerLateralEnergy->push_back(aECLShowers->getLateralEnergy());
1975  m_eclShowerMinTrkDistance->push_back(aECLShowers->getMinTrkDistance());
1976  m_eclShowerTrkDepth->push_back(aECLShowers->getTrkDepth());
1977  m_eclShowerShowerDepth->push_back(aECLShowers->getShowerDepth());
1978  m_eclShowerAbsZernike40->push_back(aECLShowers->getAbsZernike40());
1979  m_eclShowerAbsZernike51->push_back(aECLShowers->getAbsZernike51());
1980  m_eclShowerZernikeMVA->push_back(aECLShowers->getZernikeMVA());
1981  m_eclShowerSecondMoment->push_back(aECLShowers->getSecondMoment());
1982  m_eclShowerE1oE9->push_back(aECLShowers->getE1oE9());
1983  m_eclShowerIsTrack->push_back(aECLShowers->getIsTrack());
1985 
1986  double fe = 0.;
1987  double se = 0.;
1988 
1989  auto showerDigitRelations = aECLShowers->getRelationsTo<ECLCalDigit>();
1990  for (unsigned int i = 0; i < showerDigitRelations.size(); ++i) {
1991  const auto aECLCalDigits = showerDigitRelations.object(i);
1992  if (aECLCalDigits->getEnergy() > fe) {
1993  se = fe;
1994  fe = aECLCalDigits->getEnergy();
1995  }
1996  }
1997  if (fe > 0 && se > 0)
1998  m_eclShowerHighestE1mE2->push_back(fe - se);
1999  else
2000  m_eclShowerHighestE1mE2->push_back(-1);
2001 
2002  int lm1[5] = { -1, -1, -1, -1, -1};
2003 
2004  auto showerLMRelations = aECLShowers->getRelationsTo<ECLLocalMaximum>();
2005  for (unsigned int i = 0; i < showerLMRelations.size(); ++i) {
2006  const auto aECLLM = showerLMRelations.object(i);
2007  lm1[i] = aECLLM->getLMId();
2008  }
2009  m_eclShowerToLM1->push_back(lm1[0]);
2010  m_eclShowerToLM2->push_back(lm1[1]);
2011  m_eclShowerToLM3->push_back(lm1[2]);
2012  m_eclShowerToLM4->push_back(lm1[3]);
2013  m_eclShowerToLM5->push_back(lm1[4]);
2014 
2015  double sumHit = 0;
2016 
2017  int idx[10];
2018  for (int i = 0; i < 10; i++)
2019  idx[i] = -1;
2020 
2021  double wi[10];
2022  for (int i = 0; i < 10; i++)
2023  wi[i] = -1;
2024 
2025  int ii = 0;
2026  sumHit = 0;
2027 
2028  auto showerMCRelations = aECLShowers->getRelationsTo<MCParticle>();
2029  for (unsigned int i = 0; i < showerMCRelations.size(); ++i) {
2030  if (ii < 10) {
2031  const auto mcParticle = showerMCRelations.object(i);
2032  idx[ii] = mcParticle->getIndex() - 1;
2033  wi[ii] = showerMCRelations.weight(i);
2034  sumHit = sumHit + showerMCRelations.weight(i);
2035  ii++;
2036  }
2037  }
2038 
2039  //Re-ordering based on contribution
2040  int y = 0;
2041  while (y < 10) {
2042  for (int i = 0; i < 9; i++) {
2043  if (((idx[i]) > -1) && ((idx[i + 1]) > -1)) {
2044  if (wi[i] < wi[i + 1]) {
2045  int temp = idx[i];
2046  idx[i] = idx[i + 1];
2047  idx[i + 1] = temp;
2048 
2049  double wtemp = wi[i];
2050  wi[i] = wi[i + 1];
2051  wi[i + 1] = wtemp;
2052  }
2053  }
2054  }
2055  y++;
2056  }
2057 
2058  int no_rel = 0;
2059  int no_Primary = 1;
2060 
2061  for (unsigned int i = 0; i < showerMCRelations.size(); ++i) {
2062  no_rel++;
2063  const auto mcParticle = showerMCRelations.object(i);
2064  if (mcParticle->getSecondaryPhysicsProcess() == 0 && mcParticle->getPDG() == 130) {
2065  double vtxx = mcParticle->getDecayVertex().X();
2066  double vtxy = mcParticle->getDecayVertex().Y();
2067  double vtxz = mcParticle->getDecayVertex().Z();
2068  if ((TMath::Sqrt(vtxx * vtxx + vtxy * vtxy) > 118) || (vtxz > 196.16) || (vtxz < -102.16))
2069  no_Primary = 0;
2070  } else if (mcParticle->getSecondaryPhysicsProcess() != 0 && mcParticle->getMother()->getPDG() == 130) {
2071  double vtxx = mcParticle->getProductionVertex().X();
2072  double vtxy = mcParticle->getProductionVertex().Y();
2073  double vtxz = mcParticle->getProductionVertex().Z();
2074  if ((TMath::Sqrt(vtxx * vtxx + vtxy * vtxy) > 118) || (vtxz > 196.16) || (vtxz < -102.16))
2075  no_Primary = 0;
2076  }
2077  }
2078 
2079  if (no_Primary == 0)
2080  m_eclShowerMCVtxInEcl->push_back(1);
2081  else
2082  m_eclShowerMCVtxInEcl->push_back(0);
2083 
2084  double no_fMatch = 0;
2085  double no_fFMatch = 0;
2086 
2087  for (unsigned int i = 0; i < showerMCRelations.size(); ++i) {
2088  no_rel++;
2089  const auto mcParticle = showerMCRelations.object(i);
2090  if (mcParticle->getSecondaryPhysicsProcess() == 0) {
2091  double vtxx = mcParticle->getDecayVertex().X();
2092  double vtxy = mcParticle->getDecayVertex().Y();
2093  double vtxz = mcParticle->getDecayVertex().Z();
2094  double px = mcParticle->getMomentum().X();
2095  double py = mcParticle->getMomentum().Y();
2096  double pz = mcParticle->getMomentum().Z();
2097  double p = TMath::Sqrt(px * px + py * py + pz * pz);
2098  double pTheta = TMath::ACos(pz / p);
2099  double pPhi = 10.;
2100  if (py > 0) {
2101  if (px > 0)
2102  pPhi = TMath::ATan(py / px);
2103  if (px < 0)
2104  pPhi = TMath::ATan(py / px) + 3.1415;
2105  } else {
2106  if (px > 0)
2107  pPhi = TMath::ATan(py / px) ;
2108  if (px < 0)
2109  pPhi = TMath::ATan(py / px) - 3.1415;
2110  }
2111  if ((TMath::Sqrt(vtxx * vtxx + vtxy * vtxy) > 118) || (vtxz > 196.16) || (vtxz < -102.16)) {
2112  if (TMath::Abs(aECLShowers->getTheta() - pTheta) < 0.05 && TMath::Abs(aECLShowers->getPhi() - pPhi) < 0.05)
2113  no_fMatch = 1;
2114  no_fFMatch = 1;
2115  }
2116  } else if (mcParticle->getSecondaryPhysicsProcess() != 0 && mcParticle->getMother()->getPDG() == 130) {
2117  double vtxx = mcParticle->getProductionVertex().X();
2118  double vtxy = mcParticle->getProductionVertex().Y();
2119  double vtxz = mcParticle->getProductionVertex().Z();
2120  MCParticle* amcParticle = mcParticle->getMother();
2121  double px = amcParticle->getMomentum().X();
2122  double py = amcParticle->getMomentum().Y();
2123  double pz = amcParticle->getMomentum().Z();
2124  double p = TMath::Sqrt(px * px + py * py + pz * pz);
2125  double pTheta = TMath::ACos(pz / p);
2126  double pPhi = 10.;
2127  if (py > 0) {
2128  if (px > 0)
2129  pPhi = TMath::ATan(py / px);
2130  if (px < 0)
2131  pPhi = TMath::ATan(py / px) + 3.1415;
2132  } else {
2133  if (px > 0)
2134  pPhi = TMath::ATan(py / px) ;
2135  if (px < 0)
2136  pPhi = TMath::ATan(py / px) - 3.1415;
2137  }
2138  if ((TMath::Sqrt(vtxx * vtxx + vtxy * vtxy) > 118) || (vtxz > 196.16) || (vtxz < -102.16)) {
2139  if (TMath::Abs(aECLShowers->getTheta() - pTheta) < 0.05 && TMath::Abs(aECLShowers->getPhi() - pPhi) < 0.05)
2140  no_fMatch = 1;
2141  }
2142  }
2143  }
2144 
2145  if (no_fMatch == 1)
2146  m_eclShowerMCFlightMatch->push_back(1);
2147  else
2148  m_eclShowerMCFlightMatch->push_back(0);
2149 
2150  if (no_fFMatch == 1)
2151  m_eclShowerMCFFlightMatch->push_back(1);
2152  else
2153  m_eclShowerMCFFlightMatch->push_back(0);
2154 
2155  if (idx[0] > -1) {
2156  m_eclShowerToMCWeight1->push_back(wi[0]);
2157  m_eclShowerToMC1->push_back(idx[0]);
2158  MCParticle* amcParticle = m_mcParticles[idx[0]];
2159  m_eclShowerToMC1PDG->push_back(amcParticle->getPDG());
2160  if (amcParticle->getMother() != NULL) {
2161  m_eclShowerToMC1Moth->push_back(amcParticle->getMother()->getIndex());
2162  m_eclShowerToMC1MothPDG->push_back(amcParticle->getMother()->getPDG());
2163  if (amcParticle->getMother()->getMother() != NULL) {
2164  m_eclShowerToMC1GMoth->push_back(amcParticle->getMother()->getMother()->getIndex());
2165  m_eclShowerToMC1GMothPDG->push_back(amcParticle->getMother()->getMother()->getPDG());
2166  } else {
2167  m_eclShowerToMC1GMoth->push_back(-999);
2168  m_eclShowerToMC1GMothPDG->push_back(-999);
2169  }
2170  } else {
2171  m_eclShowerToMC1Moth->push_back(-999);
2172  m_eclShowerToMC1MothPDG->push_back(-999);
2173  m_eclShowerToMC1GMoth->push_back(-999);
2174  m_eclShowerToMC1GMothPDG->push_back(-999);
2175  }
2176  } else {
2177  m_eclShowerToMCWeight1->push_back(-1);
2178  m_eclShowerToMC1->push_back(-1);
2179  m_eclShowerToMC1PDG->push_back(-1);
2180  m_eclShowerToMC1Moth->push_back(-1);
2181  m_eclShowerToMC1MothPDG->push_back(-1);
2182  m_eclShowerToMC1GMoth->push_back(-1);
2183  m_eclShowerToMC1GMothPDG->push_back(-1);
2184  }
2185  if (idx[1] > -1) {
2186  m_eclShowerToMCWeight2->push_back(wi[1]);
2187  m_eclShowerToMC2->push_back(idx[1]);
2188  MCParticle* amcParticle = m_mcParticles[idx[1]];
2189  m_eclShowerToMC2PDG->push_back(amcParticle->getPDG());
2190  if (amcParticle->getMother() != NULL) {
2191  m_eclShowerToMC2Moth->push_back(amcParticle->getMother()->getIndex());
2192  m_eclShowerToMC2MothPDG->push_back(amcParticle->getMother()->getPDG());
2193  if (amcParticle->getMother()->getMother() != NULL) {
2194  m_eclShowerToMC2GMoth->push_back(amcParticle->getMother()->getMother()->getIndex());
2195  m_eclShowerToMC2GMothPDG->push_back(amcParticle->getMother()->getMother()->getPDG());
2196  } else {
2197  m_eclShowerToMC2GMoth->push_back(-999);
2198  m_eclShowerToMC2GMothPDG->push_back(-999);
2199  }
2200  } else {
2201  m_eclShowerToMC2Moth->push_back(-999);
2202  m_eclShowerToMC2MothPDG->push_back(-999);
2203  m_eclShowerToMC2GMoth->push_back(-999);
2204  m_eclShowerToMC2GMothPDG->push_back(-999);
2205  };
2206  } else {
2207  m_eclShowerToMCWeight2->push_back(-1);
2208  m_eclShowerToMC2->push_back(-1);
2209  m_eclShowerToMC2PDG->push_back(-1);
2210  m_eclShowerToMC2Moth->push_back(-1);
2211  m_eclShowerToMC2MothPDG->push_back(-1);
2212  m_eclShowerToMC2GMoth->push_back(-1);
2213  m_eclShowerToMC2GMothPDG->push_back(-1);
2214  }
2215  if (idx[2] > -1) {
2216  m_eclShowerToMCWeight3->push_back(wi[2]);
2217  m_eclShowerToMC3->push_back(idx[2]);
2218  MCParticle* amcParticle = m_mcParticles[idx[2]];
2219  m_eclShowerToMC3PDG->push_back(amcParticle->getPDG());
2220  if (amcParticle->getMother() != NULL) {
2221  m_eclShowerToMC3Moth->push_back(amcParticle->getMother()->getIndex());
2222  m_eclShowerToMC3MothPDG->push_back(amcParticle->getMother()->getPDG());
2223  if (amcParticle->getMother()->getMother() != NULL) {
2224  m_eclShowerToMC3GMoth->push_back(amcParticle->getMother()->getMother()->getIndex());
2225  m_eclShowerToMC3GMothPDG->push_back(amcParticle->getMother()->getMother()->getPDG());
2226  } else {
2227  m_eclShowerToMC3GMoth->push_back(-999);
2228  m_eclShowerToMC3GMothPDG->push_back(-999);
2229  }
2230  } else {
2231  m_eclShowerToMC3Moth->push_back(-999);
2232  m_eclShowerToMC3MothPDG->push_back(-999);
2233  m_eclShowerToMC3GMoth->push_back(-999);
2234  m_eclShowerToMC3GMothPDG->push_back(-999);
2235  }
2236  } else {
2237  m_eclShowerToMCWeight3->push_back(-1);
2238  m_eclShowerToMC3->push_back(-1);
2239  m_eclShowerToMC3PDG->push_back(-1);
2240  m_eclShowerToMC3Moth->push_back(-1);
2241  m_eclShowerToMC3MothPDG->push_back(-1);
2242  m_eclShowerToMC3GMoth->push_back(-1);
2243  m_eclShowerToMC3GMothPDG->push_back(-1);
2244  }
2245  if (idx[3] > -1) {
2246  m_eclShowerToMCWeight4->push_back(wi[3]);
2247  m_eclShowerToMC4->push_back(idx[3]);
2248  MCParticle* amcParticle = m_mcParticles[idx[3]];
2249  m_eclShowerToMC4PDG->push_back(amcParticle->getPDG());
2250  if (amcParticle->getMother() != NULL) {
2251  m_eclShowerToMC4Moth->push_back(amcParticle->getMother()->getIndex());
2252  m_eclShowerToMC4MothPDG->push_back(amcParticle->getMother()->getPDG());
2253  if (amcParticle->getMother()->getMother() != NULL) {
2254  m_eclShowerToMC4GMoth->push_back(amcParticle->getMother()->getMother()->getIndex());
2255  m_eclShowerToMC4GMothPDG->push_back(amcParticle->getMother()->getMother()->getPDG());
2256  } else {
2257  m_eclShowerToMC4GMoth->push_back(-999);
2258  m_eclShowerToMC4GMothPDG->push_back(-999);
2259  }
2260  } else {
2261  m_eclShowerToMC4Moth->push_back(-999);
2262  m_eclShowerToMC4MothPDG->push_back(-999);
2263  m_eclShowerToMC4GMoth->push_back(-999);
2264  m_eclShowerToMC4GMothPDG->push_back(-999);
2265  }
2266  } else {
2267  m_eclShowerToMCWeight4->push_back(-1);
2268  m_eclShowerToMC4->push_back(-1);
2269  m_eclShowerToMC4PDG->push_back(-1);
2270  m_eclShowerToMC4Moth->push_back(-1);
2271  m_eclShowerToMC4MothPDG->push_back(-1);
2272  m_eclShowerToMC4GMoth->push_back(-1);
2273  m_eclShowerToMC4GMothPDG->push_back(-1);
2274  }
2275  if (idx[4] > -1) {
2276  m_eclShowerToMCWeight5->push_back(wi[4]);
2277  m_eclShowerToMC5->push_back(idx[4]);
2278  MCParticle* amcParticle = m_mcParticles[idx[4]];
2279  m_eclShowerToMC5PDG->push_back(amcParticle->getPDG());
2280  if (amcParticle->getMother() != NULL) {
2281  m_eclShowerToMC5Moth->push_back(amcParticle->getMother()->getIndex());
2282  m_eclShowerToMC5MothPDG->push_back(amcParticle->getMother()->getPDG());
2283  if (amcParticle->getMother()->getMother() != NULL) {
2284  m_eclShowerToMC5GMoth->push_back(amcParticle->getMother()->getMother()->getIndex());
2285  m_eclShowerToMC5GMothPDG->push_back(amcParticle->getMother()->getMother()->getPDG());
2286  } else {
2287  m_eclShowerToMC5GMoth->push_back(-999);
2288  m_eclShowerToMC5GMothPDG->push_back(-999);
2289  }
2290  } else {
2291  m_eclShowerToMC5Moth->push_back(-999);
2292  m_eclShowerToMC5MothPDG->push_back(-999);
2293  m_eclShowerToMC5GMoth->push_back(-999);
2294  m_eclShowerToMC5GMothPDG->push_back(-999);
2295  }
2296  } else {
2297  m_eclShowerToMCWeight5->push_back(-1);
2298  m_eclShowerToMC5->push_back(-1);
2299  m_eclShowerToMC5PDG->push_back(-1);
2300  m_eclShowerToMC5Moth->push_back(-1);
2301  m_eclShowerToMC5MothPDG->push_back(-1);
2302  m_eclShowerToMC5GMoth->push_back(-1);
2303  m_eclShowerToMC5GMothPDG->push_back(-1);
2304  }
2305  m_eclShowerToBkgWeight->push_back(aECLShowers->getEnergy() - sumHit);
2306  }
2307 
2309  for (int imcpart = 0; imcpart < m_mcParticles.getEntries(); imcpart++) {
2310  MCParticle* amcParticle = m_mcParticles[imcpart];
2311  m_mcIdx->push_back(amcParticle->getArrayIndex());
2312  m_mcPdg->push_back(amcParticle->getPDG());
2313  if (amcParticle->getMother() != NULL) m_mcMothPdg->push_back(amcParticle->getMother()->getPDG());
2314  else m_mcMothPdg->push_back(-999);
2315  if (amcParticle->getMother() != NULL
2316  && amcParticle->getMother()->getMother() != NULL) m_mcGMothPdg->push_back(amcParticle->getMother()->getMother()->getPDG());
2317  else m_mcGMothPdg->push_back(-999);
2318  if (amcParticle->getMother() != NULL && amcParticle->getMother()->getMother() != NULL
2319  && amcParticle->getMother()->getMother()->getMother() != NULL)
2320  m_mcGGMothPdg->push_back(amcParticle->getMother()->getMother()->getMother()->getPDG());
2321  else m_mcGGMothPdg->push_back(-999);
2322  m_mcEnergy->push_back(amcParticle->getEnergy());
2323  m_mcSecondaryPhysProc->push_back(amcParticle->getSecondaryPhysicsProcess());
2324 
2325  m_mcPx->push_back(amcParticle->getMomentum().X());
2326  m_mcPy->push_back(amcParticle->getMomentum().Y());
2327  m_mcPz->push_back(amcParticle->getMomentum().Z());
2328 
2329  m_mcDecayVtxX->push_back(amcParticle->getDecayVertex().X());
2330  m_mcDecayVtxY->push_back(amcParticle->getDecayVertex().Y());
2331  m_mcDecayVtxZ->push_back(amcParticle->getDecayVertex().Z());
2332 
2333  m_mcProdVtxX->push_back(amcParticle->getProductionVertex().X());
2334  m_mcProdVtxY->push_back(amcParticle->getProductionVertex().Y());
2335  m_mcProdVtxZ->push_back(amcParticle->getProductionVertex().Z());
2336 
2337  }
2338 
2339  if (m_doTracking == true) {
2340  m_trkMultip = 0;
2341  for (const Track& itrk : m_tracks) {
2342  const TrackFitResult* atrk = itrk.getTrackFitResult(Const::pion);
2343  if (atrk == nullptr) continue;
2344 
2345  m_trkIdx->push_back(m_trkMultip);
2346  m_trkPdg->push_back(atrk->getParticleType().getPDGCode());
2347  m_trkCharge->push_back(atrk->getChargeSign());
2348  m_trkPx->push_back(atrk->getMomentum().X());
2349  m_trkPy->push_back(atrk->getMomentum().Y());
2350  m_trkPz->push_back(atrk->getMomentum().Z());
2351  m_trkP->push_back(atrk->getMomentum().Mag());
2352  m_trkTheta->push_back(atrk->getMomentum().Theta());
2353  m_trkPhi->push_back(atrk->getMomentum().Phi());
2354  m_trkX->push_back(atrk->getPosition().X());
2355  m_trkY->push_back(atrk->getPosition().Y());
2356  m_trkZ->push_back(atrk->getPosition().Z());
2357 
2358  const ECLPidLikelihood* eclpid = itrk.getRelatedTo<ECLPidLikelihood>() ;
2359 
2360  if (eclpid != nullptr) {
2361  m_eclpidtrkIdx -> push_back(m_trkMultip);
2362  m_eclpidEnergy -> push_back(eclpid-> energy());
2363  m_eclpidEop -> push_back(eclpid-> eop());
2364  m_eclpidE9E21 -> push_back(eclpid-> e9e25());
2365  m_eclpidNCrystals -> push_back(eclpid-> nCrystals());
2366  m_eclpidNClusters -> push_back(eclpid-> nClusters());
2367  m_eclLogLikeEl -> push_back(eclpid-> getLogLikelihood(Const::electron));
2368  m_eclLogLikeMu -> push_back(eclpid-> getLogLikelihood(Const::muon));
2369  m_eclLogLikePi -> push_back(eclpid-> getLogLikelihood(Const::pion));
2370  } else {
2371  m_eclpidtrkIdx -> push_back(m_trkMultip);
2372  m_eclpidEnergy -> push_back(0);
2373  m_eclpidEop -> push_back(0);
2374  m_eclpidE9E21 -> push_back(0);
2375  m_eclpidNCrystals -> push_back(0);
2376  m_eclpidNClusters -> push_back(0);
2377  m_eclLogLikeEl -> push_back(0);
2378  m_eclLogLikeMu -> push_back(0);
2379  m_eclLogLikePi -> push_back(0);
2380  }
2381  m_trkMultip++;
2382  }
2383  }
2384 
2385  m_tree->Fill();
2386 }

◆ 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 135 of file Module.cc.

◆ getConditionPath()

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

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


Definition at line 115 of file Module.cc.

◆ getFileNames()

virtual std::vector<std::string> getFileNames ( __attribute__((unused)) 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.

Definition at line 136 of file Module.h.

◆ getName()

const std::string& getName ( ) const
inlineinherited

Returns the name of the module.

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

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

Definition at line 189 of file Module.h.

◆ getParamInfoListPython()

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

Returns a python list of all parameters.

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

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

Definition at line 281 of file Module.cc.

◆ getReturnValue()

int getReturnValue ( ) const
inlineinherited

Return the return value set by this module.

This value is only meaningful if hasReturnValue() is true

Definition at line 383 of file Module.h.

◆ getType()

const std::string & getType ( ) const
inherited

Returns the type of the module (i.e.

class name minus 'Module')

Definition at line 43 of file Module.cc.

◆ hasProperties()

bool hasProperties ( unsigned int  propertyFlags) const
inherited

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

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

Definition at line 162 of file Module.cc.

◆ if_false()

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

A simplified version to add a condition to the module.

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

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

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

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

Definition at line 87 of file Module.cc.

◆ if_true()

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

A simplified version to set the condition of the module.

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

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

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

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

Definition at line 92 of file Module.cc.

◆ if_value()

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

Add a condition to the module.

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

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

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

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

Definition at line 81 of file Module.cc.

◆ initialize()

void initialize ( )
overridevirtual

Initializes the Module.

SHOWERS

Reimplemented from Module.

Definition at line 441 of file ECLDataAnalysisModule.cc.

◆ setDescription()

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

Sets the description of the module.

Parameters
descriptionA description of the module.

Definition at line 216 of file Module.cc.

◆ setLogInfo()

void setLogInfo ( int  logLevel,
unsigned int  logInfo 
)
inherited

Configure the printed log information for the given level.

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

Definition at line 75 of file Module.cc.

◆ setName()

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

Set the name of the module.

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

Definition at line 216 of file Module.h.

◆ setParamPython()

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

Implements a method for setting boost::python objects.

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

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

Definition at line 236 of file Module.cc.

◆ setParamPythonDict()

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

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

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

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

Definition at line 251 of file Module.cc.

◆ setPropertyFlags()

void setPropertyFlags ( unsigned int  propertyFlags)
inherited

Sets the flags for the module properties.

Parameters
propertyFlagsbitwise OR of EModulePropFlags

Definition at line 210 of file Module.cc.

◆ setReturnValue() [1/2]

void setReturnValue ( bool  value)
protectedinherited

Sets the return value for this module as bool.

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

Parameters
valueThe value of the return value.

Definition at line 229 of file Module.cc.

◆ setReturnValue() [2/2]

void setReturnValue ( int  value)
protectedinherited

Sets the return value for this module as integer.

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

Parameters
valueThe value of the return value.

Definition at line 222 of file Module.cc.

◆ setType()

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

Set the module type.

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

Definition at line 50 of file Module.cc.

Member Data Documentation

◆ 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 185 of file ECLDataAnalysisModule.h.

◆ 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 187 of file ECLDataAnalysisModule.h.

◆ 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 183 of file ECLDataAnalysisModule.h.

◆ m_rootFilePtr

TFile* m_rootFilePtr
private

members of ECLReconstructor Module

root file used for storing info

Definition at line 85 of file ECLDataAnalysisModule.h.


The documentation for this class was generated from the following files:
Belle2::ECLDataAnalysisModule::m_eclClusterNofCrystals
std::vector< int > * m_eclClusterNofCrystals
Number of crystals in ECLCluster.
Definition: ECLDataAnalysisModule.h:301
Belle2::ECLDataAnalysisModule::m_eclShowerToMC4GMoth
std::vector< int > * m_eclShowerToMC4GMoth
GMother index of fourth MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:454
Belle2::ECLDataAnalysisModule::m_eclShowerThetaError
std::vector< double > * m_eclShowerThetaError
Shower Theta Error.
Definition: ECLDataAnalysisModule.h:484
Belle2::MCParticle::getIndex
int getIndex() const
Get 1-based index of the particle in the corresponding MCParticle list.
Definition: MCParticle.h:241
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitToMC2
std::vector< int > * m_eclPureCalDigitToMC2
Index of second MCParticle related to CalDigit, PureCsI option.
Definition: ECLDataAnalysisModule.h:332
Belle2::ECLCalDigit::getEnergy
double getEnergy() const
Get Calibrated Energy.
Definition: ECLCalDigit.h:134
Belle2::ECLDataAnalysisModule::m_eclClusterLAT
std::vector< double > * m_eclClusterLAT
Reconstructed LAT.
Definition: ECLDataAnalysisModule.h:311
Belle2::MCParticle::getEnergy
float getEnergy() const
Return particle energy in GeV.
Definition: MCParticle.h:158
Belle2::ECLShower::getEnergyHighestCrystal
double getEnergyHighestCrystal() const
Get Highest Energy in Shower.
Definition: ECLShower.h:346
Belle2::ECLShower::getHypothesisId
int getHypothesisId() const
Get Hypothesis Id.
Definition: ECLShower.h:276
Belle2::ECLDataAnalysisModule::m_eclShowerToMC5GMothPDG
std::vector< int > * m_eclShowerToMC5GMothPDG
PDG code of Gparent of fifth MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:462
Belle2::ECLDataAnalysisModule::m_mcPz
std::vector< double > * m_mcPz
MCParticle momentum Z direction.
Definition: ECLDataAnalysisModule.h:515
Belle2::ECLDataAnalysisModule::m_eclPureClusterTimingError
std::vector< double > * m_eclPureClusterTimingError
Cluster time error, PureCsI option.
Definition: ECLDataAnalysisModule.h:406
Belle2::ECLShower::getLateralEnergy
double getLateralEnergy() const
Get Lateral Energy in Shower.
Definition: ECLShower.h:351
Belle2::ECLDataAnalysisModule::m_eclPureClusterIsTrack
std::vector< bool > * m_eclPureClusterIsTrack
Flag for charged clusters, PureCsI option.
Definition: ECLDataAnalysisModule.h:413
Belle2::ECLDataAnalysisModule::m_nECLShowersRejectedBWD
uint8_t m_nECLShowersRejectedBWD
Number of photon showers that are rejected before storing to mdst (max.
Definition: ECLDataAnalysisModule.h:187
Belle2::ECLDataAnalysisModule::m_eclCalDigitToShower
std::vector< int > * m_eclCalDigitToShower
Index of ECLShower related to that ECLCalDigit.
Definition: ECLDataAnalysisModule.h:218
Belle2::ECLDataAnalysisModule::m_eclClusterMultip
int m_eclClusterMultip
Number of ECLClusters per event.
Definition: ECLDataAnalysisModule.h:265
Belle2::ECLDataAnalysisModule::m_mcPdg
std::vector< int > * m_mcPdg
MCParticle PDG code.
Definition: ECLDataAnalysisModule.h:508
Belle2::ECLDataAnalysisModule::m_eclClusterHasNeutralHadronHypothesis
std::vector< int > * m_eclClusterHasNeutralHadronHypothesis
Cluster has neutral hadron hypothesis.
Definition: ECLDataAnalysisModule.h:315
Belle2::ECLDataAnalysisModule::m_eclLocalMaximums
StoreArray< ECLLocalMaximum > m_eclLocalMaximums
Store array: ECLLocalMaximum.
Definition: ECLDataAnalysisModule.h:104
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitSimHitSum
std::vector< double > * m_eclPureCalDigitSimHitSum
Full energy contribution related to CalDigit, PureCsI option.
Definition: ECLDataAnalysisModule.h:350
Belle2::ECLDataAnalysisModule::m_eclShowerPhi
std::vector< double > * m_eclShowerPhi
Shower Phi.
Definition: ECLDataAnalysisModule.h:474
Belle2::ECLConnectedRegion::getLikelihoodElectronNGamma
float getLikelihoodElectronNGamma() const
Get ElectronNGamma likelihood (ECL based only) T3.
Definition: ECLConnectedRegion.h:104
Belle2::ECLDataAnalysisModule::m_eclClusterDeltaTime99
std::vector< double > * m_eclClusterDeltaTime99
DeltaTime99.
Definition: ECLDataAnalysisModule.h:312
Belle2::ECLDataAnalysisModule::m_eclPureClusterHasNeutralHadronHypothesis
std::vector< int > * m_eclPureClusterHasNeutralHadronHypothesis
Cluster has neutral hadron hypothesis, PureCsI option.
Definition: ECLDataAnalysisModule.h:424
Belle2::ECLDataAnalysisModule::m_eclShowerMinTrkDistance
std::vector< double > * m_eclShowerMinTrkDistance
Shower Min Dist to Track.
Definition: ECLDataAnalysisModule.h:489
Belle2::ECLDataAnalysisModule::m_eclCalDigitToMC5PDG
std::vector< int > * m_eclCalDigitToMC5PDG
PDG code of fifth MCParticle related to ECLCalDigit.
Definition: ECLDataAnalysisModule.h:213
Belle2::ECLDataAnalysisModule::m_eclPureDigits
StoreArray< ECLDigit > m_eclPureDigits
Store array: ECLPureDigit.
Definition: ECLDataAnalysisModule.h:135
Belle2::ECLDataAnalysisModule::m_eclPureClusterAbsZernike40
std::vector< double > * m_eclPureClusterAbsZernike40
Reconstructed Zernike40, PureCsI option.
Definition: ECLDataAnalysisModule.h:416
Belle2::ECLDataAnalysisModule::m_eclCalDigitToMC1PDG
std::vector< int > * m_eclCalDigitToMC1PDG
PDG code of first MCParticle related to ECLCalDigit.
Definition: ECLDataAnalysisModule.h:201
Belle2::ECLDataAnalysisModule::m_eclShowerToMCWeight3
std::vector< double > * m_eclShowerToMCWeight3
Energy contribution of third MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:443
Belle2::ECLDataAnalysisModule::m_eclLMCellId
std::vector< int > * m_eclLMCellId
Local Maximum Cell ID.
Definition: ECLDataAnalysisModule.h:238
Belle2::ECLDataAnalysisModule::m_eclShowerToMC1
std::vector< int > * m_eclShowerToMC1
Index of first MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:428
Belle2::ECLDataAnalysisModule::m_eclPureClusterToMCWeight1
std::vector< double > * m_eclPureClusterToMCWeight1
Energy contribution of first MCParticle related to ECLCluster, PureCsI option.
Definition: ECLDataAnalysisModule.h:377
Belle2::ECLDataAnalysisModule::m_eclClusterToMC4
std::vector< int > * m_eclClusterToMC4
Index of fourth MCParticle related to ECLCluster.
Definition: ECLDataAnalysisModule.h:278
Belle2::ECLShower::getNumberOfCrystalsForEnergy
double getNumberOfCrystalsForEnergy() const
Get number of crystals used for energy calculation.
Definition: ECLShower.h:421
Belle2::ECLDataAnalysisModule::m_eclDigits
StoreArray< ECLDigit > m_eclDigits
Store array: ECLDigit.
Definition: ECLDataAnalysisModule.h:99
Belle2::ECLDataAnalysisModule::m_eclPureDigitAmp
std::vector< int > * m_eclPureDigitAmp
ECLDigit amplitude, PureCsI option.
Definition: ECLDataAnalysisModule.h:321
Belle2::ECLDataAnalysisModule::m_trkCharge
std::vector< int > * m_trkCharge
Track charge.
Definition: ECLDataAnalysisModule.h:527
Belle2::ECLDataAnalysisModule::m_eclShowerMCFFlightMatch
std::vector< int > * m_eclShowerMCFFlightMatch
Int, 1 if primary particle flight direction is "well" reconstructed in ECL, 0 otherwise,...
Definition: ECLDataAnalysisModule.h:502
Belle2::ECLDataAnalysisModule::m_eclCalDigitToMC4PDG
std::vector< int > * m_eclCalDigitToMC4PDG
PDG code of fourth MCParticle related to ECLCalDigit.
Definition: ECLDataAnalysisModule.h:210
Belle2::ECLCluster::getE9oE21
double getE9oE21() const
Return E9/E21 (shower shape variable).
Definition: ECLCluster.h:295
Belle2::ECLDataAnalysisModule::m_eclCRLikelihoodElectronNGamma
std::vector< double > * m_eclCRLikelihoodElectronNGamma
Connected Region Electron Likelihood.
Definition: ECLDataAnalysisModule.h:230
Belle2::ECLDataAnalysisModule::m_eclClusterE1oE9
std::vector< double > * m_eclClusterE1oE9
Reconstructed E1 over E9.
Definition: ECLDataAnalysisModule.h:309
Belle2::ECLDataAnalysisModule::m_eclPureDigitFitQuality
std::vector< int > * m_eclPureDigitFitQuality
ECLDigit fit quality, PureCsI option.
Definition: ECLDataAnalysisModule.h:323
Belle2::ECLDataAnalysisModule::m_eclClusters
StoreArray< ECLCluster > m_eclClusters
Store array: ECLCluster.
Definition: ECLDataAnalysisModule.h:103
Belle2::ECLSimHit::getPDGCode
int getPDGCode() const
Get Particle PDG (can be one of secondaries)
Definition: ECLSimHit.h:109
Belle2::ECLDataAnalysisModule::m_eclPureCRLikelihoodElectronNGamma
std::vector< double > * m_eclPureCRLikelihoodElectronNGamma
Connected Region Electron Likelihood, PureCsI option.
Definition: ECLDataAnalysisModule.h:363
Belle2::ECLDataAnalysisModule::m_eclPureDigitCellId
std::vector< int > * m_eclPureDigitCellId
Number of ECLDigit CellId, PureCsI option.
Definition: ECLDataAnalysisModule.h:320
Belle2::ECLCalDigit
Class to store calibrated ECLDigits: ECLCalDigits.
Definition: ECLCalDigit.h:38
Belle2::ECLDataAnalysisModule::m_eclSimHitY
std::vector< double > * m_eclSimHitY
ECLSimHit Y position.
Definition: ECLDataAnalysisModule.h:248
Belle2::ECLDataAnalysisModule::m_eclClusterGammaMultip
int m_eclClusterGammaMultip
Number of ECLClusters per event.
Definition: ECLDataAnalysisModule.h:267
Belle2::ECLDigit::getQuality
int getQuality() const
Get Fitting Quality.
Definition: ECLDigit.h:90
Belle2::ECLDataAnalysisModule::m_trkX
std::vector< double > * m_trkX
Track DOCA X (?)
Definition: ECLDataAnalysisModule.h:534
Belle2::ECLDataAnalysisModule::m_eclShowerSecondMoment
std::vector< double > * m_eclShowerSecondMoment
Shower Second Moment.
Definition: ECLDataAnalysisModule.h:495
Belle2::ECLShower::getSecondMoment
double getSecondMoment() const
Get second moment.
Definition: ECLShower.h:391
Belle2::ECLHit::getCellId
int getCellId() const
Get Cell ID.
Definition: ECLHit.h:76
Belle2::ECLDataAnalysisModule::m_eclDigitTimeFit
std::vector< int > * m_eclDigitTimeFit
ECLDigit timing.
Definition: ECLDataAnalysisModule.h:194
Belle2::ECLDataAnalysisModule::m_eclPureDigitMultip
int m_eclPureDigitMultip
Number of ECLDigits per event, PureCsI option.
Definition: ECLDataAnalysisModule.h:317
Belle2::ECLDataAnalysisModule::m_mcGGMothPdg
std::vector< int > * m_mcGGMothPdg
MCParticle greand-grandmother particle PDG code.
Definition: ECLDataAnalysisModule.h:511
Belle2::ECLDataAnalysisModule::m_eclPureCRIsTrack
std::vector< int > * m_eclPureCRIsTrack
Int for Connected Region - Track Match, PureCsI option.
Definition: ECLDataAnalysisModule.h:360
Belle2::ECLCluster::getDeltaTime99
double getDeltaTime99() const
Return cluster delta time 99.
Definition: ECLCluster.h:320
Belle2::ECLShower::getUncertaintyPhi
double getUncertaintyPhi() const
Get Error of phi.
Definition: ECLShower.h:331
Belle2::ECLDataAnalysisModule::m_eclShowerToMC2GMothPDG
std::vector< int > * m_eclShowerToMC2GMothPDG
PDG code of Gparent of second MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:441
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitIdx
std::vector< int > * m_eclPureCalDigitIdx
ECLCalDigit index, PureCsI option.
Definition: ECLDataAnalysisModule.h:327
Belle2::ECLShower::getIsTrack
bool getIsTrack() const
Get if matched with a Track.
Definition: ECLShower.h:256
Belle2::ECLSimHit
ClassECLSimHit - Geant4 simulated hit for the ECL.
Definition: ECLSimHit.h:42
Belle2::ECLDataAnalysisModule::m_eclConnectedRegions
StoreArray< ECLConnectedRegion > m_eclConnectedRegions
Store array: ECLConnectedRegion.
Definition: ECLDataAnalysisModule.h:101
Belle2::TrackFitResult::getMomentum
TVector3 getMomentum() const
Getter for vector of momentum at closest approach of track in r/phi projection.
Definition: TrackFitResult.h:116
Belle2::ECLCluster
ECL cluster data.
Definition: ECLCluster.h:39
Belle2::ECLShower::getTrkDepth
double getTrkDepth() const
path on track extrapolation to POCA to average cluster direction
Definition: ECLShower.h:361
Belle2::ECLShower::getTheta
double getTheta() const
Get Theta.
Definition: ECLShower.h:296
Belle2::ECLShower::getE9oE21
double getE9oE21() const
Get energy ratio E9oE21.
Definition: ECLShower.h:401
Belle2::ECLDataAnalysisModule::m_nECLCalDigitsOutOfTimeBWD
uint16_t m_nECLCalDigitsOutOfTimeBWD
Number of out of time, energetic ECLCalDigits, BWD.
Definition: ECLDataAnalysisModule.h:181
Belle2::ECLDataAnalysisModule::m_eclHits
StoreArray< ECLHit > m_eclHits
Store array: ECLHit.
Definition: ECLDataAnalysisModule.h:98
Belle2::Const::electron
static const ChargedStable electron
electron particle
Definition: Const.h:533
Belle2::ECLDataAnalysisModule::m_nECLShowersRejectedFWD
uint8_t m_nECLShowersRejectedFWD
Number of photon showers that are rejected before storing to mdst (max.
Definition: ECLDataAnalysisModule.h:183
Belle2::ECLCalDigit::getCellId
int getCellId() const
Get Cell ID.
Definition: ECLCalDigit.h:129
Belle2::ECLDataAnalysisModule::m_eclShowerToMC1Moth
std::vector< int > * m_eclShowerToMC1Moth
Mother index of first MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:431
Belle2::ECLDataAnalysisModule::m_mcMothPdg
std::vector< int > * m_mcMothPdg
MCParticle mother particle PDG code.
Definition: ECLDataAnalysisModule.h:509
Belle2::ECLDataAnalysisModule::m_eclShowerUncEnergy
std::vector< double > * m_eclShowerUncEnergy
Shower bare energy.
Definition: ECLDataAnalysisModule.h:471
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitToMCWeight1
std::vector< double > * m_eclPureCalDigitToMCWeight1
Energy contribution of first MCParticle related to CalDigit, PureCsI option.
Definition: ECLDataAnalysisModule.h:331
Belle2::ECLDataAnalysisModule::m_eclpidNClusters
std::vector< int > * m_eclpidNClusters
PID track number of clusters.
Definition: ECLDataAnalysisModule.h:543
Belle2::ECLDataAnalysisModule::m_trkPy
std::vector< double > * m_trkPy
Track momentum along Y direction.
Definition: ECLDataAnalysisModule.h:529
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitCellId
std::vector< int > * m_eclPureCalDigitCellId
Number of CalDigit CellId, PureCsI option.
Definition: ECLDataAnalysisModule.h:352
Belle2::ECLDataAnalysisModule::m_eclClusterZernikeMVA
std::vector< double > * m_eclClusterZernikeMVA
Zernike MVA.
Definition: ECLDataAnalysisModule.h:308
Belle2::ECLDataAnalysisModule::m_eclHitToDigit
std::vector< int > * m_eclHitToDigit
Index of ECLDigit related to ECLHit.
Definition: ECLDataAnalysisModule.h:257
Belle2::ECLConnectedRegion::getCRId
int getCRId() const
Get CR identifieer.
Definition: ECLConnectedRegion.h:84
Belle2::ECLDataAnalysisModule::m_eclHitMultip
int m_eclHitMultip
Number of ECLHits per event.
Definition: ECLDataAnalysisModule.h:254
Belle2::ECLDataAnalysisModule::m_eclShowerToLM1
std::vector< int > * m_eclShowerToLM1
Index of first maximum related to ECLShower.
Definition: ECLDataAnalysisModule.h:465
Belle2::ECLDataAnalysisModule::m_eclShowerTimeResolution
std::vector< double > * m_eclShowerTimeResolution
Shower Time Resolution.
Definition: ECLDataAnalysisModule.h:486
Belle2::ECLDataAnalysisModule::m_doDigits
bool m_doDigits
if true, info on Digits and CalDigits is stored
Definition: ECLDataAnalysisModule.h:91
Belle2::ECLConnectedRegion::getLikelihoodMIPNGamma
float getLikelihoodMIPNGamma() const
Get MIPNGamma likelihood (ECL based only) T1.
Definition: ECLConnectedRegion.h:94
Belle2::ECLConnectedRegion::isTrack
bool isTrack() const
Get boolean to flag if a track is matched to the CR.
Definition: ECLConnectedRegion.h:89
Belle2::ECLHit::getEnergyDep
double getEnergyDep() const
Get deposit energy.
Definition: ECLHit.h:81
Belle2::ECLDataAnalysisModule::m_eventmetadata
StoreObjPtr< EventMetaData > m_eventmetadata
Store object pointer: EventMetaData.
Definition: ECLDataAnalysisModule.h:106
Belle2::ECLDataAnalysisModule::m_eclDigitIdx
std::vector< int > * m_eclDigitIdx
ECLDigit index.
Definition: ECLDataAnalysisModule.h:190
Belle2::ECLDataAnalysisModule::m_eclHitToPureDigit
std::vector< int > * m_eclHitToPureDigit
Index of ECLDigit related to ECLHit, PureCsI option.
Definition: ECLDataAnalysisModule.h:259
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitToMC5
std::vector< int > * m_eclPureCalDigitToMC5
Index of fifth MCParticle related to CalDigit, PureCsI option.
Definition: ECLDataAnalysisModule.h:344
Belle2::ECLCluster::getUncertaintyTheta
double getUncertaintyTheta() const
Return Uncertainty on Theta of Shower.
Definition: ECLCluster.h:344
Belle2::ECLDataAnalysisModule::m_eclShowerAbsZernike40
std::vector< double > * m_eclShowerAbsZernike40
Shower Zernike40 Moment.
Definition: ECLDataAnalysisModule.h:492
Belle2::ECLDataAnalysisModule::m_trkMultip
int m_trkMultip
Track Multiplicity.
Definition: ECLDataAnalysisModule.h:524
Belle2::ECLDataAnalysisModule::m_eclCalDigitMultip
int m_eclCalDigitMultip
Number of ECLCalDigits per event.
Definition: ECLDataAnalysisModule.h:198
Belle2::ECLDataAnalysisModule::m_iExperiment
int m_iExperiment
Experiment number.
Definition: ECLDataAnalysisModule.h:171
Belle2::ECLDataAnalysisModule::m_eclCRLikelihoodMIPNGamma
std::vector< double > * m_eclCRLikelihoodMIPNGamma
Connected Region MIP Likelihood.
Definition: ECLDataAnalysisModule.h:228
Belle2::ECLDataAnalysisModule::m_eclPureClusterToMCWeight4
std::vector< double > * m_eclPureClusterToMCWeight4
Energy contribution of fourth MCParticle related to ECLCluster, PureCsI option.
Definition: ECLDataAnalysisModule.h:389
Belle2::ECLDataAnalysisModule::m_eclPureConnectedRegions
StoreArray< ECLConnectedRegion > m_eclPureConnectedRegions
Store array: ECLPureConnectedRegion.
Definition: ECLDataAnalysisModule.h:139
Belle2::ECLDataAnalysisModule::m_eclPureClusterSecondMoment
std::vector< double > * m_eclPureClusterSecondMoment
Reconstructed Cluster Second Moment, PureCsI option.
Definition: ECLDataAnalysisModule.h:419
Belle2::ECLCluster::getTheta
double getTheta() const
Return Corrected Theta of Shower (radian).
Definition: ECLCluster.h:326
Belle2::ECLCluster::getPhi
double getPhi() const
Return Corrected Phi of Shower (radian).
Definition: ECLCluster.h:323
Belle2::ECLCluster::EHypothesisBit::c_nPhotons
@ c_nPhotons
CR is split into n photons (N1)
Belle2::ECLDataAnalysisModule::m_mcDecayVtxZ
std::vector< double > * m_mcDecayVtxZ
MCParticle decay vertex Z.
Definition: ECLDataAnalysisModule.h:518
Belle2::ECLDataAnalysisModule::m_eclShowerToMC4GMothPDG
std::vector< int > * m_eclShowerToMC4GMothPDG
PDG code of Gparent of fourth MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:455
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitToCR
std::vector< int > * m_eclPureCalDigitToCR
Index of CR related to that CalDigit, PureCsI option.
Definition: ECLDataAnalysisModule.h:356
Belle2::ECLDataAnalysisModule::m_eclShowerE9oE21
std::vector< double > * m_eclShowerE9oE21
Shower E9oE21.
Definition: ECLDataAnalysisModule.h:477
Belle2::Const::ParticleType::getPDGCode
int getPDGCode() const
PDG code.
Definition: Const.h:349
Belle2::ECLDataAnalysisModule::m_eclPureClusterToMC4PDG
std::vector< int > * m_eclPureClusterToMC4PDG
PDG code of fourth MCParticle related to ECLCluster, PureCsI option.
Definition: ECLDataAnalysisModule.h:390
Belle2::ECLSimHit::getPosition
G4ThreeVector getPosition() const
Get Position.
Definition: ECLSimHit.h:139
Belle2::ECLLocalMaximum::getLMId
int getLMId() const
Get LM identifier.
Definition: ECLLocalMaximum.h:79
Belle2::ECLDataAnalysisModule::m_eclCalDigitToMC2PDG
std::vector< int > * m_eclCalDigitToMC2PDG
PDG code of second MCParticle related to ECLCalDigit.
Definition: ECLDataAnalysisModule.h:204
Belle2::ECLDataAnalysisModule::m_eclPureClusterE9oE21
std::vector< double > * m_eclPureClusterE9oE21
Ratio of 3x3 over 5x5 crystal matrices energies for Cluster, PureCsI option.
Definition: ECLDataAnalysisModule.h:407
Belle2::ECLDataAnalysisModule::m_eclShowerT99
std::vector< double > * m_eclShowerT99
Shower T99.
Definition: ECLDataAnalysisModule.h:479
Belle2::ECLDataAnalysisModule::m_eclDigitToMC
std::vector< int > * m_eclDigitToMC
Index of MCParticle related to that ECLDigit.
Definition: ECLDataAnalysisModule.h:191
Belle2::ECLCluster::getR
double getR() const
Return R.
Definition: ECLCluster.h:329
Belle2::RelationsInterface::getRelated
T * getRelated(const std::string &name="", const std::string &namedRelation="") const
Get the object to or from which this object has a relation.
Definition: RelationsObject.h:280
Belle2::ECLDataAnalysisModule::m_eclPureClusterNofCrystals
std::vector< int > * m_eclPureClusterNofCrystals
Number of crystals in Cluster, PureCsI option.
Definition: ECLDataAnalysisModule.h:411
Belle2::ECLDataAnalysisModule::m_eclClusterAbsZernike40
std::vector< double > * m_eclClusterAbsZernike40
Reconstructed Abs Zernike40.
Definition: ECLDataAnalysisModule.h:306
Belle2::ECLDataAnalysisModule::m_eclDigitCellId
std::vector< int > * m_eclDigitCellId
Number of ECLDigit CellId.
Definition: ECLDataAnalysisModule.h:192
Belle2::RelationsInterface::getRelatedTo
TO * getRelatedTo(const std::string &name="", const std::string &namedRelation="") const
Get the object to which this object has a relation.
Definition: RelationsObject.h:250
Belle2::ECLDataAnalysisModule::m_eclClusterCellId
std::vector< int > * m_eclClusterCellId
CellId with highest energy deposit in ECLCluster.
Definition: ECLDataAnalysisModule.h:300
Belle2::ECLDataAnalysisModule::m_eclPureClusterZernikeMVA
std::vector< double > * m_eclPureClusterZernikeMVA
Output of MVA classifier based on Zernike Momenta, PureCsI option.
Definition: ECLDataAnalysisModule.h:418
Belle2::ECLDataAnalysisModule::m_eclCalDigitAmp
std::vector< double > * m_eclCalDigitAmp
ECLCalDigit amplitude.
Definition: ECLDataAnalysisModule.h:220
Belle2::ECLDataAnalysisModule::m_iRun
int m_iRun
Run number.
Definition: ECLDataAnalysisModule.h:172
Belle2::ECLDataAnalysisModule::m_eclClusterToMC1
std::vector< int > * m_eclClusterToMC1
Index of first MCParticle related to ECLCluster.
Definition: ECLDataAnalysisModule.h:269
Belle2::ECLDataAnalysisModule::m_doPureCsI
bool m_doPureCsI
if true, info on pureCsI upgrade is stored
Definition: ECLDataAnalysisModule.h:89
Belle2::ECLDataAnalysisModule::m_eclCalDigitToBkgWeight
std::vector< double > * m_eclCalDigitToBkgWeight
Remaining energy contribution not associated to first five MCParticles related to ECLCalDigit.
Definition: ECLDataAnalysisModule.h:216
Belle2::ECLCluster::getLAT
double getLAT() const
Return LAT (shower shape variable).
Definition: ECLCluster.h:311
Belle2::ECLDataAnalysisModule::m_eclClusterTiming
std::vector< double > * m_eclClusterTiming
ECLCluster time.
Definition: ECLDataAnalysisModule.h:296
Belle2::ECLShower::getNumberOfCrystals
double getNumberOfCrystals() const
Get NofCrystals.
Definition: ECLShower.h:371
Belle2::ECLDataAnalysisModule::m_eclHitTimeAve
std::vector< double > * m_eclHitTimeAve
ECLHit time.
Definition: ECLDataAnalysisModule.h:263
Belle2::ECLDataAnalysisModule::m_eclCalDigitToMCWeight4
std::vector< double > * m_eclCalDigitToMCWeight4
Energy contribution of fourth MCParticle related to ECLCalDigit.
Definition: ECLDataAnalysisModule.h:211
Belle2::ECLDataAnalysisModule::m_eclCRLikelihoodNGamma
std::vector< double > * m_eclCRLikelihoodNGamma
Connected Region Gamma Likelihood.
Definition: ECLDataAnalysisModule.h:231
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitToMC5PDG
std::vector< int > * m_eclPureCalDigitToMC5PDG
PDG code of fifth MCParticle related to CalDigit, PureCsI option.
Definition: ECLDataAnalysisModule.h:345
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitToMC4
std::vector< int > * m_eclPureCalDigitToMC4
Index of fourth MCParticle related to CalDigit, PureCsI option.
Definition: ECLDataAnalysisModule.h:340
Belle2::ECLDataAnalysisModule::m_eclPureClusterToMC2
std::vector< int > * m_eclPureClusterToMC2
Index of second MCParticle related to ECLCluster, PureCsI option.
Definition: ECLDataAnalysisModule.h:379
Belle2::ECLDataAnalysisModule::m_eclCalDigitToMC2
std::vector< int > * m_eclCalDigitToMC2
Index of second MCParticle related to ECLCalDigit.
Definition: ECLDataAnalysisModule.h:203
Belle2::ECLDataAnalysisModule::m_eclPureClusterToMC2PDG
std::vector< int > * m_eclPureClusterToMC2PDG
PDG code of second MCParticle related to ECLCluster, PureCsI option.
Definition: ECLDataAnalysisModule.h:382
Belle2::ECLDataAnalysisModule::m_eclSimHitX
std::vector< double > * m_eclSimHitX
ECLSimHit X position.
Definition: ECLDataAnalysisModule.h:247
Belle2::ECLDataAnalysisModule::m_eclHitEnergyDep
std::vector< double > * m_eclHitEnergyDep
ECLHit energy.
Definition: ECLDataAnalysisModule.h:262
Belle2::ECLLocalMaximum::getCellId
int getCellId() const
Get CellId.
Definition: ECLLocalMaximum.h:89
Belle2::ECLCluster::hasHypothesis
bool hasHypothesis(EHypothesisBit bitmask) const
Return if specific hypothesis bit is set.
Definition: ECLCluster.h:374
Belle2::ECLDataAnalysisModule::m_eclShowerToLM2
std::vector< int > * m_eclShowerToLM2
Index of 2nd maximum related to ECLShower.
Definition: ECLDataAnalysisModule.h:466
Belle2::ECLCluster::getSecondMoment
double getSecondMoment() const
Return second moment (shower shape variable).
Definition: ECLCluster.h:308
Belle2::ECLDataAnalysisModule::m_eclLMType
std::vector< int > * m_eclLMType
Local Maximum type.
Definition: ECLDataAnalysisModule.h:237
Belle2::ECLDataAnalysisModule::m_eclPureClusterR
std::vector< double > * m_eclPureClusterR
Cluster distance from IP, PureCsI option.
Definition: ECLDataAnalysisModule.h:403
Belle2::ECLDataAnalysisModule::m_eclHitToMC
std::vector< int > * m_eclHitToMC
Index of MCParticle related to ECLHit.
Definition: ECLDataAnalysisModule.h:256
Belle2::MCParticle::getArrayIndex
int getArrayIndex() const
Get 0-based index of the particle in the corresponding MCParticle list.
Definition: MCParticle.h:255
Belle2::ECLDataAnalysisModule::m_eclShowerIsTrack
std::vector< int > * m_eclShowerIsTrack
Shower Track Match.
Definition: ECLDataAnalysisModule.h:497
Belle2::ECLCluster::getStatus
unsigned short getStatus() const
Return status.
Definition: ECLCluster.h:253
Belle2::ECLDataAnalysisModule::m_eclLMId
std::vector< int > * m_eclLMId
Local Maximum ID.
Definition: ECLDataAnalysisModule.h:236
Belle2::ECLShower::getCentralCellId
int getCentralCellId() const
Get central cell Id.
Definition: ECLShower.h:281
Belle2::ECLShower::getShowerDepth
double getShowerDepth() const
path on track extrapolation to POCA to average cluster direction
Definition: ECLShower.h:366
Belle2::ECLDataAnalysisModule::m_eclSimHitPy
std::vector< double > * m_eclSimHitPy
ECLSimHit PY.
Definition: ECLDataAnalysisModule.h:251
Belle2::ECLCluster::getNumberOfCrystals
double getNumberOfCrystals() const
Return number of a crystals in a shower (sum of weights).
Definition: ECLCluster.h:314
Belle2::TrackFitResult
Values of the result of a track fit with a given particle hypothesis.
Definition: TrackFitResult.h:59
Belle2::MCParticle::getSecondaryPhysicsProcess
int getSecondaryPhysicsProcess() const
Returns the physics process type of a secondary particle.
Definition: MCParticle.h:305
Belle2::ECLCluster::getZernikeMVA
double getZernikeMVA() const
Return MVA based hadron/photon value based on Zernike moments (shower shape variable).
Definition: ECLCluster.h:289
Belle2::ECLDataAnalysisModule::m_eclShowerE1oE9
std::vector< double > * m_eclShowerE1oE9
Shower E1/E9.
Definition: ECLDataAnalysisModule.h:496
Belle2::ECLDataAnalysisModule::m_eclShowerToMC1GMoth
std::vector< int > * m_eclShowerToMC1GMoth
GMother index of first MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:433
Belle2::ECLSimHit::getCellId
int getCellId() const
Get Cell ID.
Definition: ECLSimHit.h:99
Belle2::ECLDataAnalysisModule::m_eclShowerLateralEnergy
std::vector< double > * m_eclShowerLateralEnergy
Shower Lateral Energy.
Definition: ECLDataAnalysisModule.h:488
Belle2::ECLConnectedRegion::getLikelihoodChargedHadron
float getLikelihoodChargedHadron() const
Get Charged Hadron likelihood (ECL based only) T2.
Definition: ECLConnectedRegion.h:99
Belle2::RelationsInterface::getRelationsTo
RelationVector< TO > getRelationsTo(const std::string &name="", const std::string &namedRelation="") const
Get the relations that point from this object to another store array.
Definition: RelationsObject.h:199
Belle2::ECLDataAnalysisModule::m_doHits
bool m_doHits
if true, info on Hits and SimHits is stored
Definition: ECLDataAnalysisModule.h:90
Belle2::TrackFitResult::getPosition
TVector3 getPosition() const
Getter for vector of position at closest approach of track in r/phi projection.
Definition: TrackFitResult.h:109
Belle2::ECLDataAnalysisModule::m_eclPureDigitToCluster
std::vector< int > * m_eclPureDigitToCluster
ECLDigit To Cluster, PureCsI option.
Definition: ECLDataAnalysisModule.h:324
Belle2::ECLDataAnalysisModule::m_eventLevelClusteringInfo
StoreObjPtr< EventLevelClusteringInfo > m_eventLevelClusteringInfo
Store object pointer: EventLevelClusteringInfo.
Definition: ECLDataAnalysisModule.h:105
Belle2::ECLDataAnalysisModule::m_eclPureLocalMaximums
StoreArray< ECLLocalMaximum > m_eclPureLocalMaximums
Store array: ECLPureLocalMaximum.
Definition: ECLDataAnalysisModule.h:145
Belle2::ECLDataAnalysisModule::m_eclShowerIdx
std::vector< int > * m_eclShowerIdx
Shower Index.
Definition: ECLDataAnalysisModule.h:427
Belle2::ECLDataAnalysisModule::m_trkZ
std::vector< double > * m_trkZ
Track DOCA Z (?)
Definition: ECLDataAnalysisModule.h:536
Belle2::ECLDataAnalysisModule::m_eclClusterEnergy
std::vector< double > * m_eclClusterEnergy
ECLCluster energy.
Definition: ECLDataAnalysisModule.h:288
Belle2::ECLDataAnalysisModule::m_eclPureLMMultip
int m_eclPureLMMultip
Local Maxima multiplicity, PureCsI option.
Definition: ECLDataAnalysisModule.h:368
Belle2::ECLDataAnalysisModule::m_eclCRLikelihoodMergedPi0
std::vector< double > * m_eclCRLikelihoodMergedPi0
Connected Region Merged Pi0 Likelihood.
Definition: ECLDataAnalysisModule.h:233
Belle2::ECLSimHit::getMomentum
G4ThreeVector getMomentum() const
Get Momentum.
Definition: ECLSimHit.h:129
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitToMC4PDG
std::vector< int > * m_eclPureCalDigitToMC4PDG
PDG code of fourth MCParticle related to CalDigit, PureCsI option.
Definition: ECLDataAnalysisModule.h:341
Belle2::ECLDataAnalysisModule::m_eclPureClusterCrystalHealth
std::vector< int > * m_eclPureClusterCrystalHealth
Crystal healt flag, PureCsI option.
Definition: ECLDataAnalysisModule.h:412
Belle2::ECLDataAnalysisModule::m_eclCalDigitToMCWeight1
std::vector< double > * m_eclCalDigitToMCWeight1
Energy contribution of first MCParticle related to ECLCalDigit.
Definition: ECLDataAnalysisModule.h:202
Belle2::ECLDataAnalysisModule::m_eclClusterPhiError
std::vector< double > * m_eclClusterPhiError
ECLCluster error on azimuthal direction.
Definition: ECLDataAnalysisModule.h:293
Belle2::ECLDataAnalysisModule::m_eclClusterIdx
std::vector< int > * m_eclClusterIdx
ECLCluster index.
Definition: ECLDataAnalysisModule.h:268
Belle2::ECLDataAnalysisModule::m_trkPdg
std::vector< int > * m_trkPdg
Track PDG code.
Definition: ECLDataAnalysisModule.h:525
Belle2::ECLDataAnalysisModule::m_eclShowerToMC2MothPDG
std::vector< int > * m_eclShowerToMC2MothPDG
PDG code of parent of first MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:439
Belle2::ECLDataAnalysisModule::m_eclClusterToMCWeight3
std::vector< double > * m_eclClusterToMCWeight3
Energy contribution of third MCParticle related to ECLCluster.
Definition: ECLDataAnalysisModule.h:276
Belle2::ECLDataAnalysisModule::m_eclPureClusterToMC1
std::vector< int > * m_eclPureClusterToMC1
Index of first MCParticle related to ECLCluster, PureCsI option.
Definition: ECLDataAnalysisModule.h:375
Belle2::ECLDataAnalysisModule::m_eclShowerToMC3GMoth
std::vector< int > * m_eclShowerToMC3GMoth
GMother index of third MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:447
Belle2::ECLDataAnalysisModule::m_eclShowers
StoreArray< ECLShower > m_eclShowers
Store array: ECLShower.
Definition: ECLDataAnalysisModule.h:102
Belle2::ECLShower::getZernikeMVA
double getZernikeMVA() const
Get Zernike MVA.
Definition: ECLShower.h:386
Belle2::ECLDataAnalysisModule::eclPureDigitArrayName
virtual const char * eclPureDigitArrayName() const
Default name ECLPureDigits array.
Definition: ECLDataAnalysisModule.h:148
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitToMC3
std::vector< int > * m_eclPureCalDigitToMC3
Index of third MCParticle related to CalDigit, PureCsI option.
Definition: ECLDataAnalysisModule.h:336
Belle2::MCParticle::getDecayVertex
TVector3 getDecayVertex() const
Return decay vertex.
Definition: MCParticle.h:230
Belle2::ECLDataAnalysisModule::m_eclClusterEnergyError
std::vector< double > * m_eclClusterEnergyError
ECLCluster energy error.
Definition: ECLDataAnalysisModule.h:289
Belle2::ECLDataAnalysisModule::m_eclSimHits
StoreArray< ECLSimHit > m_eclSimHits
Store array: ECLSimHit.
Definition: ECLDataAnalysisModule.h:97
Belle2::ECLDataAnalysisModule::m_eclCalDigitToMCWeight2
std::vector< double > * m_eclCalDigitToMCWeight2
Energy contribution of second MCParticle related to ECLCalDigit.
Definition: ECLDataAnalysisModule.h:205
Belle2::ECLDataAnalysisModule::m_eclShowerToMC5GMoth
std::vector< int > * m_eclShowerToMC5GMoth
GMother index of fifth MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:461
Belle2::ECLDataAnalysisModule::m_trkIdx
std::vector< int > * m_trkIdx
Track index.
Definition: ECLDataAnalysisModule.h:526
Belle2::ECLDataAnalysisModule::m_eclPureClusterHighestE
std::vector< double > * m_eclPureClusterHighestE
Highest energy deposit (per crystal) in Cluster, PureCsI option.
Definition: ECLDataAnalysisModule.h:408
Belle2::ECLDataAnalysisModule::m_eclClusterSecondMoment
std::vector< double > * m_eclClusterSecondMoment
Reconstructed Second Moment.
Definition: ECLDataAnalysisModule.h:310
Belle2::ECLDataAnalysisModule::m_eclShowerMCFlightMatch
std::vector< int > * m_eclShowerMCFlightMatch
Int, 1 if particle flight direction is "well" reconstructed in ECL, 0 otherwise.
Definition: ECLDataAnalysisModule.h:500
Belle2::ECLDataAnalysisModule::m_eclClusterToMCWeight2
std::vector< double > * m_eclClusterToMCWeight2
Energy contribution of second MCParticle related to ECLCluster.
Definition: ECLDataAnalysisModule.h:273
Belle2::ECLCluster::getEnergy
double getEnergy(const EHypothesisBit &hypothesis) const
Return Energy (GeV).
Definition: ECLCluster.cc:21
Belle2::ECLDataAnalysisModule::m_eclSimHitZ
std::vector< double > * m_eclSimHitZ
ECLSimHit Z position.
Definition: ECLDataAnalysisModule.h:249
Belle2::ECLDataAnalysisModule::m_eclShowerToLM4
std::vector< int > * m_eclShowerToLM4
Index of 4th maximum related to ECLShower.
Definition: ECLDataAnalysisModule.h:468
Belle2::ECLDataAnalysisModule::m_eclShowerToMC2PDG
std::vector< int > * m_eclShowerToMC2PDG
PDG code of second MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:437
Belle2::ECLDataAnalysisModule::m_eclPureDigitTimeFit
std::vector< int > * m_eclPureDigitTimeFit
ECLDigit timing, PureCsI option.
Definition: ECLDataAnalysisModule.h:322
Belle2::ECLDataAnalysisModule::m_trkTheta
std::vector< double > * m_trkTheta
Track polar direction.
Definition: ECLDataAnalysisModule.h:532
Belle2::ECLDataAnalysisModule::m_eclPureClusterCellId
std::vector< int > * m_eclPureClusterCellId
CellId with highest energy deposit in Cluster, PureCsI option.
Definition: ECLDataAnalysisModule.h:409
Belle2::ECLCluster::getEnergyRaw
double getEnergyRaw() const
Return Uncorrected Energy deposited (GeV)
Definition: ECLCluster.h:335
Belle2::ECLDataAnalysisModule::m_eclShowerTheta
std::vector< double > * m_eclShowerTheta
Shower Theta.
Definition: ECLDataAnalysisModule.h:473
Belle2::ECLDataAnalysisModule::m_eclPureCRLikelihoodMergedPi0
std::vector< double > * m_eclPureCRLikelihoodMergedPi0
Connected Region Merged Pi0 Likelihood, PureCsI option.
Definition: ECLDataAnalysisModule.h:366
Belle2::Const::pion
static const ChargedStable pion
charged pion particle
Definition: Const.h:535
Belle2::ECLShower::getPhi
double getPhi() const
Get Phi.
Definition: ECLShower.h:301
Belle2::ECLDataAnalysisModule::m_nECLCalDigitsOutOfTimeFWD
uint16_t m_nECLCalDigitsOutOfTimeFWD
Number of out of time, energetic ECLCalDigits, FWD.
Definition: ECLDataAnalysisModule.h:177
Belle2::ECLDataAnalysisModule::m_eclClusterToBkgWeight
std::vector< double > * m_eclClusterToBkgWeight
Remaining energy contribution not associated to first five MCParticles related to ECLCluster.
Definition: ECLDataAnalysisModule.h:285
Belle2::ECLDataAnalysisModule::m_eclPureDigitToMC
std::vector< int > * m_eclPureDigitToMC
Index of MCParticle related to that ECLDigit, PureCsI option.
Definition: ECLDataAnalysisModule.h:319
Belle2::ECLDataAnalysisModule::m_eclShowerNHits
std::vector< double > * m_eclShowerNHits
Shower NHits.
Definition: ECLDataAnalysisModule.h:476
Belle2::ECLCluster::isTrack
bool isTrack() const
Return true if the cluster matches with track.
Definition: ECLCluster.h:247
Belle2::ECLDataAnalysisModule::m_mcDecayVtxY
std::vector< double > * m_mcDecayVtxY
MCParticle decay vertex Y.
Definition: ECLDataAnalysisModule.h:517
Belle2::ECLDataAnalysisModule::m_eclPureClusterLat
std::vector< double > * m_eclPureClusterLat
Cluster shape parameter LAT, PureCsI option.
Definition: ECLDataAnalysisModule.h:410
Belle2::ECLDataAnalysisModule::m_trkPx
std::vector< double > * m_trkPx
Track momentum along X direction.
Definition: ECLDataAnalysisModule.h:528
Belle2::ECLDataAnalysisModule::eclPureConnectedRegionArrayName
virtual const char * eclPureConnectedRegionArrayName() const
Default name ECLPureConnectedRegions array.
Definition: ECLDataAnalysisModule.h:160
Belle2::ECLDataAnalysisModule::m_eclCalDigitIdx
std::vector< int > * m_eclCalDigitIdx
ECLCalDigit index.
Definition: ECLDataAnalysisModule.h:199
Belle2::ECLDataAnalysisModule::m_eclpidtrkIdx
std::vector< int > * m_eclpidtrkIdx
PID track index.
Definition: ECLDataAnalysisModule.h:538
Belle2::ECLCalDigit::getTime
double getTime() const
Get Calibrated Time.
Definition: ECLCalDigit.h:174
Belle2::ECLDataAnalysisModule::m_eclShowerToMC5
std::vector< int > * m_eclShowerToMC5
Index of fifth MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:456
Belle2::ECLDataAnalysisModule::m_eclSimHitPdg
std::vector< int > * m_eclSimHitPdg
PDG code of MCParticle associted to that ECLDigit.
Definition: ECLDataAnalysisModule.h:244
Belle2::ECLDataAnalysisModule::m_eclPureClusterToMC5
std::vector< int > * m_eclPureClusterToMC5
Index of fifth MCParticle related to ECLCluster, PureCsI option.
Definition: ECLDataAnalysisModule.h:391
Belle2::ECLDataAnalysisModule::m_eclClusterCrystalHealth
std::vector< int > * m_eclClusterCrystalHealth
Crystal healt flag.
Definition: ECLDataAnalysisModule.h:302
Belle2::ECLCluster::getUncertaintyPhi
double getUncertaintyPhi() const
Return Uncertainty on Phi of Shower.
Definition: ECLCluster.h:347
Belle2::ECLDataAnalysisModule::m_eclPureClusterEnergy
std::vector< double > * m_eclPureClusterEnergy
Cluster energy, PureCsI option.
Definition: ECLDataAnalysisModule.h:397
Belle2::ECLDataAnalysisModule::m_eclClusterToShower
std::vector< int > * m_eclClusterToShower
Index of ECLShower related to ECLCluster.
Definition: ECLDataAnalysisModule.h:287
Belle2::ECLDataAnalysisModule::m_eclPureClusterEnergyError
std::vector< double > * m_eclPureClusterEnergyError
Cluster energy error, PureCsI option.
Definition: ECLDataAnalysisModule.h:398
Belle2::ECLDataAnalysisModule::m_eclShowerCentralCellId
std::vector< int > * m_eclShowerCentralCellId
Cell ID for most energetic crystal.
Definition: ECLDataAnalysisModule.h:482
Belle2::TrackFitResult::getParticleType
Const::ParticleType getParticleType() const
Getter for ParticleType of the mass hypothesis of the track fit.
Definition: TrackFitResult.h:154
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitToMCWeight2
std::vector< double > * m_eclPureCalDigitToMCWeight2
Energy contribution of second MCParticle related to CalDigit, PureCsI option.
Definition: ECLDataAnalysisModule.h:335
Belle2::ECLDataAnalysisModule::m_eclDigitFitQuality
std::vector< int > * m_eclDigitFitQuality
ECLDigit fit quality.
Definition: ECLDataAnalysisModule.h:195
Belle2::ECLDataAnalysisModule::m_eclSimHitCellId
std::vector< int > * m_eclSimHitCellId
ECLSimHit CellId.
Definition: ECLDataAnalysisModule.h:243
Belle2::ECLDataAnalysisModule::m_eclpidE9E21
std::vector< double > * m_eclpidE9E21
PID track ration of 3x3 over 5x5 crystal matrices energies.
Definition: ECLDataAnalysisModule.h:541
Belle2::ECLDataAnalysisModule::m_eclPureClusterTiming
std::vector< double > * m_eclPureClusterTiming
Cluster time, PureCsI option.
Definition: ECLDataAnalysisModule.h:405
Belle2::ECLDataAnalysisModule::m_eclClusterIsTrack
std::vector< bool > * m_eclClusterIsTrack
Flag for charged clusters.
Definition: ECLDataAnalysisModule.h:303
Belle2::ECLDataAnalysisModule::m_eclShowerToMC4Moth
std::vector< int > * m_eclShowerToMC4Moth
Mother index of fourth MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:452
Belle2::ECLConnectedRegion::getLikelihoodNGamma
float getLikelihoodNGamma() const
Get NGamma likelihood (ECL based only) N1.
Definition: ECLConnectedRegion.h:109
Belle2::ECLShower::getEnergy
double getEnergy() const
Get Energy.
Definition: ECLShower.h:286
Belle2::ECLDataAnalysisModule::m_eclCRIdx
std::vector< int > * m_eclCRIdx
Connected Region ID.
Definition: ECLDataAnalysisModule.h:226
Belle2::ECLDataAnalysisModule::m_eclShowerToMC2
std::vector< int > * m_eclShowerToMC2
Index of second MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:435
Belle2::ECLDataAnalysisModule::m_mcSecondaryPhysProc
std::vector< int > * m_mcSecondaryPhysProc
Flag for secondary physics process.
Definition: ECLDataAnalysisModule.h:522
Belle2::ECLDataAnalysisModule::m_eclCRLikelihoodChargedHadron
std::vector< double > * m_eclCRLikelihoodChargedHadron
Connected Region Charged Hadron Likelihood.
Definition: ECLDataAnalysisModule.h:229
Belle2::ECLCluster::getEnergyHighestCrystal
double getEnergyHighestCrystal() const
Return energy of highest energetic crystal in cluster (GeV)
Definition: ECLCluster.h:338
Belle2::ECLShower::getEnergyRaw
double getEnergyRaw() const
Get Energy Sum.
Definition: ECLShower.h:291
Belle2::ECLDataAnalysisModule::m_eclPureClusterTheta
std::vector< double > * m_eclPureClusterTheta
Cluster polar direction, PureCsI option.
Definition: ECLDataAnalysisModule.h:399
Belle2::ECLDataAnalysisModule::m_eclPureCRIdx
std::vector< int > * m_eclPureCRIdx
Connected Region ID, PureCsI option.
Definition: ECLDataAnalysisModule.h:359
Belle2::ECLDataAnalysisModule::m_iEvent
int m_iEvent
Event number.
Definition: ECLDataAnalysisModule.h:173
Belle2::ECLDataAnalysisModule::m_eclPureLMId
std::vector< int > * m_eclPureLMId
Local Maximum ID, PureCsI option.
Definition: ECLDataAnalysisModule.h:369
Belle2::ECLDataAnalysisModule::m_eclPureClusterDeltaTime99
std::vector< double > * m_eclPureClusterDeltaTime99
Reconstructed DeltaT99, PureCsI option.
Definition: ECLDataAnalysisModule.h:421
Belle2::ECLCluster::getTime
double getTime() const
Return cluster time.
Definition: ECLCluster.h:317
Belle2::ECLSimHit::getFlightTime
double getFlightTime() const
Get Flight time from IP.
Definition: ECLSimHit.h:114
Belle2::ECLDataAnalysisModule::m_eclCalDigitTimeFit
std::vector< double > * m_eclCalDigitTimeFit
ECLCalDigit timing.
Definition: ECLDataAnalysisModule.h:221
Belle2::ECLPidLikelihood
Container for likelihoods with ECL PID (ECLChargedPIDModule)
Definition: ECLPidLikelihood.h:34
Belle2::ECLDataAnalysisModule::m_eclPureClusterToMC4
std::vector< int > * m_eclPureClusterToMC4
Index of fourth MCParticle related to ECLCluster, PureCsI option.
Definition: ECLDataAnalysisModule.h:387
Belle2::ECLDataAnalysisModule::m_eclShowerToMC3Moth
std::vector< int > * m_eclShowerToMC3Moth
Mother index of first MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:445
Belle2::ECLDigit::getCellId
int getCellId() const
Get Cell ID.
Definition: ECLDigit.h:74
Belle2::ECLDataAnalysisModule::m_eclPureClusterToMCWeight5
std::vector< double > * m_eclPureClusterToMCWeight5
Energy contribution of 5th MCParticle related to ECLCluster, PureCsI option.
Definition: ECLDataAnalysisModule.h:393
Belle2::ECLDataAnalysisModule::m_eclClusterDetectorRegion
std::vector< int > * m_eclClusterDetectorRegion
Cluster Detector Region.
Definition: ECLDataAnalysisModule.h:313
Belle2::ECLDataAnalysisModule::m_eclClusterToMC1PDG
std::vector< int > * m_eclClusterToMC1PDG
PDG code of first MCParticle related to ECLCluster.
Definition: ECLDataAnalysisModule.h:271
Belle2::ECLDataAnalysisModule::m_eclPureClusterToMC3
std::vector< int > * m_eclPureClusterToMC3
Index of third MCParticle related to ECLCluster, PureCsI option.
Definition: ECLDataAnalysisModule.h:383
Belle2::ECLDataAnalysisModule::m_eclClusterToMC2
std::vector< int > * m_eclClusterToMC2
Index of second MCParticle related to ECLCluster.
Definition: ECLDataAnalysisModule.h:272
Belle2::MCParticle::getProductionVertex
TVector3 getProductionVertex() const
Return production vertex position.
Definition: MCParticle.h:200
Belle2::MCParticle::getPDG
int getPDG() const
Return PDG code of particle.
Definition: MCParticle.h:123
Belle2::ECLCluster::getDeltaL
double getDeltaL() const
Return deltaL.
Definition: ECLCluster.h:280
Belle2::ECLDataAnalysisModule::m_tracks
StoreArray< Track > m_tracks
Tracks storeArray.
Definition: ECLDataAnalysisModule.h:94
Belle2::ECLDataAnalysisModule::m_eclPureClusterToMCWeight3
std::vector< double > * m_eclPureClusterToMCWeight3
Energy contribution of third MCParticle related to ECLCluster, PureCsI option.
Definition: ECLDataAnalysisModule.h:385
Belle2::ECLDataAnalysisModule::m_eclPureClusterDetectorRegion
std::vector< int > * m_eclPureClusterDetectorRegion
Clusters detector region, PureCsI option.
Definition: ECLDataAnalysisModule.h:422
Belle2::ECLDataAnalysisModule::m_doTracking
bool m_doTracking
if true, info on tracking will be stored, job will fail if doTracking==1 and the tracking modules are...
Definition: ECLDataAnalysisModule.h:88
Belle2::ECLDataAnalysisModule::m_eclPureClusters
StoreArray< ECLCluster > m_eclPureClusters
Store array: ECLPureCluster.
Definition: ECLDataAnalysisModule.h:143
Belle2::ECLDataAnalysisModule::m_eclCalDigitCellId
std::vector< int > * m_eclCalDigitCellId
Number of ECLCalDigit CellId.
Definition: ECLDataAnalysisModule.h:219
Belle2::ECLDataAnalysisModule::m_eclDigitToCalDigit
std::vector< int > * m_eclDigitToCalDigit
Index of CalDigit related to that ECLDigit.
Definition: ECLDataAnalysisModule.h:196
Belle2::ECLShower::getUncertaintyEnergy
double getUncertaintyEnergy() const
Get Error of Energy.
Definition: ECLShower.h:321
Belle2::ECLDataAnalysisModule::m_tree
TTree * m_tree
Root tree and file for saving the output.
Definition: ECLDataAnalysisModule.h:168
Belle2::ECLShower::getDeltaTime99
double getDeltaTime99() const
Get Time Resolution.
Definition: ECLShower.h:341
Belle2::ECLDataAnalysisModule::m_eclHitIdx
std::vector< int > * m_eclHitIdx
Index of ECLHits.
Definition: ECLDataAnalysisModule.h:255
Belle2::ECLDataAnalysisModule::m_eclClusterToMC5PDG
std::vector< int > * m_eclClusterToMC5PDG
PDG code of fifth MCParticle related to ECLCluster.
Definition: ECLDataAnalysisModule.h:283
Belle2::ECLLocalMaximum::getType
int getType() const
Get type.
Definition: ECLLocalMaximum.h:84
Belle2::ECLShower::getAbsZernike51
double getAbsZernike51() const
Get absolute value of Zernike moment 51.
Definition: ECLShower.h:381
Belle2::ECLDataAnalysisModule::m_eclPureClusterPhi
std::vector< double > * m_eclPureClusterPhi
Cluster azimuthal direction, PureCsI option.
Definition: ECLDataAnalysisModule.h:401
Belle2::ECLDataAnalysisModule::m_eclShowerToMC1PDG
std::vector< int > * m_eclShowerToMC1PDG
PDG code of first MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:430
Belle2::ECLDataAnalysisModule::m_eclPureClusterToMC5PDG
std::vector< int > * m_eclPureClusterToMC5PDG
PDG code of fifth MCParticle related to ECLCluster, PureCsI option.
Definition: ECLDataAnalysisModule.h:394
Belle2::ECLDataAnalysisModule::m_eclPureClusterAbsZernike51
std::vector< double > * m_eclPureClusterAbsZernike51
Reconstructed Zernike51, PureCsI option.
Definition: ECLDataAnalysisModule.h:417
Belle2::ECLConnectedRegion::getLikelihoodNeutralHadron
float getLikelihoodNeutralHadron() const
Get Neutral Hadron likelihood (ECL based only) N2.
Definition: ECLConnectedRegion.h:114
Belle2::ECLDataAnalysisModule::m_trkY
std::vector< double > * m_trkY
Track DOCA Y (?)
Definition: ECLDataAnalysisModule.h:535
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitToMCWeight3
std::vector< double > * m_eclPureCalDigitToMCWeight3
Energy contribution of third MCParticle related to CalDigit, PureCsI option.
Definition: ECLDataAnalysisModule.h:339
Belle2::ECLDataAnalysisModule::m_eclCalDigitToMC3PDG
std::vector< int > * m_eclCalDigitToMC3PDG
PDG code of third MCParticle related to ECLCalDigit.
Definition: ECLDataAnalysisModule.h:207
Belle2::MCParticle::getMother
MCParticle * getMother() const
Returns a pointer to the mother particle.
Definition: MCParticle.h:593
Belle2::ECLDataAnalysisModule::m_eclHitCellId
std::vector< int > * m_eclHitCellId
ECLHit CellID.
Definition: ECLDataAnalysisModule.h:261
Belle2::ECLDataAnalysisModule::m_eclPureClusterToMC3PDG
std::vector< int > * m_eclPureClusterToMC3PDG
PDG code of third MCParticle related to ECLCluster, PureCsI option.
Definition: ECLDataAnalysisModule.h:386
Belle2::ECLDataAnalysisModule::m_eclShowerShowerDepth
std::vector< double > * m_eclShowerShowerDepth
Shower Depth.
Definition: ECLDataAnalysisModule.h:491
Belle2::ECLDataAnalysisModule::m_eclClusterToMC3
std::vector< int > * m_eclClusterToMC3
Index of third MCParticle related to ECLCluster.
Definition: ECLDataAnalysisModule.h:275
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitFitQuality
std::vector< int > * m_eclPureCalDigitFitQuality
CalDigit fit quality, PureCsI option.
Definition: ECLDataAnalysisModule.h:355
Belle2::ECLDataAnalysisModule::m_eclLogLikeMu
std::vector< double > * m_eclLogLikeMu
PID track muon likelyhood.
Definition: ECLDataAnalysisModule.h:545
Belle2::ECLDataAnalysisModule::m_eclShowerToMC4MothPDG
std::vector< int > * m_eclShowerToMC4MothPDG
PDG code of parent of fourth MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:453
Belle2::ECLDataAnalysisModule::m_mcEnergy
std::vector< double > * m_mcEnergy
MCParticle energyx.
Definition: ECLDataAnalysisModule.h:512
Belle2::ECLCluster::EHypothesisBit::c_neutralHadron
@ c_neutralHadron
CR is reconstructed as a neutral hadron (N2)
Belle2::ECLDataAnalysisModule::m_mcIdx
std::vector< int > * m_mcIdx
MCParticle index.
Definition: ECLDataAnalysisModule.h:507
Belle2::ECLDigit
Class to store ECL digitized hits (output of ECLDigi) relation to ECLHit filled in ecl/modules/eclDig...
Definition: ECLDigit.h:34
Belle2::ECLDataAnalysisModule::m_eclCRIsTrack
std::vector< int > * m_eclCRIsTrack
Int for Connected Region - Track Match.
Definition: ECLDataAnalysisModule.h:227
Belle2::ECLDataAnalysisModule::m_eclCRLikelihoodNeutralHadron
std::vector< double > * m_eclCRLikelihoodNeutralHadron
Connected Region Neutral Hadron Likelihood.
Definition: ECLDataAnalysisModule.h:232
Belle2::RelationsInterface::getArrayIndex
int getArrayIndex() const
Returns this object's array index (in StoreArray), or -1 if not found.
Definition: RelationsObject.h:387
Belle2::ECLDataAnalysisModule::m_eclPureClusterMultip
int m_eclPureClusterMultip
Number of ECLClusterss per event, PureCsI option.
Definition: ECLDataAnalysisModule.h:373
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitToMCWeight5
std::vector< double > * m_eclPureCalDigitToMCWeight5
Energy contribution of fifth MCParticle related to CalDigit, PureCsI option.
Definition: ECLDataAnalysisModule.h:347
Belle2::ECLCluster::getAbsZernike40
double getAbsZernike40() const
Return Zernike moment 40 (shower shape variable).
Definition: ECLCluster.h:283
Belle2::ECLDataAnalysisModule::m_eclClusterHasNPhotonHypothesis
std::vector< int > * m_eclClusterHasNPhotonHypothesis
Cluster has n-photon hypothesis.
Definition: ECLDataAnalysisModule.h:314
Belle2::ECLCluster::getAbsZernike51
double getAbsZernike51() const
Return Zernike moment 51 (shower shape variable).
Definition: ECLCluster.h:286
Belle2::ECLDataAnalysisModule::m_eclShowerConnectedRegionId
std::vector< int > * m_eclShowerConnectedRegionId
Matched Connetcted Region Idx.
Definition: ECLDataAnalysisModule.h:480
Belle2::ECLDataAnalysisModule::m_eclShowerTrkDepth
std::vector< double > * m_eclShowerTrkDepth
Shower Track Depth.
Definition: ECLDataAnalysisModule.h:490
Belle2::ECLDataAnalysisModule::m_eclCalDigitToLM
std::vector< int > * m_eclCalDigitToLM
Index of LM related to that ECLCalDigit.
Definition: ECLDataAnalysisModule.h:224
Belle2::ECLCluster::getMaxECellId
unsigned short getMaxECellId() const
Return cellID of maximum energy crystal.
Definition: ECLCluster.h:259
Belle2::ECLCalDigit::isFailedFit
bool isFailedFit() const
Get Boolean Fit Failed Status.
Definition: ECLCalDigit.h:265
Belle2::ECLLocalMaximum
Class to store local maxima (LM)
Definition: ECLLocalMaximum.h:41
Belle2::ECLDataAnalysisModule::m_eclShowerToMC3PDG
std::vector< int > * m_eclShowerToMC3PDG
PDG code of third MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:444
Belle2::ECLDataAnalysisModule::m_eclShowerMCVtxInEcl
std::vector< int > * m_eclShowerMCVtxInEcl
Int, 1 if particle decays (interacts) in ECL, 0 otherwise.
Definition: ECLDataAnalysisModule.h:499
Belle2::ECLDataAnalysisModule::m_eclShowerHypothesisId
std::vector< int > * m_eclShowerHypothesisId
Shower Particle Hypothesis ID.
Definition: ECLDataAnalysisModule.h:481
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitToLM
std::vector< int > * m_eclPureCalDigitToLM
Index of LM related to that CalDigit, PureCsI option.
Definition: ECLDataAnalysisModule.h:357
Belle2::ECLDataAnalysisModule::m_eclShowerToMC4
std::vector< int > * m_eclShowerToMC4
Index of fourth MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:449
Belle2::ECLDataAnalysisModule::m_eclShowerToMC3MothPDG
std::vector< int > * m_eclShowerToMC3MothPDG
PDG code of parent of first MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:446
Belle2::ECLShower::getAbsZernike40
double getAbsZernike40() const
Get absolute value of Zernike moment 40.
Definition: ECLShower.h:376
Belle2::ECLDataAnalysisModule::m_eclClusterSimHitSum
std::vector< double > * m_eclClusterSimHitSum
Energy contribution of 1st MCParticle related to ECLCluster.
Definition: ECLDataAnalysisModule.h:286
Belle2::ECLDataAnalysisModule::m_eclClusterThetaError
std::vector< double > * m_eclClusterThetaError
ECLCluster error on polar direction.
Definition: ECLDataAnalysisModule.h:291
Belle2::ECLDataAnalysisModule::m_eclClusterClosestTrackDist
std::vector< double > * m_eclClusterClosestTrackDist
Flag for charged clusters.
Definition: ECLDataAnalysisModule.h:304
Belle2::ECLShower::getE1oE9
double getE1oE9() const
Get energy ratio E1oE9.
Definition: ECLShower.h:396
Belle2::ECLDataAnalysisModule::m_eclCalDigits
StoreArray< ECLCalDigit > m_eclCalDigits
Store array: ECLCalDigit.
Definition: ECLDataAnalysisModule.h:100
Belle2::ECLDataAnalysisModule::m_eclShowerToBkgWeight
std::vector< double > * m_eclShowerToBkgWeight
Remaining energy contribution not associated to first five MCParticles related to ECLShower.
Definition: ECLDataAnalysisModule.h:464
Belle2::ECLDataAnalysisModule::m_eclShowerTime
std::vector< double > * m_eclShowerTime
Shower Timing.
Definition: ECLDataAnalysisModule.h:478
Belle2::ECLShower::getUncertaintyTheta
double getUncertaintyTheta() const
Get Error of theta.
Definition: ECLShower.h:326
Belle2::ECLDataAnalysisModule::m_eclShowerToMC5PDG
std::vector< int > * m_eclShowerToMC5PDG
PDG code of fifth MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:458
Belle2::ECLDataAnalysisModule::m_mcMultip
int m_mcMultip
Multiplicity of MCParticles.
Definition: ECLDataAnalysisModule.h:506
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitToMC1PDG
std::vector< int > * m_eclPureCalDigitToMC1PDG
PDG code of first MCParticle related to CalDigit, PureCsI option.
Definition: ECLDataAnalysisModule.h:329
Belle2::ECLDigit::getTimeFit
int getTimeFit() const
Get Fitting Time.
Definition: ECLDigit.h:85
Belle2::ECLDataAnalysisModule::m_eclPureClusterToMCWeight2
std::vector< double > * m_eclPureClusterToMCWeight2
Energy contribution of second MCParticle related to ECLCluster, PureCsI option.
Definition: ECLDataAnalysisModule.h:381
Belle2::ECLDataAnalysisModule::m_eclPureClusterDeltaL
std::vector< double > * m_eclPureClusterDeltaL
Reconstructed Cluster DeltaL, PureCsI option.
Definition: ECLDataAnalysisModule.h:414
Belle2::ECLDataAnalysisModule::m_eclShowerAbsZernike51
std::vector< double > * m_eclShowerAbsZernike51
Shower Zernike51 Moment.
Definition: ECLDataAnalysisModule.h:493
Belle2::ECLDataAnalysisModule::m_eclCalDigitToMC5
std::vector< int > * m_eclCalDigitToMC5
Index of fifth MCParticle related to ECLCalDigit.
Definition: ECLDataAnalysisModule.h:212
Belle2::ECLDataAnalysisModule::m_mcPy
std::vector< double > * m_mcPy
MCParticle momentum Y direction.
Definition: ECLDataAnalysisModule.h:514
Belle2::ECLDataAnalysisModule::m_mcProdVtxX
std::vector< double > * m_mcProdVtxX
MCParticle production vertex X.
Definition: ECLDataAnalysisModule.h:519
Belle2::ECLSimHit::getEnergyDep
double getEnergyDep() const
Get Deposit energy.
Definition: ECLSimHit.h:119
Belle2::ECLShower::getTime
double getTime() const
Get Time.
Definition: ECLShower.h:336
Belle2::ECLDataAnalysisModule::m_eclShowerEnergyError
std::vector< double > * m_eclShowerEnergyError
Shower Energy Error.
Definition: ECLDataAnalysisModule.h:483
Belle2::ECLDataAnalysisModule::m_eclShowerToLM3
std::vector< int > * m_eclShowerToLM3
Index of 3rd maximum related to ECLShower.
Definition: ECLDataAnalysisModule.h:467
Belle2::ECLDataAnalysisModule::m_eclClusterToMC3PDG
std::vector< int > * m_eclClusterToMC3PDG
PDG code of third MCParticle related to ECLCluster.
Definition: ECLDataAnalysisModule.h:277
Belle2::ECLDataAnalysisModule::m_eclShowerToMC3
std::vector< int > * m_eclShowerToMC3
Index of third MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:442
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitMultip
int m_eclPureCalDigitMultip
Number of ECLCalDigits per event, PureCsI option.
Definition: ECLDataAnalysisModule.h:326
Belle2::ECLCluster::getE1oE9
double getE1oE9() const
Return E1/E9 (shower shape variable).
Definition: ECLCluster.h:292
Belle2::ECLDataAnalysisModule::m_eclpidNCrystals
std::vector< int > * m_eclpidNCrystals
PID track number of crystals.
Definition: ECLDataAnalysisModule.h:542
Belle2::ECLDataAnalysisModule::m_nECLCalDigitsOutOfTimeBarrel
uint16_t m_nECLCalDigitsOutOfTimeBarrel
Number of out of time, energetic ECLCalDigits, Barrel.
Definition: ECLDataAnalysisModule.h:179
Belle2::ECLDataAnalysisModule::m_eclCalDigitToMCWeight3
std::vector< double > * m_eclCalDigitToMCWeight3
Energy contribution of third MCParticle related to ECLCalDigit.
Definition: ECLDataAnalysisModule.h:208
Belle2::ECLDataAnalysisModule::m_eclShowerZernikeMVA
std::vector< double > * m_eclShowerZernikeMVA
Shower ZernikeMVA.
Definition: ECLDataAnalysisModule.h:494
Belle2::ECLDataAnalysisModule::m_mcPx
std::vector< double > * m_mcPx
MCParticle momentum X direction.
Definition: ECLDataAnalysisModule.h:513
Belle2::ECLDataAnalysisModule::m_eclClusterToMC4PDG
std::vector< int > * m_eclClusterToMC4PDG
PDG code of fourth MCParticle related to ECLCluster.
Definition: ECLDataAnalysisModule.h:280
Belle2::ECLDataAnalysisModule::m_eclClusterEnergyDepSum
std::vector< double > * m_eclClusterEnergyDepSum
ECLCluster simulated energy.
Definition: ECLDataAnalysisModule.h:295
Belle2::ECLDataAnalysisModule::m_eclDigitMultip
int m_eclDigitMultip
Number of ECLDigits per event.
Definition: ECLDataAnalysisModule.h:189
Belle2::ECLDataAnalysisModule::m_trkP
std::vector< double > * m_trkP
Track momentum.
Definition: ECLDataAnalysisModule.h:531
Belle2::ECLDataAnalysisModule::m_eclPureLMType
std::vector< int > * m_eclPureLMType
Local Maximum type, PureCsI option.
Definition: ECLDataAnalysisModule.h:370
Belle2::ECLDataAnalysisModule::m_eclCalDigitSimHitSum
std::vector< double > * m_eclCalDigitSimHitSum
Full energy contribution related to ECLCalDigit.
Definition: ECLDataAnalysisModule.h:217
Belle2::ECLDataAnalysisModule::m_eclShowerSimHitSum
std::vector< double > * m_eclShowerSimHitSum
Full energy contribution related to ECLShower.
Definition: ECLDataAnalysisModule.h:470
Belle2::ECLHit
Class to store simulated hits which equate to average of ECLSImHit on crystals input for digitization...
Definition: ECLHit.h:36
Belle2::ECLDataAnalysisModule::m_eclShowerNumberOfCrystalsForEnergy
std::vector< double > * m_eclShowerNumberOfCrystalsForEnergy
Number of crystals used for energy calculation.
Definition: ECLDataAnalysisModule.h:504
Belle2::ECLDigit::getAmp
int getAmp() const
Get Fitting Amplitude.
Definition: ECLDigit.h:80
Belle2::ECLDataAnalysisModule::m_eclClusterToMCWeight5
std::vector< double > * m_eclClusterToMCWeight5
Energy contribution of 5th MCParticle related to ECLCluster.
Definition: ECLDataAnalysisModule.h:282
Belle2::ECLDataAnalysisModule::m_eclPureClusterEnergyDepSum
std::vector< double > * m_eclPureClusterEnergyDepSum
Cluster simulated energy, PureCsI option.
Definition: ECLDataAnalysisModule.h:404
Belle2::ECLDataAnalysisModule::m_eclLMMultip
int m_eclLMMultip
Local Maxima multiplicity.
Definition: ECLDataAnalysisModule.h:235
Belle2::MCParticle::getMomentum
TVector3 getMomentum() const
Return momentum.
Definition: MCParticle.h:209
Belle2::ECLDataAnalysisModule::m_eclShowerToMC1GMothPDG
std::vector< int > * m_eclShowerToMC1GMothPDG
PDG code of Gparent of first MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:434
Belle2::ECLConnectedRegion::getLikelihoodMergedPi0
float getLikelihoodMergedPi0() const
Get Merged Pi0 likelihood (ECL based only) N3.
Definition: ECLConnectedRegion.h:119
Belle2::ECLDataAnalysisModule::m_eclSimHitToMC
std::vector< int > * m_eclSimHitToMC
Index of MCParticle related to that ECLSimHit.
Definition: ECLDataAnalysisModule.h:242
Belle2::ECLDataAnalysisModule::m_eclPureDigitIdx
std::vector< int > * m_eclPureDigitIdx
ECLDigit index, PureCsI option.
Definition: ECLDataAnalysisModule.h:318
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitToShower
std::vector< int > * m_eclPureCalDigitToShower
Index of ECLShower related to that CalDigit, PureCsI option.
Definition: ECLDataAnalysisModule.h:351
Belle2::ECLDataAnalysisModule::m_eclSimHitFlightTime
std::vector< double > * m_eclSimHitFlightTime
ECLSimhit Flight Time.
Definition: ECLDataAnalysisModule.h:246
Belle2::ECLDataAnalysisModule::m_eclShowerToMC1MothPDG
std::vector< int > * m_eclShowerToMC1MothPDG
PDG code of parent of first MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:432
Belle2::ECLDataAnalysisModule::m_eclShowerToMCWeight4
std::vector< double > * m_eclShowerToMCWeight4
Energy contribution of fourth MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:450
Belle2::ECLDataAnalysisModule::m_eclShowerEnergy
std::vector< double > * m_eclShowerEnergy
Shower Energy.
Definition: ECLDataAnalysisModule.h:472
Belle2::ECLDataAnalysisModule::m_eclPureClusterPhiError
std::vector< double > * m_eclPureClusterPhiError
Cluster error on azimuthal direction, PureCsI option.
Definition: ECLDataAnalysisModule.h:402
Belle2::ECLDataAnalysisModule::m_eclShowerToMC2GMoth
std::vector< int > * m_eclShowerToMC2GMoth
GMother index of second MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:440
Belle2::Const::muon
static const ChargedStable muon
muon particle
Definition: Const.h:534
Belle2::ECLDataAnalysisModule::m_eclPureClusterIdx
std::vector< int > * m_eclPureClusterIdx
ECLCluster index, PureCsI option.
Definition: ECLDataAnalysisModule.h:374
Belle2::ECLDataAnalysisModule::m_eclPureClusterToMC1PDG
std::vector< int > * m_eclPureClusterToMC1PDG
PDG code of first MCParticle related to ECLCluster, PureCsI option.
Definition: ECLDataAnalysisModule.h:378
Belle2::Track
Class that bundles various TrackFitResults.
Definition: Track.h:35
Belle2::ECLDataAnalysisModule::m_mcProdVtxZ
std::vector< double > * m_mcProdVtxZ
MCParticle production vertex Z.
Definition: ECLDataAnalysisModule.h:521
Belle2::ECLDataAnalysisModule::m_eclPureClusterClosestTrackDist
std::vector< double > * m_eclPureClusterClosestTrackDist
Reconstructed Distance to Closest Track, PureCsI option.
Definition: ECLDataAnalysisModule.h:415
Belle2::MCParticle
A Class to store the Monte Carlo particle information.
Definition: MCParticle.h:43
Belle2::ECLDataAnalysisModule::m_eclShowerR
std::vector< double > * m_eclShowerR
Shower R.
Definition: ECLDataAnalysisModule.h:475
Belle2::ECLDataAnalysisModule::m_eclpidEop
std::vector< double > * m_eclpidEop
PID track E/p.
Definition: ECLDataAnalysisModule.h:540
Belle2::ECLDataAnalysisModule::m_eclShowerToMC5MothPDG
std::vector< int > * m_eclShowerToMC5MothPDG
PDG code of parent of fifth MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:460
Belle2::ECLCluster::getUncertaintyEnergy
double getUncertaintyEnergy() const
Return Uncertainty on Energy of Shower.
Definition: ECLCluster.h:341
Belle2::ECLDataAnalysisModule::m_eclShowerIsCluster
std::vector< bool > * m_eclShowerIsCluster
Shower Cluster Match.
Definition: ECLDataAnalysisModule.h:498
Belle2::ECLDataAnalysisModule::m_eclCalDigitToCR
std::vector< int > * m_eclCalDigitToCR
Index of CR related to that ECLCalDigit.
Definition: ECLDataAnalysisModule.h:223
Belle2::ECLDataAnalysisModule::m_eclClusterHighestE
std::vector< double > * m_eclClusterHighestE
Highest energy deposit (per crystal) in ECLCluster.
Definition: ECLDataAnalysisModule.h:299
Belle2::ECLDataAnalysisModule::m_eclClusterToMCWeight4
std::vector< double > * m_eclClusterToMCWeight4
Energy contribution of fourth MCParticle related to ECLCluster.
Definition: ECLDataAnalysisModule.h:279
Belle2::ECLConnectedRegion
Class to store connected regions (CRs)
Definition: ECLConnectedRegion.h:31
Belle2::ECLDataAnalysisModule::m_eclClusterPhi
std::vector< double > * m_eclClusterPhi
ECLCluster azimuthal direction.
Definition: ECLDataAnalysisModule.h:292
Belle2::ECLDataAnalysisModule::m_eclPureCRLikelihoodNGamma
std::vector< double > * m_eclPureCRLikelihoodNGamma
Connected Region Gamma Likelihood, PureCsI option.
Definition: ECLDataAnalysisModule.h:364
Belle2::ECLDataAnalysisModule::m_eclPureCRLikelihoodNeutralHadron
std::vector< double > * m_eclPureCRLikelihoodNeutralHadron
Connected Region Neutral Hadron Likelihood, PureCsI option.
Definition: ECLDataAnalysisModule.h:365
Belle2::ECLDataAnalysisModule::m_eclSimHitPx
std::vector< double > * m_eclSimHitPx
ECLSimHit PX.
Definition: ECLDataAnalysisModule.h:250
Belle2::ECLDataAnalysisModule::m_eclDigitAmp
std::vector< int > * m_eclDigitAmp
ECLDigit amplitude.
Definition: ECLDataAnalysisModule.h:193
Belle2::ECLDataAnalysisModule::m_eclPureClusterThetaError
std::vector< double > * m_eclPureClusterThetaError
Cluster error on polar direction, PureCsI option.
Definition: ECLDataAnalysisModule.h:400
Belle2::ECLDataAnalysisModule::m_eclPureClusterE1oE9
std::vector< double > * m_eclPureClusterE1oE9
Reconstructed E1oE9, PureCsI option.
Definition: ECLDataAnalysisModule.h:420
Belle2::ECLDataAnalysisModule::m_eclCalDigitToMC4
std::vector< int > * m_eclCalDigitToMC4
Index of fourth MCParticle related to ECLCalDigit.
Definition: ECLDataAnalysisModule.h:209
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitToMC3PDG
std::vector< int > * m_eclPureCalDigitToMC3PDG
PDG code of third MCParticle related to CalDigit, PureCsI option.
Definition: ECLDataAnalysisModule.h:337
Belle2::ECLDataAnalysisModule::m_eclHitToDigitAmp
std::vector< int > * m_eclHitToDigitAmp
Amplitude of ECLDigit related to ECLHit.
Definition: ECLDataAnalysisModule.h:258
Belle2::ECLDataAnalysisModule::m_eclSimHitPz
std::vector< double > * m_eclSimHitPz
ECLSimHit PZ.
Definition: ECLDataAnalysisModule.h:252
Belle2::ECLDataAnalysisModule::m_eclSimHitMultip
int m_eclSimHitMultip
Number of ECLSimHits per event.
Definition: ECLDataAnalysisModule.h:240
Belle2::ECLDataAnalysisModule::m_eclShowerToMC4PDG
std::vector< int > * m_eclShowerToMC4PDG
PDG code of fourth MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:451
Belle2::ECLDataAnalysisModule::m_mcProdVtxY
std::vector< double > * m_mcProdVtxY
MCParticle production vertex Y.
Definition: ECLDataAnalysisModule.h:520
Belle2::ECLDataAnalysisModule::m_eclHitToPureDigitAmp
std::vector< int > * m_eclHitToPureDigitAmp
Amplitude of ECLDigit related to ECLHit, PureCsI option.
Definition: ECLDataAnalysisModule.h:260
Belle2::ECLDataAnalysisModule::m_eclClusterAbsZernike51
std::vector< double > * m_eclClusterAbsZernike51
Reconstructed Abs Zernike51.
Definition: ECLDataAnalysisModule.h:307
Belle2::ECLDataAnalysisModule::m_eclClusterToMC2PDG
std::vector< int > * m_eclClusterToMC2PDG
PDG code of second MCParticle related to ECLCluster.
Definition: ECLDataAnalysisModule.h:274
Belle2::ECLCluster::getDetectorRegion
int getDetectorRegion() const
Return detector region: 0: below acceptance, 1: FWD, 2: BRL, 3: BWD, 11: FWDGAP, 13: BWDGAP.
Definition: ECLCluster.cc:68
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitToMC2PDG
std::vector< int > * m_eclPureCalDigitToMC2PDG
PDG code of second MCParticle related to CalDigit, PureCsI option.
Definition: ECLDataAnalysisModule.h:333
Belle2::ECLDataAnalysisModule::m_trkPz
std::vector< double > * m_trkPz
Track momentum along Z direction.
Definition: ECLDataAnalysisModule.h:530
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitToMCWeight4
std::vector< double > * m_eclPureCalDigitToMCWeight4
Energy contribution of fourth MCParticle related to CalDigit, PureCsI option.
Definition: ECLDataAnalysisModule.h:343
Belle2::ECLDataAnalysisModule::m_eclpidEnergy
std::vector< double > * m_eclpidEnergy
PID track energy.
Definition: ECLDataAnalysisModule.h:539
Belle2::ECLShower::getR
double getR() const
Get R.
Definition: ECLShower.h:306
Belle2::ECLDataAnalysisModule::m_eclCalDigitFitQuality
std::vector< int > * m_eclCalDigitFitQuality
ECLCalDigit fit quality.
Definition: ECLDataAnalysisModule.h:222
Belle2::ECLDataAnalysisModule::m_eclSimHitIdx
std::vector< int > * m_eclSimHitIdx
Index of ECLSimHit.
Definition: ECLDataAnalysisModule.h:241
Belle2::ECLHit::getTimeAve
double getTimeAve() const
Get average time.
Definition: ECLHit.h:86
Belle2::ECLDataAnalysisModule::m_eclPureLMCellId
std::vector< int > * m_eclPureLMCellId
Local Maximum Cell ID, PureCsI option.
Definition: ECLDataAnalysisModule.h:371
Belle2::ECLDataAnalysisModule::m_eclClusterTrueMultip
int m_eclClusterTrueMultip
Number of ECLClusters per event.
Definition: ECLDataAnalysisModule.h:266
Belle2::ECLDataAnalysisModule::m_eclShowerToMC5Moth
std::vector< int > * m_eclShowerToMC5Moth
Mother index of fifth MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:459
Belle2::ECLDataAnalysisModule::m_eclShowerMultip
int m_eclShowerMultip
Number of ECLShowers per event.
Definition: ECLDataAnalysisModule.h:426
Belle2::ECLDataAnalysisModule::m_mcParticles
StoreArray< MCParticle > m_mcParticles
MCParticles StoreArray.
Definition: ECLDataAnalysisModule.h:166
Belle2::ECLDataAnalysisModule::m_eclClusterToMC5
std::vector< int > * m_eclClusterToMC5
Index of fifth MCParticle related to ECLCluster.
Definition: ECLDataAnalysisModule.h:281
Belle2::ECLDataAnalysisModule::m_eclShowerToMCWeight5
std::vector< double > * m_eclShowerToMCWeight5
Energy contribution of fifth MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:457
Belle2::ECLDataAnalysisModule::m_eclShowerToMCWeight2
std::vector< double > * m_eclShowerToMCWeight2
Energy contribution of second MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:436
Belle2::ECLDataAnalysisModule::m_eclClusterE9oE21
std::vector< double > * m_eclClusterE9oE21
Ratio of 3x3 over 5x5 crystal matrices energies for ECLCluster.
Definition: ECLDataAnalysisModule.h:298
Belle2::ECLDataAnalysisModule::m_eclCalDigitToMC3
std::vector< int > * m_eclCalDigitToMC3
Index of third MCParticle related to ECLCalDigit.
Definition: ECLDataAnalysisModule.h:206
Belle2::ECLDataAnalysisModule::m_eclShowerToMC3GMothPDG
std::vector< int > * m_eclShowerToMC3GMothPDG
PDG code of Gparent of third MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:448
Belle2::ECLDataAnalysisModule::m_eclClusterTimingError
std::vector< double > * m_eclClusterTimingError
ECLCluster time error.
Definition: ECLDataAnalysisModule.h:297
Belle2::ECLDataAnalysisModule::eclPureLocalMaximumArrayName
virtual const char * eclPureLocalMaximumArrayName() const
Default name ECLPureLocalMaxima array.
Definition: ECLDataAnalysisModule.h:163
Belle2::ECLDataAnalysisModule::m_eclClusterDeltaL
std::vector< double > * m_eclClusterDeltaL
Reconstructed Cluster DeltaL.
Definition: ECLDataAnalysisModule.h:305
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitAmp
std::vector< double > * m_eclPureCalDigitAmp
CalDigit amplitude, PureCsI option.
Definition: ECLDataAnalysisModule.h:353
Belle2::ECLDataAnalysisModule::m_eclShowerToMC2Moth
std::vector< int > * m_eclShowerToMC2Moth
Mother index of first MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:438
Belle2::ECLDataAnalysisModule::m_eclClusterR
std::vector< double > * m_eclClusterR
ECLCluster distance from IP.
Definition: ECLDataAnalysisModule.h:294
Belle2::StoreArray::getEntries
int getEntries() const
Get the number of objects in the array.
Definition: StoreArray.h:226
Belle2::ECLDataAnalysisModule::m_eclPureClusterToBkgWeight
std::vector< double > * m_eclPureClusterToBkgWeight
Remaining energy contribution not associated to first five MCParticles related to ECLCluster,...
Definition: ECLDataAnalysisModule.h:396
Belle2::ECLDataAnalysisModule::m_eclLogLikeEl
std::vector< double > * m_eclLogLikeEl
PID track electron likelyhood.
Definition: ECLDataAnalysisModule.h:544
Belle2::ECLDataAnalysisModule::m_eclLogLikePi
std::vector< double > * m_eclLogLikePi
PID track pion likelyhood.
Definition: ECLDataAnalysisModule.h:546
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitTimeFit
std::vector< double > * m_eclPureCalDigitTimeFit
CalDigit timing, PureCsI option.
Definition: ECLDataAnalysisModule.h:354
Belle2::ECLDataAnalysisModule::m_eclPureCRLikelihoodMIPNGamma
std::vector< double > * m_eclPureCRLikelihoodMIPNGamma
Connected Region MIP Likelihood, PureCsI option.
Definition: ECLDataAnalysisModule.h:361
Belle2::ECLDataAnalysisModule::m_eclCalDigitToMC1
std::vector< int > * m_eclCalDigitToMC1
Index of first MCParticle related to ECLCalDigit.
Definition: ECLDataAnalysisModule.h:200
Belle2::TrackFitResult::getChargeSign
short getChargeSign() const
Return track charge (1 or -1).
Definition: TrackFitResult.h:160
Belle2::ECLDataAnalysisModule::m_mcGMothPdg
std::vector< int > * m_mcGMothPdg
MCParticle grandmother particle PDG code.
Definition: ECLDataAnalysisModule.h:510
Belle2::ECLDataAnalysisModule::m_nECLShowersRejectedBarrel
uint8_t m_nECLShowersRejectedBarrel
Number of photon showers that are rejected before storing to mdst (max.
Definition: ECLDataAnalysisModule.h:185
Belle2::ECLDataAnalysisModule::m_mcDecayVtxX
std::vector< double > * m_mcDecayVtxX
MCParticle decay vertex X.
Definition: ECLDataAnalysisModule.h:516
Belle2::ECLShower::getConnectedRegionId
int getConnectedRegionId() const
Get Connected region Id.
Definition: ECLShower.h:271
Belle2::ECLDataAnalysisModule::m_eclPureCalDigits
StoreArray< ECLCalDigit > m_eclPureCalDigits
Store array: ECLPureCalDigit.
Definition: ECLDataAnalysisModule.h:137
Belle2::ECLDataAnalysisModule::m_eclShowerHighestE1mE2
std::vector< double > * m_eclShowerHighestE1mE2
Energy difference for 2 highest energy deposits in shower.
Definition: ECLDataAnalysisModule.h:503
Belle2::ECLDataAnalysisModule::m_eclClusterToMCWeight1
std::vector< double > * m_eclClusterToMCWeight1
Energy contribution of first MCParticle related to ECLCluster.
Definition: ECLDataAnalysisModule.h:270
Belle2::ECLDataAnalysisModule::m_trkPhi
std::vector< double > * m_trkPhi
Track azimuthal direction.
Definition: ECLDataAnalysisModule.h:533
Belle2::ECLShower::getMinTrkDistance
double getMinTrkDistance() const
Get distance to closest Track.
Definition: ECLShower.h:356
Belle2::ECLDataAnalysisModule::m_eclClusterTheta
std::vector< double > * m_eclClusterTheta
ECLCluster polar direction.
Definition: ECLDataAnalysisModule.h:290
Belle2::ECLDataAnalysisModule::m_eclPureClusterHasNPhotonHypothesis
std::vector< int > * m_eclPureClusterHasNPhotonHypothesis
Cluster has n-photon hypothesis, PureCsI option.
Definition: ECLDataAnalysisModule.h:423
Belle2::ECLDataAnalysisModule::m_eclPureCRLikelihoodChargedHadron
std::vector< double > * m_eclPureCRLikelihoodChargedHadron
Connected Region Charged Hadron Likelihood, PureCsI option.
Definition: ECLDataAnalysisModule.h:362
Belle2::ECLDataAnalysisModule::m_eclSimHitEnergyDep
std::vector< double > * m_eclSimHitEnergyDep
Energy deposition of ECLSimHit.
Definition: ECLDataAnalysisModule.h:245
Belle2::ECLDataAnalysisModule::m_eclShowerPhiError
std::vector< double > * m_eclShowerPhiError
Shower Phi Error.
Definition: ECLDataAnalysisModule.h:485
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitToBkgWeight
std::vector< double > * m_eclPureCalDigitToBkgWeight
Remaining energy contribution not associated to first five MCParticles related to CalDigit,...
Definition: ECLDataAnalysisModule.h:349
Belle2::ECLDataAnalysisModule::m_eclPureCalDigitToMC1
std::vector< int > * m_eclPureCalDigitToMC1
Index of first MCParticle related to CalDigit, PureCsI option.
Definition: ECLDataAnalysisModule.h:328
Belle2::ECLCluster::getMinTrkDistance
double getMinTrkDistance() const
Get distance between cluster COG and track extrapolation to ECL.
Definition: ECLCluster.h:277
Belle2::ECLDataAnalysisModule::m_eclCalDigitToMCWeight5
std::vector< double > * m_eclCalDigitToMCWeight5
Energy contribution of fifth MCParticle related to ECLCalDigit.
Definition: ECLDataAnalysisModule.h:214
Belle2::ECLDataAnalysisModule::m_eclShowerHighestEnergy
std::vector< double > * m_eclShowerHighestEnergy
Shower Highest Energy Crystal Energy.
Definition: ECLDataAnalysisModule.h:487
Belle2::ECLDataAnalysisModule::m_eclShowerToMCWeight1
std::vector< double > * m_eclShowerToMCWeight1
Energy contribution of first MCParticle related to ECLShower.
Definition: ECLDataAnalysisModule.h:429
Belle2::ECLShower
Class to store ECL Showers.
Definition: ECLShower.h:42
Belle2::ECLDataAnalysisModule::m_eclShowerToLM5
std::vector< int > * m_eclShowerToLM5
Index of 5th maximum related to ECLShower.
Definition: ECLDataAnalysisModule.h:469