 |
Belle II Software
release-05-01-25
|
14 #include <calibration/CalibrationCollectorModule.h>
17 #include <framework/database/DBObjPtr.h>
18 #include <framework/datastore/StoreArray.h>
19 #include <analysis/utility/PCmsLabTransform.h>
22 #include <ecl/geometry/ECLNeighbours.h>
29 class ECLCrystalCalib;
38 class eclee5x5CollectorModule :
public CalibrationCollectorModule {
bool m_requireL1
require events to satisfy a level 1 trigger (false)
StoreObjPtr< TRGSummary > m_TRGResults
dataStore TRGSummary
eclee5x5CollectorModule()
Constructor: Sets the description, the properties and the parameters of the module.
double m_minE1
minimum energy of cluster 1: E*1/sqrts (0.40)
DBObjPtr< ECLCrystalCalib > m_selectdPhiData
dPhi cut
bool m_useCalDigits
use eclCalDigit to determine MC deposited energy (false)
std::vector< float > EperCrys
Energy for each crystal from ECLDigit or ECLCalDigit (GeV)
StoreArray< ECLCalDigit > m_eclCalDigitArray
Required input array of ECLCalDigits.
double m_dPhiScale
scale dPhi* cut by this factor (1)
bool storeCalib
force the input calibration constants to be saved first event
double m_thetaLabMinDeg
Parameters to control the job.
std::vector< float > meandPhi
mean requirement on dPhi from DB object
StoreArray< ECLDigit > m_eclDigitArray
Required input array of ECLDigits.
void prepare() override
Define histograms and read payloads from DB.
std::vector< float > ElectronicsCalib
vector obtained from DB object
std::vector< float > Expee5x5E
vector of energies obtained from DB object
std::vector< float > ee5x5Calib
vector obtained from DB object
void collect() override
Select events and crystals and accumulate histograms.
Class for accessing objects in the database.
DBObjPtr< ECLCrystalCalib > m_ElectronicsCalib
Electronics calibration from database.
std::vector< float > m_dPhiMin
minimum dPhi* as a function of thetaID
DBObjPtr< ECLCrystalCalib > m_selectdPhiMC
DB object for MC.
ECL::ECLNeighbours * m_eclNeighbours5x5
Neighbour map of 25 crystals.
Class to get the neighbours for a given cell id.
double m_thetaLabMaxDeg
maximum ecl cluster theta in lab (150 degrees)
StoreArray< ECLCluster > m_eclClusterArray
Required arrays.
Abstract base class for different kinds of events.
double m_maxTime
maximum cluster time diff abs(t1-t0)/dt99 (10)
Type-safe access to single objects in the data store.
std::vector< float > Expee5x5Sigma
vector of sigmaE obtained from DB object
StoreObjPtr< EventMetaData > m_evtMetaData
dataStore EventMetaData
std::vector< int > m_thetaID
thetaID of each crystal
double m_minE0
minimum energy of cluster 0: E*0/sqrts (0.45)
double m_thetaLabMax
m_thetaLabMaxDeg converted to radians
double m_sqrts
sqrt s from m_boostrotate
std::vector< float > widthdPhi
width of requirement on dPhi from DB object
double m_thetaLabMin
Some other useful quantities.
DBObjPtr< ECLCrystalCalib > m_ECLExpee5x5E
Expected energies from database.
double m_maxdThetaSum
abs(theta0* + theta1* - 180 deg) must be less than less (2 deg)
std::vector< float > m_dPhiMax
maximum dPhi* as a function of thetaID
Accessor to arrays stored in the data store.
DBObjPtr< ECLCrystalCalib > m_ee5x5Calib
Existing single crystal calibration from DB; will be updated by CAF.
PCmsLabTransform m_boostrotate
boost from COM to lab and visa versa