 |
Belle II Software
release-05-02-19
|
20 #include <framework/core/Module.h>
21 #include <framework/datastore/StoreArray.h>
22 #include <framework/gearbox/Unit.h>
23 #include <framework/geometry/B2Vector3.h>
38 class ECLLocalMaximum;
39 class ECLConnectedRegion;
66 virtual void event()
override;
69 virtual void endRun()
override;
94 {
return "MCParticles" ; }
98 {
return "ECLHits" ; }
102 {
return "ECLDigits" ; }
106 {
return "ECLCalDigits" ; }
110 {
return "ECLConnectedRegions" ; }
114 {
return "ECLLocalMaximums" ; }
126 void addToSignalEnergy(
int& motherpdg,
int& motherindex,
int& pi0index,
const double& weight);
138 void getMax(
int& maxtype,
int& maxpos);
207 {
return "ECLDigitsPureCsI" ; }
211 {
return "ECLCalDigitsPureCsI" ; }
215 {
return "ECLConnectedRegionsPureCsI" ; }
219 {
return "ECLLocalMaximumsPureCsI" ; }
float m_timeResolution
time resolution
int getIdPosition(const int type, const int id)
Get Id position in the vector.
Class to find connected regions, pureCsI version.
double m_energyCut
energy cut for seed
const double c_minEnergyCut
Minimum LM energy.
TTree * m_tree
tree that contain information for MVA training
float m_timeFitFailed
failed fit
ECL::ECLGeometryPar * m_geom
Geometry.
double m_truthFraction
MC truth fraction.
virtual void beginRun() override
Begin.
StoreArray< ECLDigit > m_eclDigits
Store array: ECLDigit.
const static unsigned c_nMaxNeighbours
Variables (possibly) used for MVA classification.
virtual const char * eclDigitArrayName() const override
Name to be used for PureCsI option: ECLHitsPureCsI.
double m_cutOffset
cut offset
float m_cellId
local maximum center cell Id
void addToSignalEnergy(int &motherpdg, int &motherindex, int &pi0index, const double &weight)
Add energy to vector.
ECL::ECLNeighbours * m_neighbourMap
Neighbour maps.
StoreArray< MCParticle > m_mcParticles
Store array: MCParticle.
ECLLocalMaximumFinderModule()
Constructor.
virtual void terminate() override
Terminate (close ROOT files here if you have opened any).
float m_maxEnergyRatio
Highest energetic neighbour energy divided by LM energy.
virtual const char * eclCalDigitArrayName() const override
Name to be used for PureCsI option: ECLCalDigitsPureCsI.
StoreArray< ECLHit > m_eclHits
Store array: ECLHit.
void resetTrainingVariables()
Reset Debug Variables.
virtual void event() override
Event.
void getEnteringMother(const MCParticle &particle, int &pdg, int &arrayindex, int &pi0arrayindex)
Get enterging mother of this particle.
float m_target
MC truth variables.
virtual const char * eclDigitArrayName() const
Name to be used for default or PureCsI option: ECLDigits.
float m_energy
Variables to monitor the MVA training.
static const double MeV
[megaelectronvolt]
StoreArray< ECLLocalMaximum > m_eclLocalMaximums
Store array: ECLLocalMaximum.
virtual const char * eclConnectedRegionArrayName() const
Name to be used for default option: ECLConnectedRegions.
Class to get the neighbours for a given cell id.
bool isEnteringECL(const B2Vector3D &vec)
Check if particle is produced outside of the ECL.
virtual ~ECLLocalMaximumFinderModule()
Destructor.
Abstract base class for different kinds of events.
void resetClassifierVariables()
Reset Classifier Variables.
virtual const char * mcParticleArrayName() const
MCParticles.
virtual const char * eclLocalMaximumArrayName() const override
Name to be used for PureCsI option: ECLLocalMaximumsPureCsI.
float m_maxNeighbourEnergy
highest energy of all neighbours
double m_cutRatioCorrection
correction for nominator and denominator of the ratio.
virtual void initialize() override
Initialize.
TFile * m_outfile
Output training files and trees.
int m_isTrainingMode
training mode for MVA methods (i.e.
virtual const char * eclCalDigitArrayName() const
Name to be used for default or PureCsI option: ECLCalDigits.
Class to find connected regions.
float m_targetpi0index
target array index
virtual const char * eclConnectedRegionArrayName() const override
Name to be used for PureCsI option: ECLConnectedRegionsPureCsI.
float m_nNeighbours10
Variables (possibly) used for cut classification.
void getMax(int &maxtype, int &maxpos)
Get the highest energy deposition particle type.
void makeLocalMaximum(const ECLConnectedRegion &aCR, const int cellId, const int lmId)
Make local maximum for a given connected region.
virtual const char * eclLocalMaximumArrayName() const
Name to be used for default option: ECLLocalMaximums.
StoreArray< ECLConnectedRegion > m_eclConnectedRegions
Store array: ECLConnectedRegion.
std::vector< int > m_StoreArrPosition
vector (8736+1 entries) with cell id to store array positions
float m_targetindex
target array index
int m_signalId[10][5]
total energy per MC matching type of this digit
The Class for ECL Geometry Parameters.
A Class to store the Monte Carlo particle information.
Class to store connected regions (CRs)
virtual const char * eclHitArrayName() const
Name to be used for default or PureCsI option: ECLHits.
float m_phiId
local maximum center theta Id
double m_totalSignalEnergy
total energy of this digit
double m_signalEnergy[10][5]
total energy per MC matching type of this digit
StoreArray< ECLCalDigit > m_eclCalDigits
Store array: ECLCalDigit.
std::string m_method
Method to find the local maximum.
double m_cutSlope
cut slope.
virtual void endRun() override
End run.
float m_energyRatioNeighbour[c_nMaxNeighbours]
energy ratio of neighbour 0..9 to center
float m_thetaId
local maximum center theta Id
std::string m_outfileName
file name prefix of the training output file