CMS 3D CMS Logo

EcalEleCalibLooper.h
Go to the documentation of this file.
1 
8 #ifndef __CINT__
9 #ifndef EcalEleCalibLooper_H
10 #define EcalEleCalibLooper_H
16 #include <string>
17 #include <vector>
18 
30 
31 #include "CLHEP/Matrix/GenMatrix.h"
32 #include "CLHEP/Matrix/Matrix.h"
33 #include "CLHEP/Matrix/Vector.h"
35 public:
37  explicit EcalEleCalibLooper(const edm::ParameterSet &);
39  ~EcalEleCalibLooper() override;
40  void beginOfJob() override;
41  void endOfJob() override;
42  void startingNewLoop(unsigned int) override;
43  Status duringLoop(const edm::Event &, const edm::EventSetup &) override;
44  Status endOfLoop(const edm::EventSetup &, unsigned int iCounter) override;
45 
46 private:
47  //DS to divide in Regions
48  int EBRegionId(const int, const int) const;
49  int EERegionId(const int, const int) const;
50  //DS to define the regions for each cristal
51  void EBRegionDefinition();
52  void EERegionDefinition();
53  //DS defines the limit for the tan of phi
54  double giveLimit(int);
55 
56  //DS checks if the values of ics and ips are in EE or not
57  int EEregionCheck(const int, const int) const;
58  int EBregionCheck(const int eta, const int phi) const;
59 
61  int etaShifter(const int) const;
62 
63 private:
70 
72  const int m_recoWindowSidex;
73  const int m_recoWindowSidey;
74 
76  const int m_etaWidth; //PG sub matrix size and borders
78  // int m_etaBorder ; //FIXME
80  const int m_phiWidthEB;
82  // int m_phiBorderEB //FIXME;
83 
85  const int m_etaStart; //PG ECAL region to be calibrated
87  const int m_etaEnd;
89  const int m_phiStartEB;
91  const int m_phiEndEB;
93  const int m_radStart;
94  const int m_radEnd;
95  const int m_radWidth;
96  //FIXME int m_radBorder ;
97  const int m_phiStartEE;
98  const int m_phiEndEE;
99  const int m_phiWidthEE;
100 
103 
105  std::vector<VEcalCalibBlock *> m_EcalCalibBlocks;
107  const double m_minEnergyPerCrystal;
109  const double m_maxEnergyPerCrystal;
111  const double m_minCoeff;
113  const double m_maxCoeff;
116 
120 
122  const unsigned int m_loops;
123  //The map Filler
125 
126  //DS number of regions in the Endcap
127  inline int EEregionsNum() const;
128  //DS number of regions in the barrel
129  inline int EBregionsNum() const;
130 
131  std::vector<int> m_regions;
132 
133  std::vector<DetId> m_barrelCells;
134  std::vector<DetId> m_endcapCells;
135 
136  std::map<int, int> m_xtalRegionId;
137  std::map<int, int> m_xtalPositionInRegion;
138  std::map<int, int> m_xtalNumOfHits;
139 
141 
148 };
149 #endif
150 #endif
~EcalEleCalibLooper() override
dtor
std::vector< DetId > m_barrelCells
const int m_phiStartEB
phi start of the region of interest
const int m_usingBlockSolver
to exclude the blocksolver
const double m_maxCoeff
maximum coefficient accepted (RAW)
const int m_phiEndEB
phi end of the region of interest
const int m_phiWidthEB
eta size of the additive border to the sub-matrix
const edm::EDGetTokenT< EERecHitCollection > m_eeRecHitToken
double giveLimit(int)
copes with the infinitives of the tangent
const int m_radStart
DS For the EE.
int EERegionId(const int, const int) const
Gives the id of the region.
std::vector< VEcalCalibBlock * > m_EcalCalibBlocks
single blocks calibrators
Status endOfLoop(const edm::EventSetup &, unsigned int iCounter) override
const int m_etaStart
phi size of the additive border to the sub-matrix
const int m_etaEnd
eta end of the region of interest
int EBregionCheck(const int eta, const int phi) const
Tells if you are in the region to be calibrated.
ECAL TB 2006 calibration with matrix inversion technique.
int etaShifter(const int) const
LP Change the coordinate system.
int EEregionCheck(const int, const int) const
returns zero if the coordinates are in the right place.
std::vector< DetId > m_endcapCells
const double m_minEnergyPerCrystal
minimum energy per crystal cut
const edm::InputTag m_endcapAlCa
EcalEndcap Input Collection name.
edm::InputTag m_ElectronLabel
To take the electrons.
void endOfJob() override
Status duringLoop(const edm::Event &, const edm::EventSetup &) override
EcalIntercalibConstantMap m_barrelMap
the maps of recalib coeffs
const int m_recoWindowSidex
reconstruction window size
std::map< int, int > m_xtalRegionId
const edm::InputTag m_barrelAlCa
EcalBarrel Input Collection name.
void EBRegionDefinition()
DS EB Region Definition.
const edm::EDGetTokenT< EBRecHitCollection > m_ebRecHitToken
ED token.
const int m_etaWidth
eta size of the sub-matrix
const edm::EDGetTokenT< reco::GsfElectronCollection > m_gsfElectronToken
std::map< int, int > m_xtalNumOfHits
std::vector< int > m_regions
int EBregionsNum() const
DS number of regions in EB.
const edm::ESGetToken< CaloGeometry, CaloGeometryRecord > m_geometryToken
ES token.
std::map< int, int > m_xtalPositionInRegion
const int m_maxSelectedNumPerXtal
maximum number of events per crystal
const unsigned int m_loops
DS sets the number of loops to do.
void startingNewLoop(unsigned int) override
EcalIntercalibConstantMap m_endcapMap
int EEregionsNum() const
DS Number of regions in EE.
int EBRegionId(const int, const int) const
Reg Id generator EB --— for the barrel.
EcalEleCalibLooper(const edm::ParameterSet &)
ctor
void beginOfJob() override
BeginOfJob.
const double m_maxEnergyPerCrystal
maximum energy per crystal cut
const double m_minCoeff
minimum coefficient accepted (RAW)