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 
33 class TH1F;
34 
36 {
37 
38  public:
39 
41  PhiSymmetryCalibration( const edm::ParameterSet& iConfig );
42 
44  ~PhiSymmetryCalibration() override;
45 
47  void beginJob() override;
48  void endRun(edm::Run const&, const edm::EventSetup&) override;
49  void endLuminosityBlock(edm::LuminosityBlock const& ,edm::EventSetup const&) override;
50 
51 
53  void endJob() override;
54 
56  void analyze( const edm::Event&, const edm::EventSetup& ) override;
57 
59  void setUp(const edm::EventSetup& setup);
60 
61  private:
62 
63  // private member functions
64 
65  void getKfactors();
66 
67 
68  // private data members
69 
70  static const int kNMiscalBinsEB = 21;
71  static const float kMiscalRangeEB;
72 
73  static const int kNMiscalBinsEE = 41;
74  static const float kMiscalRangeEE;
75 
77 
78  // Transverse energy sum arrays
84 
87 
90 
91 
94 
95 
96  // factors to convert from ET sum deviation to miscalibration
101 
102  std::vector<DetId> barrelCells;
103  std::vector<DetId> endcapCells;
104 
105  // input calibration constants
108 
109  // new calibration constants
112 
113  // calibration constants not multiplied by old ones
116 
117  // calibration const not corrected for k
120 
121 
122  // steering parameters
123 
127 
128  // energy cut in the barrel
129  double eCut_barl_;
130 
131 
132  // parametrized energy cut EE : e_cut = ap + eta_ring*b
133  double ap_;
134  double b_;
135 
139 
140  static const int kMaxEndciPhi = 360;
141 
143 
144 
146  std::string oldcalibfile_; //searched for in Calibration/EcalCalibAlgos/data
147 
150 
152 
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
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]
def setup(process, global_tag, zero_tesla=False)
Definition: GeneralSetup.py:1
double esumMean_barl_[kBarlRings]
double newCalibs_barl[kBarlRings][kBarlWedges][kSides]
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 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:43
double etsumMean_barl_[kBarlRings]
static const int kEndcWedgesY