CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ElectronCalibrationUniv.h
Go to the documentation of this file.
1 #ifndef CALIBRATION_ECALCALIBALGOS_ELECTRONCALIBRATIONUNIV
2 #define CALIBRATION_ECALCALIBALGOS_ELECTRONCALIBRATIONUNIV
3 
4 // -*- C++ -*-
5 //
6 // Package: ElectronCalibrationUniv
7 // Class: ElectronCalibrationUniv
8 //
16 //
17 // Original Author: Lorenzo AGOSTINO, Radek Ofierzynski
18 // Created: Tue Jul 18 12:17:01 CEST 2006
19 // $Id: ElectronCalibrationUniv.h,v 1.7 2011/01/13 18:28:26 beaucero Exp $
20 //
21 //
22 
23 
24 // system include files
25 #include <memory>
26 
27 // user include files
30 
33 
34 // Geometry
39 
49 #include "TFile.h"
50 #include "TH1.h"
51 #include "TH2.h"
52 
54 
55 // class decleration
56 //
57 
59  public:
62 
63  virtual void analyze(const edm::Event&, const edm::EventSetup&);
64  virtual void beginJob();
65  virtual void beginRun(edm::Run const &, edm::EventSetup const&);
66  virtual void endJob();
67  private:
68  DetId findMaxHit(const std::vector<DetId> & v1,const EBRecHitCollection *EBhits,const EERecHitCollection *EEhits);
69  bool TestEEvalidDetId(int crystal_ix, int crystal_iy, int iz);
70 
71 
72  // ----------member data ---------------------------
73 
74  std::string rootfile_;
79  std::string calibAlgo_;
80  std::string miscalibfile_;
81  std::string miscalibfileEndCap_;
83  double ElePt_;
84  int maxeta_;
85  int mineta_;
86  int maxphi_;
87  int minphi_;
88  double cut1_;
89  double cut2_;
90  double cut3_;
91  double cutEPCalo1_;
92  double cutEPCalo2_;
93  double cutEPin1_;
94  double cutEPin2_;
95  double cutCalo1_;
96  double cutCalo2_;
97  double cutESeed_;
101 
103 
105 
108  std::vector<float> EnergyVector;
109  std::vector<float> WeightVector;
110  std::vector<std::vector<float> > EventMatrix;
111  std::vector<int> MaxCCeta;
112  std::vector<int> MaxCCphi;
113  std::vector<float> EnergyVectorNoCuts;
114  std::vector<float> WeightVectorNoCuts;
115  std::vector<std::vector<float> > EventMatrixNoCuts;
116  std::vector<int> MaxCCetaNoCuts;
117  std::vector<int> MaxCCphiNoCuts;
120 
122 
123  std::vector<float> solution;
124  std::vector<float> solutionNoCuts;
125 
126  //For Universal Algo
127  std::vector<std::vector<DetId> > UnivEventIds;
128  std::map<DetId,float> Univsolution;
129 
130  // int eventcrystal[25][25];
132 
133  TFile * f;
134 
136 
137  TH1F * e25;
138  TH1F * e9;
139  TH1F * scE;
140  TH1F * trP;
141  TH1F * EoP;
142  TH1F * EoP_all;
143  TH1F * calibs;
146  TH1F * e9Overe25;
147  TH1F * e25OverScE;
148  TH2F * Map;
149  TH1F * E25oP;
150 
151  TH1F * PinOverPout;
153 /* TH1F * MisCalibs; */
154 /* TH1F * RatioCalibs; */
155 /* TH1F * DiffCalibs; */
156 /* TH1F * RatioCalibsNoCuts; */
157 /* TH1F * DiffCalibsNoCuts; */
158 /* TH1F * MisCalibsEndCapMinus; */
159 /* TH1F * MisCalibsEndCapPlus; */
160 /* TH1F * RatioCalibsEndCapMinus; */
161 /* TH1F * RatioCalibsEndCapPlus; */
162 /* TH1F * DiffCalibsEndCapMinus; */
163 /* TH1F * DiffCalibsEndCapPlus; */
164 
165  TH1F * e25NoCuts;
166  TH1F * e9NoCuts;
167  TH1F * scENoCuts;
168  TH1F * trPNoCuts;
169  TH1F * EoPNoCuts;
170  TH1F * calibsNoCuts;
175  TH1F * E25oPNoCuts;
176  TH2F * Map3Dcalib;
180  TH1F * calibinter;
187 
188  TH2F * GeneralMap;
194 
195  TH2F * MapCor1;
196  TH2F * MapCor2;
197  TH2F * MapCor3;
198  TH2F * MapCor4;
199  TH2F * MapCor5;
200  TH2F * MapCor6;
201  TH2F * MapCor7;
202  TH2F * MapCor8;
203  TH2F * MapCor9;
204  TH2F * MapCor10;
205  TH2F * MapCor11;
206  // TH2F * MapCorCalib;
207 
219 /* TH2F * MapCorCalibEndCapMinus; */
220 /* TH2F * MapCorCalibEndCapPlus; */
221 
222  TH2F * MapCor1ESeed;
223  TH2F * MapCor2ESeed;
224  TH2F * MapCor3ESeed;
225  TH2F * MapCor4ESeed;
226  TH2F * MapCor5ESeed;
227  TH2F * MapCor6ESeed;
228  TH2F * MapCor7ESeed;
229  TH2F * MapCor8ESeed;
230  TH2F * MapCor9ESeed;
233 
234  TH2F * E25oPvsEta;
237 
238  TH1F * PinMinPout;
240 
241  TH1F * Error1;
242  TH1F * Error2;
243  TH1F * Error3;
244  TH1F * Error1NoCuts;
245  TH1F * Error2NoCuts;
246  TH1F * Error3NoCuts;
247 
251 
252  TH1F * hadOverEm;
255 };
256 #endif
std::vector< float > solutionNoCuts
ElectronCalibrationUniv(const edm::ParameterSet &)
std::vector< std::vector< float > > EventMatrixNoCuts
std::vector< std::vector< float > > EventMatrix
MinL3AlgoUniv< DetId > * UnivL3
std::vector< std::vector< DetId > > UnivEventIds
bool TestEEvalidDetId(int crystal_ix, int crystal_iy, int iz)
virtual void beginRun(edm::Run const &, edm::EventSetup const &)
std::map< DetId, float > Univsolution
HouseholderDecomposition * MyHH
edm::ESHandle< CaloTopology > theCaloTopology
Definition: DetId.h:20
std::vector< float > EnergyVectorNoCuts
std::vector< float > WeightVectorNoCuts
virtual void analyze(const edm::Event &, const edm::EventSetup &)
std::vector< float > WeightVector
std::vector< float > EnergyVector
Definition: Run.h:33
DetId findMaxHit(const std::vector< DetId > &v1, const EBRecHitCollection *EBhits, const EERecHitCollection *EEhits)