CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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
27 
36 
37 class TH1F;
38 
40  : public edm::one::EDAnalyzer<edm::one::SharedResources, edm::one::WatchRuns, edm::one::WatchLuminosityBlocks> {
41 public:
44 
46  ~PhiSymmetryCalibration() override;
47 
49  void beginJob() override;
50  void beginRun(edm::Run const&, const edm::EventSetup&) override;
51  void endRun(edm::Run const&, const edm::EventSetup&) override;
52  void beginLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&) override;
53  void endLuminosityBlock(edm::LuminosityBlock const&, edm::EventSetup const&) override;
54 
56  void endJob() override;
57 
59  void analyze(const edm::Event&, const edm::EventSetup&) override;
60 
62  void setUp(const edm::EventSetup& setup);
63 
64 private:
65  // private member functions
66 
67  void getKfactors();
68 
69  // private data members
70 
71  static const int kNMiscalBinsEB = 21;
72  static const float kMiscalRangeEB;
73 
74  static const int kNMiscalBinsEE = 41;
75  static const float kMiscalRangeEE;
76 
78 
79  // Transverse energy sum arrays
85 
88 
91 
94 
95  // factors to convert from ET sum deviation to miscalibration
100 
101  std::vector<DetId> barrelCells;
102  std::vector<DetId> endcapCells;
103 
104  // input calibration constants
107 
108  // new calibration constants
111 
112  // calibration constants not multiplied by old ones
115 
116  // calibration const not corrected for k
119 
120  // steering parameters
121 
125 
130 
131  // energy cut in the barrel
132  const double eCut_barl_;
133 
134  // parametrized energy cut EE : e_cut = ap + eta_ring*b
135  const double ap_;
136  const double b_;
137 
138  const int eventSet_;
140  const int statusThreshold_;
141 
142  static const int kMaxEndciPhi = 360;
143 
145 
146  const bool reiteration_;
147  const std::string oldcalibfile_; //searched for in Calibration/EcalCalibAlgos/data
148 
151 
153 
154  // Et and E spectra
155  std::vector<TH1F*> et_spectrum_b_histos; //kBarlEtaRings
156  std::vector<TH1F*> e_spectrum_b_histos;
157  std::vector<TH1F*> et_spectrum_e_histos; //kEndcEtaRings
158  std::vector<TH1F*> e_spectrum_e_histos;
159 
160  bool spectra;
161  int nevents_;
164 };
165 
166 #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
const edm::EDGetTokenT< EERecHitCollection > eeRecHitToken_
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
const std::string ecalHitsProducer_
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]
const edm::EDGetTokenT< EBRecHitCollection > ebRecHitToken_
double etsum_barl_miscal_[kNMiscalBinsEB][kBarlRings]
double k_endc_[kEndcEtaRings]
unsigned int nhits_barl_[kBarlRings][kBarlWedges][kSides]
unsigned int nhits_endc_[kEndcWedgesX][kEndcWedgesX][kSides]
PhiSymmetryCalibration(const edm::ParameterSet &iConfig)
Constructor.
double etsum_endc_uncorr[kEndcWedgesX][kEndcWedgesX][kSides]
void beginRun(edm::Run const &, const edm::EventSetup &) override
void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
double etsumMean_endc_[kEndcEtaRings]
double newCalibs_barl[kBarlRings][kBarlWedges][kSides]
double etsum_barl_[kBarlRings][kBarlWedges][kSides]
const edm::ESGetToken< CaloGeometry, CaloGeometryRecord > geometryToken_
double miscalEB_[kNMiscalBinsEB]
const int statusThreshold_
threshold in channel status beyond which channel is marked bad
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
const edm::ESGetToken< EcalChannelStatus, EcalChannelStatusRcd > channelStatusToken_
Definition: Run.h:45
double etsumMean_barl_[kBarlRings]
static const int kEndcWedgesY