 |
Belle II Software
release-05-02-19
|
26 #include <framework/core/Module.h>
27 #include <framework/gearbox/Unit.h>
28 #include <framework/datastore/StoreArray.h>
29 #include <framework/datastore/StoreObjPtr.h>
41 class ECLConnectedRegion;
43 class ECLLocalMaximum;
44 class EventLevelClusteringInfo;
71 virtual void event()
override;
74 virtual void endRun()
override;
120 const unsigned short c_nSectorCellIdFWD[13] = {3, 3, 4, 4, 4, 6, 6, 6, 6, 6, 6, 9, 9};
123 const unsigned short c_crystalsPerRing[69] = {48, 48, 64, 64, 64, 96, 96, 96, 96, 96, 96, 144, 144,
124 144, 144, 144, 144, 144, 144, 144,
125 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
126 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
127 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
128 144, 144, 144, 144, 144, 144, 144, 144, 144,
129 144, 144, 96, 96, 96, 96, 96, 64, 64, 64
162 {
return "ECLCalDigits" ; }
166 {
return "ECLConnectedRegions" ; }
170 {
return "ECLLocalMaximums" ; }
174 {
return "ECLShowers" ; }
178 {
return "EventLevelClusteringInfo" ; }
193 double getEnergySum(std::vector < std::pair<double, double> >& weighteddigits,
const unsigned int n);
206 {
return "ECLCalDigitsPureCsI" ; }
210 {
return "ECLConnectedRegionsPureCsI" ; }
214 {
return "ECLLocalMaximumsPureCsI" ; }
218 {
return "ECLShowersPureCsI" ; }
222 {
return "EventLevelClusteringInfoPureCsI" ; }
TFile * m_fileBackgroundNorm
Background normalization file.
std::vector< int > m_cellIdInCR
list with all cellid of this connected region
static const double cm
Standard units with the value = 1.
virtual const char * eclConnectedRegionArrayName() const
Default name ECLConnectedRegions.
virtual void event() override
Event.
Class to perform the shower correction.
int m_maxIterations
Maximum number of iterations.
double estimateEnergy(const int centerid)
Estimate energy using 3x3 around central crystal.
int m_fullBkgdCount
Number of expected background digits at full background, FIXME: move to database.
ECLSplitterN1Module()
Constructor.
double getEnergySum(std::vector< std::pair< double, double > > &weighteddigits, const unsigned int n)
Get energy sum for weighted entries.
double m_shiftTolerance
Tolerance level for centroid shifts.
virtual void beginRun() override
Begin run.
std::string m_positionMethod
Position calculation: lilo or linear.
TGraph2D * m_tg2dNOptimalFWD[13][9]
Array of 2D graphs used for interpolation between background and energy.
ECL::ECLNeighbours * m_NeighbourMap21
5x5 neighbours excluding corners = 21
double m_cutDigitEnergyForEnergy
Minimum digit energy to be included in the shower energy calculation.
double m_liloParameterA
lin-log parameter A
TFile * m_fileNOptimalFWD
FWD number of optimal neighbours.
virtual const char * eclCalDigitArrayName() const
Default name ECLCalDigits.
std::string m_fileNOptimalBWDName
BWD number of optimal neighbours filename.
~ECLSplitterN1Module()
Destructor.
virtual const char * eventLevelClusteringInfoName() const
Name to be used for default option: EventLevelClusteringInfo.
virtual const char * eclConnectedRegionArrayName() const override
PureCsI name ECLConnectedRegionsPureCsI.
TFile * m_fileNOptimalBWD
BWD number of optimal neighbours.
const unsigned short c_nSectorCellIdFWD[13]
crystals per sector for theta rings
StoreArray< ECLLocalMaximum > m_eclLocalMaximums
Store array: ECLLocalMaximum.
int m_useOptimalNumberOfDigitsForEnergy
Optimize the number of neighbours for energy calculations.
double m_cutDigitTimeResidualForEnergy
Maximum time residual to be included in the shower energy calculation.
StoreArray< ECLCalDigit > m_eclCalDigits
Store array: ECLCalDigit.
std::string m_fileNOptimalBarrelName
Barrel number of optimal neighbours filename.
double m_liloParameterC
lin-log parameter C
const double c_molierRadius
Constant RM (Molier Radius) from exp(-a*dist/RM), http://pdg.lbl.gov/2009/AtomicNuclearProperties/HTM...
const unsigned short c_crystalsPerRing[69]
Number of crystals per theta ring.
std::vector< int > m_StoreArrPosition
vector (8736+1 entries) with cell id to store array positions
Class to get the neighbours for a given cell id.
Abstract base class for different kinds of events.
Type-safe access to single objects in the data store.
TGraph2D * m_tg2dNOptimalBWD[10][9]
Array of 2D graphs used for interpolation between background and energy.
virtual const char * eclLocalMaximumArrayName() const override
PureCsI name ECLLocalMaximumsPureCsI.
std::vector< int > m_StoreArrPositionLM
vector (8736+1 entries) with cell id to store array positions for LM
std::string m_fileBackgroundNormName
Background normalization filename.
TH1F * m_th1fBackgroundNorm
Background normalization histogram.
std::string m_fileNOptimalFWDName
FWD number of optimal neighbours filename.
virtual void endRun() override
End run.
virtual const char * eclShowerArrayName() const
Default name ECLShowers.
StoreArray< ECLShower > m_eclShowers
Store array: ECLShower.
unsigned int getOptimalNumberOfDigits(const int cellid, const double energy, const double background)
Get optimal number of digits (out of 21) based on first energy estimation and background level per ev...
ECL::ECLNeighbours * m_NeighbourMap9
Neighbour maps.
double m_liloParameterB
lin-log parameter B
std::vector< double > m_liloParameters
lin-log parameters A, B, and C
double m_minimumSharedEnergy
Minimum shared energy.
The very same module but for PureCsI.
StoreObjPtr< EventLevelClusteringInfo > m_eventLevelClusteringInfo
Store object pointer: EventLevelClusteringInfo.
const unsigned short c_nSectorCellIdBWD[10]
crystals per sector for theta rings
int getNeighbourMap(const double energy, const double background)
Get number of neighbours based on first energy estimation and background level per event.
double m_expConstant
Constant a from exp(-a*dist/RM), 1.5 to 2.5.
double m_threshold
Local maximum threshold after splitting.
virtual const char * eclCalDigitArrayName() const override
PureCsI name ECLCalDigitsPureCsI.
The Class for ECL Geometry Parameters.
void splitConnectedRegion(ECLConnectedRegion &aCR)
Split connected region into showers.
virtual const char * eclShowerArrayName() const override
PureCsI name ECLShowersPureCsI.
virtual const char * eclLocalMaximumArrayName() const
Default name ECLLocalMaximums.
Accessor to arrays stored in the data store.
Class to store connected regions (CRs)
StoreArray< ECLConnectedRegion > m_eclConnectedRegions
Store array: ECLConnectedRegion.
int m_maxSplits
Maximum number of splits.
TFile * m_fileNOptimalBarrel
Barrel number of optimal neighbours.
virtual void initialize() override
Initialize.
virtual void terminate() override
Terminate.
TGraph2D * m_tg2dNOptimalBarrel
Array of 2D graphs used for interpolation between background and energy.
ECL::ECLGeometryPar * m_geom
Geometry.
virtual const char * eventLevelClusteringInfoName() const override
Name to be used for PureCsI option: EventLevelClusteringInfoPureCsI.