Belle II Software  release-05-01-25
eclee5x5CollectorModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2018 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Christopher Hearty *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 //Calibration
14 #include <calibration/CalibrationCollectorModule.h>
15 
16 //Framework
17 #include <framework/database/DBObjPtr.h>
18 #include <framework/datastore/StoreArray.h>
19 #include <analysis/utility/PCmsLabTransform.h>
20 
21 //ECL
22 #include <ecl/geometry/ECLNeighbours.h>
23 
24 namespace Belle2 {
29  class ECLCrystalCalib;
30  class TRGSummary;
31  class EventMetaData;
32  class ECLCluster;
33  class ECLCalDigit;
34  class ECLDigit;
35 
36 
38  class eclee5x5CollectorModule : public CalibrationCollectorModule {
39 
40  public:
41 
44 
46  void prepare() override;
47 
49  void collect() override;
50 
51  private:
53  double m_thetaLabMinDeg;
54  double m_thetaLabMaxDeg;
55  double m_minE0;
56  double m_minE1;
57  double m_maxdThetaSum;
58  double m_dPhiScale;
59  double m_maxTime;
60  bool m_useCalDigits;
61  bool m_requireL1;
71  double m_thetaLabMin = 0.;
72  double m_thetaLabMax = 0.;
73  std::vector<float> m_dPhiMin;
74  std::vector<float> m_dPhiMax;
75  bool storeCalib = true;
76  std::vector<float> EperCrys;
79  double m_sqrts = 10.58;
80  std::vector<int> m_thetaID;
84  std::vector<float> Expee5x5E;
85  std::vector<float> Expee5x5Sigma;
89  std::vector<float> ElectronicsCalib;
93  std::vector<float> ee5x5Calib;
98  std::vector<float> meandPhi;
99  std::vector<float> widthdPhi;
101  };
103 }
Belle2::eclee5x5CollectorModule::m_requireL1
bool m_requireL1
require events to satisfy a level 1 trigger (false)
Definition: eclee5x5CollectorModule.h:69
Belle2::eclee5x5CollectorModule::m_TRGResults
StoreObjPtr< TRGSummary > m_TRGResults
dataStore TRGSummary
Definition: eclee5x5CollectorModule.h:76
Belle2::eclee5x5CollectorModule::eclee5x5CollectorModule
eclee5x5CollectorModule()
Constructor: Sets the description, the properties and the parameters of the module.
Definition: eclee5x5CollectorModule.cc:48
Belle2::eclee5x5CollectorModule::m_minE1
double m_minE1
minimum energy of cluster 1: E*1/sqrts (0.40)
Definition: eclee5x5CollectorModule.h:64
Belle2::eclee5x5CollectorModule::m_selectdPhiData
DBObjPtr< ECLCrystalCalib > m_selectdPhiData
dPhi cut
Definition: eclee5x5CollectorModule.h:104
Belle2::eclee5x5CollectorModule::m_useCalDigits
bool m_useCalDigits
use eclCalDigit to determine MC deposited energy (false)
Definition: eclee5x5CollectorModule.h:68
Belle2::eclee5x5CollectorModule::EperCrys
std::vector< float > EperCrys
Energy for each crystal from ECLDigit or ECLCalDigit (GeV)
Definition: eclee5x5CollectorModule.h:84
Belle2::eclee5x5CollectorModule::m_eclCalDigitArray
StoreArray< ECLCalDigit > m_eclCalDigitArray
Required input array of ECLCalDigits.
Definition: eclee5x5CollectorModule.h:73
Belle2::eclee5x5CollectorModule::m_dPhiScale
double m_dPhiScale
scale dPhi* cut by this factor (1)
Definition: eclee5x5CollectorModule.h:66
Belle2::eclee5x5CollectorModule::storeCalib
bool storeCalib
force the input calibration constants to be saved first event
Definition: eclee5x5CollectorModule.h:83
Belle2::eclee5x5CollectorModule::m_thetaLabMinDeg
double m_thetaLabMinDeg
Parameters to control the job.
Definition: eclee5x5CollectorModule.h:61
Belle2::eclee5x5CollectorModule::meandPhi
std::vector< float > meandPhi
mean requirement on dPhi from DB object
Definition: eclee5x5CollectorModule.h:106
Belle2::eclee5x5CollectorModule::m_eclDigitArray
StoreArray< ECLDigit > m_eclDigitArray
Required input array of ECLDigits.
Definition: eclee5x5CollectorModule.h:74
Belle2::eclee5x5CollectorModule::prepare
void prepare() override
Define histograms and read payloads from DB.
Definition: eclee5x5CollectorModule.cc:70
Belle2::eclee5x5CollectorModule::ElectronicsCalib
std::vector< float > ElectronicsCalib
vector obtained from DB object
Definition: eclee5x5CollectorModule.h:97
Belle2::eclee5x5CollectorModule::Expee5x5E
std::vector< float > Expee5x5E
vector of energies obtained from DB object
Definition: eclee5x5CollectorModule.h:92
Belle2::eclee5x5CollectorModule::ee5x5Calib
std::vector< float > ee5x5Calib
vector obtained from DB object
Definition: eclee5x5CollectorModule.h:101
Belle2::eclee5x5CollectorModule::collect
void collect() override
Select events and crystals and accumulate histograms.
Definition: eclee5x5CollectorModule.cc:194
Belle2::DBObjPtr
Class for accessing objects in the database.
Definition: DBObjPtr.h:31
Belle2::eclee5x5CollectorModule::m_ElectronicsCalib
DBObjPtr< ECLCrystalCalib > m_ElectronicsCalib
Electronics calibration from database.
Definition: eclee5x5CollectorModule.h:96
Belle2::eclee5x5CollectorModule::m_dPhiMin
std::vector< float > m_dPhiMin
minimum dPhi* as a function of thetaID
Definition: eclee5x5CollectorModule.h:81
Belle2::eclee5x5CollectorModule::m_selectdPhiMC
DBObjPtr< ECLCrystalCalib > m_selectdPhiMC
DB object for MC.
Definition: eclee5x5CollectorModule.h:105
Belle2::eclee5x5CollectorModule::m_eclNeighbours5x5
ECL::ECLNeighbours * m_eclNeighbours5x5
Neighbour map of 25 crystals.
Definition: eclee5x5CollectorModule.h:85
Belle2::ECL::ECLNeighbours
Class to get the neighbours for a given cell id.
Definition: ECLNeighbours.h:38
Belle2::eclee5x5CollectorModule::m_thetaLabMaxDeg
double m_thetaLabMaxDeg
maximum ecl cluster theta in lab (150 degrees)
Definition: eclee5x5CollectorModule.h:62
Belle2::eclee5x5CollectorModule::m_eclClusterArray
StoreArray< ECLCluster > m_eclClusterArray
Required arrays.
Definition: eclee5x5CollectorModule.h:72
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::eclee5x5CollectorModule::m_maxTime
double m_maxTime
maximum cluster time diff abs(t1-t0)/dt99 (10)
Definition: eclee5x5CollectorModule.h:67
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::eclee5x5CollectorModule::Expee5x5Sigma
std::vector< float > Expee5x5Sigma
vector of sigmaE obtained from DB object
Definition: eclee5x5CollectorModule.h:93
Belle2::eclee5x5CollectorModule::m_evtMetaData
StoreObjPtr< EventMetaData > m_evtMetaData
dataStore EventMetaData
Definition: eclee5x5CollectorModule.h:75
Belle2::eclee5x5CollectorModule::m_thetaID
std::vector< int > m_thetaID
thetaID of each crystal
Definition: eclee5x5CollectorModule.h:88
Belle2::eclee5x5CollectorModule::m_minE0
double m_minE0
minimum energy of cluster 0: E*0/sqrts (0.45)
Definition: eclee5x5CollectorModule.h:63
Belle2::eclee5x5CollectorModule::m_thetaLabMax
double m_thetaLabMax
m_thetaLabMaxDeg converted to radians
Definition: eclee5x5CollectorModule.h:80
Belle2::eclee5x5CollectorModule::m_sqrts
double m_sqrts
sqrt s from m_boostrotate
Definition: eclee5x5CollectorModule.h:87
Belle2::eclee5x5CollectorModule::widthdPhi
std::vector< float > widthdPhi
width of requirement on dPhi from DB object
Definition: eclee5x5CollectorModule.h:107
Belle2::eclee5x5CollectorModule::m_thetaLabMin
double m_thetaLabMin
Some other useful quantities.
Definition: eclee5x5CollectorModule.h:79
Belle2::PCmsLabTransform
Class to hold Lorentz transformations from/to CMS and boost vector.
Definition: PCmsLabTransform.h:37
Belle2::eclee5x5CollectorModule::m_ECLExpee5x5E
DBObjPtr< ECLCrystalCalib > m_ECLExpee5x5E
Expected energies from database.
Definition: eclee5x5CollectorModule.h:91
Belle2::eclee5x5CollectorModule::m_maxdThetaSum
double m_maxdThetaSum
abs(theta0* + theta1* - 180 deg) must be less than less (2 deg)
Definition: eclee5x5CollectorModule.h:65
Belle2::eclee5x5CollectorModule::m_dPhiMax
std::vector< float > m_dPhiMax
maximum dPhi* as a function of thetaID
Definition: eclee5x5CollectorModule.h:82
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::eclee5x5CollectorModule::m_ee5x5Calib
DBObjPtr< ECLCrystalCalib > m_ee5x5Calib
Existing single crystal calibration from DB; will be updated by CAF.
Definition: eclee5x5CollectorModule.h:100
Belle2::eclee5x5CollectorModule::m_boostrotate
PCmsLabTransform m_boostrotate
boost from COM to lab and visa versa
Definition: eclee5x5CollectorModule.h:86