CMS 3D CMS Logo

ElectronCalibration.h
Go to the documentation of this file.
1 #ifndef CALIBRATION_ECALCALIBALGOS_ELECTRONCALIBRATION
2 #define CALIBRATION_ECALCALIBALGOS_ELECTRONCALIBRATION
3 
4 // -*- C++ -*-
5 //
6 // Package: ElectronCalibration
7 // Class: ElectronCalibration
8 //
16 //
17 // Original Author: Lorenzo AGOSTINO, Radek Ofierzynski
18 // Created: Tue Jul 18 12:17:01 CEST 2006
19 //
20 //
21 
22 // system include files
23 #include <memory>
24 
25 // user include files
28 
40 #include "TFile.h"
41 #include "TH1.h"
42 #include "TH2.h"
43 
44 // class declaration
45 
47 public:
48  explicit ElectronCalibration(const edm::ParameterSet&);
49  ~ElectronCalibration() override;
50 
51  void analyze(const edm::Event&, const edm::EventSetup&) override;
52  void beginJob() override;
53  void endJob() override;
54 
55 private:
57  EBDetId findMaxHit2(const std::vector<DetId>&, const EBRecHitCollection*);
58 
59  // ----------member data ---------------------------
67  double ElePt_;
68  int maxeta_;
69  int mineta_;
70  int maxphi_;
71  int minphi_;
72  double cut1_;
73  double cut2_;
74  double cut3_;
76  double cutEPCalo1_;
77  double cutEPCalo2_;
78  double cutEPin1_;
79  double cutEPin2_;
80  double cutCalo1_;
81  double cutCalo2_;
82  double cutESeed_;
84 
87 
89 
92  std::vector<float> EnergyVector;
93  std::vector<float> WeightVector;
94  std::vector<std::vector<float> > EventMatrix;
95  std::vector<int> MaxCCeta;
96  std::vector<int> MaxCCphi;
97  std::vector<float> EnergyVectorNoCuts;
98  std::vector<float> WeightVectorNoCuts;
99  std::vector<std::vector<float> > EventMatrixNoCuts;
100  std::vector<int> MaxCCetaNoCuts;
101  std::vector<int> MaxCCphiNoCuts;
103  std::vector<float> solution;
104  std::vector<float> solutionNoCuts;
105  std::vector<float> newCalibs;
106  std::vector<float> oldCalibs;
107 
108  int eventcrystal[171][360];
110 
111  TFile* f;
112 
113  TH1F* e25;
114  TH1F* e9;
115  TH1F* scE;
116  TH1F* trP;
117  TH1F* EoP;
118  TH1F* EoP_all;
119  TH1F* calibs;
120  TH1F* e9Overe25;
121  TH1F* e25OverScE;
122  TH2F* Map;
123  TH1F* E25oP;
124 
125  TH1F* PinOverPout;
127  TH1F* MisCalibs;
128  TH1F* RatioCalibs;
129  TH1F* DiffCalibs;
132 
133  TH1F* e25NoCuts;
134  TH1F* e9NoCuts;
135  TH1F* scENoCuts;
136  TH1F* trPNoCuts;
137  TH1F* EoPNoCuts;
141  TH2F* MapNoCuts;
142  TH1F* E25oPNoCuts;
143  TH2F* Map3Dcalib;
145  TH1F* calibinter;
150 
151  TH2F* GeneralMap;
152 
153  TH2F* MapCor1;
154  TH2F* MapCor2;
155  TH2F* MapCor3;
156  TH2F* MapCor4;
157  TH2F* MapCor5;
158  TH2F* MapCor6;
159  TH2F* MapCor7;
160  TH2F* MapCor8;
161  TH2F* MapCor9;
162  TH2F* MapCor10;
163  TH2F* MapCor11;
164  TH2F* MapCorCalib;
165 
178 
190 
191  TH1F* PinMinPout;
193 
194  TH1F* Error1;
195  TH1F* Error2;
196  TH1F* Error3;
200 
204 
205  TH1F* hadOverEm;
208 };
209 #endif
CalibrationCluster::CalibMap ReducedMap
edm::EDGetTokenT< EBRecHitCollection > recHitToken_
std::vector< float > WeightVector
void analyze(const edm::Event &, const edm::EventSetup &) override
HouseholderDecomposition * MyHH
edm::EDGetTokenT< reco::GsfElectronCollection > electronToken_
std::vector< float > solutionNoCuts
MinL3Algorithm * MyL3Algo1
std::map< EBDetId, unsigned int > CalibMap
void beginJob() override
std::vector< int > MaxCCphiNoCuts
std::vector< int > MaxCCetaNoCuts
std::vector< float > solution
std::vector< float > newCalibs
std::vector< float > EnergyVector
ElectronCalibration(const edm::ParameterSet &)
EBDetId findMaxHit(edm::Handle< EBRecHitCollection > &)
std::vector< int > MaxCCphi
std::vector< float > WeightVectorNoCuts
std::vector< std::vector< float > > EventMatrixNoCuts
CalibrationCluster calibCluster
std::vector< std::vector< float > > EventMatrix
EBDetId findMaxHit2(const std::vector< DetId > &, const EBRecHitCollection *)
std::vector< float > EnergyVectorNoCuts
std::vector< float > oldCalibs
std::vector< int > MaxCCeta