CMS 3D CMS Logo

PhiSymmetryCalibration.h
Go to the documentation of this file.
1 #ifndef Calibration_EcalCalibAlgos_PhiSymmetryCalibration_h
2 #define Calibration_EcalCalibAlgos_PhiSymmetryCalibration_h
3 
4 //
5 // Package: Calibration/EcalCalibAlgos
6 // Class: PhiSymmetryCalibration
7 //
8 //
9 // Description: performs phi-symmetry calibration
10 //
11 //
12 // Original Author: David Futyan
13 //
14 // Responsible : Stefano Argiro, Valentina Sola
15 //
16 
17 #include <vector>
18 
20 
21 // Framework
28 
31 
32 class TH1F;
33 
35 public:
38 
40  ~PhiSymmetryCalibration() override;
41 
43  void beginJob() override;
44  void endRun(edm::Run const&, const edm::EventSetup&) override;
45  void endLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&) override;
46 
48  void endJob() override;
49 
51  void analyze(const edm::Event&, const edm::EventSetup&) override;
52 
54  void setUp(const edm::EventSetup& setup);
55 
56 private:
57  // private member functions
58 
59  void getKfactors();
60 
61  // private data members
62 
63  static const int kNMiscalBinsEB = 21;
64  static const float kMiscalRangeEB;
65 
66  static const int kNMiscalBinsEE = 41;
67  static const float kMiscalRangeEE;
68 
70 
71  // Transverse energy sum arrays
77 
80 
83 
86 
87  // factors to convert from ET sum deviation to miscalibration
92 
93  std::vector<DetId> barrelCells;
94  std::vector<DetId> endcapCells;
95 
96  // input calibration constants
99 
100  // new calibration constants
103 
104  // calibration constants not multiplied by old ones
107 
108  // calibration const not corrected for k
111 
112  // steering parameters
113 
117 
118  // energy cut in the barrel
119  double eCut_barl_;
120 
121  // parametrized energy cut EE : e_cut = ap + eta_ring*b
122  double ap_;
123  double b_;
124 
128 
129  static const int kMaxEndciPhi = 360;
130 
132 
134  std::string oldcalibfile_; //searched for in Calibration/EcalCalibAlgos/data
135 
138 
140 
141  // Et and E spectra
142  std::vector<TH1F*> et_spectrum_b_histos; //kBarlEtaRings
143  std::vector<TH1F*> e_spectrum_b_histos;
144  std::vector<TH1F*> et_spectrum_e_histos; //kEndcEtaRings
145  std::vector<TH1F*> e_spectrum_e_histos;
146 
147  bool spectra;
148  int nevents_;
151 };
152 
153 #endif
~PhiSymmetryCalibration() override
Destructor.
float epsilon_M_endc[kEndcWedgesX][kEndcWedgesY][kSides]
static const float kMiscalRangeEB
void beginJob() override
Called at beginning of job.
void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
void setUp(const edm::EventSetup &setup)
std::vector< DetId > endcapCells
static const int kBarlRings
std::vector< TH1F * > et_spectrum_b_histos
float rawconst_barl[kBarlRings][kBarlWedges][kSides]
double esumMean_endc_[kEndcEtaRings]
double esumMean_barl_[kBarlRings]
static const int kSides
std::vector< TH1F * > e_spectrum_b_histos
std::vector< DetId > barrelCells
float rawconst_endc[kEndcWedgesX][kEndcWedgesX][kSides]
EcalIntercalibConstants oldCalibs_
the old calibration constants (when reiterating, the last ones derived)
static const int kBarlWedges
double etsum_endc_miscal_[kNMiscalBinsEE][kEndcEtaRings]
static const int kEndcWedgesX
static const int kEndcEtaRings
std::vector< TH1F * > et_spectrum_e_histos
float phi_endc[kMaxEndciPhi][kEndcEtaRings]
double etsum_barl_miscal_[kNMiscalBinsEB][kBarlRings]
double k_endc_[kEndcEtaRings]
unsigned int nhits_barl_[kBarlRings][kBarlWedges][kSides]
int statusThreshold_
threshold in channel status beyond which channel is marked bad
unsigned int nhits_endc_[kEndcWedgesX][kEndcWedgesX][kSides]
PhiSymmetryCalibration(const edm::ParameterSet &iConfig)
Constructor.
double etsum_endc_uncorr[kEndcWedgesX][kEndcWedgesX][kSides]
double etsumMean_endc_[kEndcEtaRings]
double newCalibs_barl[kBarlRings][kBarlWedges][kSides]
double etsum_barl_[kBarlRings][kBarlWedges][kSides]
double miscalEB_[kNMiscalBinsEB]
double oldCalibs_barl[kBarlRings][kBarlWedges][kSides]
std::vector< TH1F * > e_spectrum_e_histos
double oldCalibs_endc[kEndcWedgesX][kEndcWedgesY][kSides]
void endRun(edm::Run const &, const edm::EventSetup &) override
float epsilon_M_barl[kBarlRings][kBarlWedges][kSides]
void analyze(const edm::Event &, const edm::EventSetup &) override
Called at each event.
double etsum_endc_[kEndcWedgesX][kEndcWedgesX][kSides]
void endJob() override
Called at end of job.
double miscalEE_[kNMiscalBinsEE]
double newCalibs_endc[kEndcWedgesX][kEndcWedgesX][kSides]
static const float kMiscalRangeEE
Definition: Run.h:45
double etsumMean_barl_[kBarlRings]
static const int kEndcWedgesY