CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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
28 
31 
32 
33 class TH1F;
34 
36 {
37 
38  public:
39 
41  PhiSymmetryCalibration( const edm::ParameterSet& iConfig );
42 
45 
47  virtual void beginJob();
48  virtual void endRun(edm::Run&, const edm::EventSetup&);
50 
51 
53  virtual void endJob();
54 
56  virtual void analyze( const edm::Event&, const edm::EventSetup& );
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 
124  std::string ecalHitsProducer_;
125  std::string barrelHits_;
126  std::string endcapHits_;
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
float epsilon_M_endc[kEndcWedgesX][kEndcWedgesY][kSides]
static const float kMiscalRangeEB
virtual void endRun(edm::Run &, const edm::EventSetup &)
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)
virtual void analyze(const edm::Event &, const edm::EventSetup &)
Called at each event.
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]
virtual void beginJob()
Called at beginning of job.
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]
float epsilon_M_barl[kBarlRings][kBarlWedges][kSides]
double etsum_endc_[kEndcWedgesX][kEndcWedgesX][kSides]
void endLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &)
double miscalEE_[kNMiscalBinsEE]
double newCalibs_endc[kEndcWedgesX][kEndcWedgesX][kSides]
static const float kMiscalRangeEE
virtual void endJob()
Called at end of job.
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
Definition: Run.h:32
double etsumMean_barl_[kBarlRings]
static const int kEndcWedgesY