CMS 3D CMS Logo

EcalSimple2007H4TBAnalyzer.cc
Go to the documentation of this file.
1 
8 //
9 //
10 //
11 
19 
21 
25 
26 //#include<fstream>
27 
28 #include "TFile.h"
29 #include "TH1.h"
30 #include "TH2.h"
31 #include "TF1.h"
32 
33 #include <iostream>
34 #include <string>
35 #include <stdexcept>
36 //
37 // constants, enums and typedefs
38 //
39 
40 //
41 // static data member definitions
42 //
43 
44 //
45 // constructors and destructor
46 //
47 
48 //========================================================================
50  : xtalInBeam_(0)
51 //========================================================================
52 {
53  //now do what ever initialization is needed
54  rootfile_ = iConfig.getUntrackedParameter<std::string>("rootfile", "ecalSimpleTBanalysis.root");
55  digiCollection_ = iConfig.getParameter<std::string>("digiCollection");
56  digiProducer_ = iConfig.getParameter<std::string>("digiProducer");
57  hitCollection_ = iConfig.getParameter<std::string>("hitCollection");
58  hitProducer_ = iConfig.getParameter<std::string>("hitProducer");
59  hodoRecInfoCollection_ = iConfig.getParameter<std::string>("hodoRecInfoCollection");
60  hodoRecInfoProducer_ = iConfig.getParameter<std::string>("hodoRecInfoProducer");
61  tdcRecInfoCollection_ = iConfig.getParameter<std::string>("tdcRecInfoCollection");
62  tdcRecInfoProducer_ = iConfig.getParameter<std::string>("tdcRecInfoProducer");
63  eventHeaderCollection_ = iConfig.getParameter<std::string>("eventHeaderCollection");
64  eventHeaderProducer_ = iConfig.getParameter<std::string>("eventHeaderProducer");
65 
66  std::cout << "EcalSimple2007H4TBAnalyzer: fetching hitCollection: " << hitCollection_.c_str() << " produced by "
67  << hitProducer_.c_str() << std::endl;
68 }
69 
70 //========================================================================
72 //========================================================================
73 {
74  // do anything here that needs to be done at desctruction time
75  // (e.g. close files, deallocate resources etc.)
76  // Amplitude vs TDC offset
77  // if (h_ampltdc)
78  // delete h_ampltdc;
79 
80  // // Reconstructed energies
81  // delete h_e1x1;
82  // delete h_e3x3;
83  // delete h_e5x5;
84 
85  // delete h_bprofx;
86  // delete h_bprofy;
87 
88  // delete h_qualx;
89  // delete h_qualy;
90 
91  // delete h_slopex;
92  // delete h_slopey;
93 
94  // delete h_mapx;
95  // delete h_mapy;
96 }
97 
98 //========================================================================
100  //========================================================================
101 
103  iSetup.get<CaloGeometryRecord>().get(pG);
104 
105  theTBGeometry_ = pG.product();
106  // const std::vector<DetId>& validIds=theTBGeometry_->getValidDetIds(DetId::Ecal,EcalEndcap);
107  // std::cout << "Found " << validIds.size() << " channels in the geometry" << std::endl;
108  // for (unsigned int i=0;i<validIds.size();++i)
109  // std::cout << EEDetId(validIds[i]) << std::endl;
110 
111  // Amplitude vs TDC offset
112  h_ampltdc = new TH2F("h_ampltdc", "Max Amplitude vs TDC offset", 100, 0., 1., 1000, 0., 4000.);
113 
114  // Reconstructed energies
115  h_tableIsMoving = new TH1F("h_tableIsMoving", "TableIsMoving", 100000, 0., 100000.);
116 
117  h_e1x1 = new TH1F("h_e1x1", "E1x1 energy", 1000, 0., 4000.);
118  h_e3x3 = new TH1F("h_e3x3", "E3x3 energy", 1000, 0., 4000.);
119  h_e5x5 = new TH1F("h_e5x5", "E5x5 energy", 1000, 0., 4000.);
120 
121  h_e1x1_center = new TH1F("h_e1x1_center", "E1x1 energy", 1000, 0., 4000.);
122  h_e3x3_center = new TH1F("h_e3x3_center", "E3x3 energy", 1000, 0., 4000.);
123  h_e5x5_center = new TH1F("h_e5x5_center", "E5x5 energy", 1000, 0., 4000.);
124 
125  h_e1e9 = new TH1F("h_e1e9", "E1/E9 ratio", 600, 0., 1.2);
126  h_e1e25 = new TH1F("h_e1e25", "E1/E25 ratio", 600, 0., 1.2);
127  h_e9e25 = new TH1F("h_e9e25", "E9/E25 ratio", 600, 0., 1.2);
128 
129  h_S6 = new TH1F("h_S6", "Amplitude S6", 1000, 0., 4000.);
130 
131  h_bprofx = new TH1F("h_bprofx", "Beam Profile X", 100, -20., 20.);
132  h_bprofy = new TH1F("h_bprofy", "Beam Profile Y", 100, -20., 20.);
133 
134  h_qualx = new TH1F("h_qualx", "Beam Quality X", 5000, 0., 5.);
135  h_qualy = new TH1F("h_qualy", "Beam Quality X", 5000, 0., 5.);
136 
137  h_slopex = new TH1F("h_slopex", "Beam Slope X", 500, -5e-4, 5e-4);
138  h_slopey = new TH1F("h_slopey", "Beam Slope Y", 500, -5e-4, 5e-4);
139 
140  char hname[50];
141  char htitle[50];
142  for (unsigned int icry = 0; icry < 25; icry++) {
143  sprintf(hname, "h_mapx_%d", icry);
144  sprintf(htitle, "Max Amplitude vs X %d", icry);
145  h_mapx[icry] = new TH2F(hname, htitle, 80, -20, 20, 1000, 0., 4000.);
146  sprintf(hname, "h_mapy_%d", icry);
147  sprintf(htitle, "Max Amplitude vs Y %d", icry);
148  h_mapy[icry] = new TH2F(hname, htitle, 80, -20, 20, 1000, 0., 4000.);
149  }
150 
151  h_e1e9_mapx = new TH2F("h_e1e9_mapx", "E1/E9 vs X", 80, -20, 20, 600, 0., 1.2);
152  h_e1e9_mapy = new TH2F("h_e1e9_mapy", "E1/E9 vs Y", 80, -20, 20, 600, 0., 1.2);
153 
154  h_e1e25_mapx = new TH2F("h_e1e25_mapx", "E1/E25 vs X", 80, -20, 20, 600, 0., 1.2);
155  h_e1e25_mapy = new TH2F("h_e1e25_mapy", "E1/E25 vs Y", 80, -20, 20, 600, 0., 1.2);
156 
157  h_e9e25_mapx = new TH2F("h_e9e25_mapx", "E9/E25 vs X", 80, -20, 20, 600, 0., 1.2);
158  h_e9e25_mapy = new TH2F("h_e9e25_mapy", "E9/E25 vs Y", 80, -20, 20, 600, 0., 1.2);
159 
160  h_Shape_ = new TH2F("h_Shape_", "Xtal in Beam Shape", 250, 0, 10, 350, 0, 3500);
161 }
162 
163 //========================================================================
165  //========================================================================
166 
167  TFile f(rootfile_.c_str(), "RECREATE");
168 
169  // Amplitude vs TDC offset
170  h_ampltdc->Write();
171 
172  // Reconstructed energies
173  h_e1x1->Write();
174  h_e3x3->Write();
175  h_e5x5->Write();
176 
177  h_e1x1_center->Write();
178  h_e3x3_center->Write();
179  h_e5x5_center->Write();
180 
181  h_e1e9->Write();
182  h_e1e25->Write();
183  h_e9e25->Write();
184 
185  h_S6->Write();
186  h_bprofx->Write();
187  h_bprofy->Write();
188 
189  h_qualx->Write();
190  h_qualy->Write();
191 
192  h_slopex->Write();
193  h_slopey->Write();
194 
195  h_Shape_->Write();
196 
197  for (unsigned int icry = 0; icry < 25; icry++) {
198  h_mapx[icry]->Write();
199  h_mapy[icry]->Write();
200  }
201 
202  h_e1e9_mapx->Write();
203  h_e1e9_mapy->Write();
204 
205  h_e1e25_mapx->Write();
206  h_e1e25_mapy->Write();
207 
208  h_e9e25_mapx->Write();
209  h_e9e25_mapy->Write();
210 
211  h_tableIsMoving->Write();
212 
213  f.Close();
214 }
215 
216 //
217 // member functions
218 //
219 
220 //========================================================================
222  //========================================================================
223 
224  using namespace edm;
225  using namespace cms;
226 
228  const EEDigiCollection* digis = nullptr;
229  //std::cout << "EcalSimple2007H4TBAnalyzer::analyze getting product with label: " << digiProducer_.c_str()<< " prodname: " << digiCollection_.c_str() << endl;
230  iEvent.getByLabel(digiProducer_, digiCollection_, pdigis);
231  if (pdigis.isValid()) {
232  digis = pdigis.product(); // get a ptr to the product
233  //iEvent.getByLabel( hitProducer_, phits);
234  } else {
235  edm::LogError("EcalSimple2007H4TBAnalyzerError") << "Error! can't get the product " << digiCollection_;
236  }
237 
238  // fetch the digis and compute signal amplitude
240  const EEUncalibratedRecHitCollection* hits = nullptr;
241  //std::cout << "EcalSimple2007H4TBAnalyzer::analyze getting product with label: " << digiProducer_.c_str()<< " prodname: " << digiCollection_.c_str() << endl;
242  iEvent.getByLabel(hitProducer_, hitCollection_, phits);
243  if (phits.isValid()) {
244  hits = phits.product(); // get a ptr to the product
245  //iEvent.getByLabel( hitProducer_, phits);
246  } else {
247  edm::LogError("EcalSimple2007H4TBAnalyzerError") << "Error! can't get the product " << hitCollection_;
248  }
249 
251  const EcalTBHodoscopeRecInfo* recHodo = nullptr;
252  //std::cout << "EcalSimple2007H4TBAnalyzer::analyze getting product with label: " << digiProducer_.c_str()<< " prodname: " << digiCollection_.c_str() << endl;
254  if (pHodo.isValid()) {
255  recHodo = pHodo.product(); // get a ptr to the product
256  } else {
257  edm::LogError("EcalSimple2007H4TBAnalyzerError") << "Error! can't get the product " << hodoRecInfoCollection_;
258  }
259 
261  const EcalTBTDCRecInfo* recTDC = nullptr;
262  //std::cout << "EcalSimple2007H4TBAnalyzer::analyze getting product with label: " << digiProducer_.c_str()<< " prodname: " << digiCollection_.c_str() << endl;
264  if (pTDC.isValid()) {
265  recTDC = pTDC.product(); // get a ptr to the product
266  } else {
267  edm::LogError("EcalSimple2007H4TBAnalyzerError") << "Error! can't get the product " << tdcRecInfoCollection_;
268  }
269 
270  Handle<EcalTBEventHeader> pEventHeader;
271  const EcalTBEventHeader* evtHeader = nullptr;
272  //std::cout << "EcalSimple2007H4TBAnalyzer::analyze getting product with label: " << digiProducer_.c_str()<< " prodname: " << digiCollection_.c_str() << endl;
273  iEvent.getByLabel(eventHeaderProducer_, pEventHeader);
274  if (pEventHeader.isValid()) {
275  evtHeader = pEventHeader.product(); // get a ptr to the product
276  } else {
277  edm::LogError("EcalSimple2007H4TBAnalyzerError") << "Error! can't get the product " << eventHeaderProducer_;
278  }
279 
280  if (!hits) {
281  // std::cout << "1" << std::endl;
282  return;
283  }
284 
285  if (!recTDC) {
286  // std::cout << "2" << std::endl;
287  return;
288  }
289 
290  if (!recHodo) {
291  // std::cout << "3" << std::endl;
292  return;
293  }
294 
295  if (!evtHeader) {
296  // std::cout << "4" << std::endl;
297  return;
298  }
299 
300  if (hits->empty()) {
301  // std::cout << "5" << std::endl;
302  return;
303  }
304 
305  //Accessing various event information
306  if (evtHeader->tableIsMoving())
307  h_tableIsMoving->Fill(evtHeader->eventNumber());
308 
309  // std::cout << "event " << evtHeader->eventNumber()
310  // << "\trun number " << evtHeader->runNumber()
311  // << "\tburst number " << evtHeader->burstNumber()
312  // << "\tbeginLV1A " << evtHeader->begBurstLV1A()
313  // << "\tendLV1A " << evtHeader->endBurstLV1A()
314  // << "\ttime " << evtHeader->date()
315  // << "\thas errors " << int(evtHeader->syncError())
316  // << std::endl;
317 
318  // std::cout << "scaler";
319  // for (int iscaler=0;iscaler < 36;iscaler++)
320  // std::cout << "\t#" << iscaler << " " << evtHeader->scaler(iscaler);
321  // std::cout<<std::endl;
322 
323  //S6 beam scintillator
324  h_S6->Fill(evtHeader->S6ADC());
325 
326  if (xtalInBeamTmp.null()) {
328  xtalInBeam_ = EEDetId(35 - ((xtalInBeamTmp.ic() - 1) % 20), int(int(xtalInBeamTmp.ic()) / int(20)) + 51, -1);
329  std::cout << "Xtal In Beam is " << xtalInBeam_.ic() << xtalInBeam_ << std::endl;
330  for (unsigned int icry = 0; icry < 25; icry++) {
331  unsigned int row = icry / 5;
332  unsigned int column = icry % 5;
333  int ix = xtalInBeam_.ix() + row - 2;
334  int iy = xtalInBeam_.iy() + column - 2;
335  EEDetId tempId(ix, iy, xtalInBeam_.zside());
336  //Selecting matrix of xtals used in 2007H4TB
337  if (tempId.ix() < 16 || tempId.ix() > 35 || tempId.iy() < 51 || tempId.iy() > 75)
338  Xtals5x5[icry] = EEDetId(0);
339  else {
340  Xtals5x5[icry] = tempId;
341  auto cell = theTBGeometry_->getGeometry(Xtals5x5[icry]);
342  if (!cell)
343  continue;
344  std::cout << "** Xtal in the matrix **** row " << row << ", column " << column << ", xtal " << Xtals5x5[icry]
345  << " Position " << cell->getPosition(0.) << std::endl;
346  }
347  }
348  } else if (xtalInBeamTmp !=
349  EBDetId(1, evtHeader->crystalInBeam(), EBDetId::SMCRYSTALMODE)) //run analysis only on first xtal in beam
350  return;
351 
352  //Avoid moving table events
353  if (evtHeader->tableIsMoving()) {
354  std::cout << "Table is moving" << std::endl;
355  return;
356  }
357 
358  // Searching for max amplitude xtal alternative to use xtalInBeam_
359  EEDetId maxHitId(0);
360  float maxHit = -999999.;
361  for (EEUncalibratedRecHitCollection::const_iterator ithit = hits->begin(); ithit != hits->end(); ++ithit) {
362  if (ithit->amplitude() >= maxHit) {
363  maxHit = ithit->amplitude();
364  maxHitId = ithit->id();
365  }
366  }
367  if (maxHitId == EEDetId(0)) {
368  std::cout << "No maxHit found" << std::endl;
369  return;
370  }
371 
372  //Filling the digis shape for the xtalInBeam
373  double samples_save[10];
374  for (int i = 0; i < 10; ++i)
375  samples_save[i] = 0.0;
376 
377  double eMax = 0.;
378  for (EEDigiCollection::const_iterator digiItr = digis->begin(); digiItr != digis->end(); ++digiItr) {
379  if (EEDetId((*digiItr).id()) != xtalInBeam_)
380  continue;
381 
382  EEDataFrame myDigi = (*digiItr);
383  for (int sample = 0; sample < myDigi.size(); ++sample) {
384  double analogSample = myDigi.sample(sample).adc();
385  samples_save[sample] = analogSample;
386  // std::cout << analogSample << " ";
387  if (eMax < analogSample) {
388  eMax = analogSample;
389  }
390  }
391  // std::cout << std::endl;
392  }
393 
394  for (int i = 0; i < 10; ++i)
395  h_Shape_->Fill(double(i) + recTDC->offset(), samples_save[i]);
396 
397  // Taking amplitudes in 5x5
398  double amplitude[25];
399  double amplitude3x3 = 0;
400  double amplitude5x5 = 0;
401  for (unsigned int icry = 0; icry < 25; icry++) {
402  if (!Xtals5x5[icry].null()) {
403  amplitude[icry] = (hits->find(Xtals5x5[icry]))->amplitude();
404  amplitude5x5 += amplitude[icry];
405  // Is in 3x3?
406  if (icry == 6 || icry == 7 || icry == 8 || icry == 11 || icry == 12 || icry == 13 || icry == 16 || icry == 17 ||
407  icry == 18) {
408  amplitude3x3 += amplitude[icry];
409  }
410  }
411  }
412 
413  //Filling amplitudes
414  h_e1x1->Fill(amplitude[12]);
415  h_e3x3->Fill(amplitude3x3);
416  h_e5x5->Fill(amplitude5x5);
417 
418  h_e1e9->Fill(amplitude[12] / amplitude3x3);
419  h_e1e25->Fill(amplitude[12] / amplitude5x5);
420  h_e9e25->Fill(amplitude3x3 / amplitude5x5);
421 
422  //Checking stability of amplitude vs TDC
423  if (recTDC)
424  h_ampltdc->Fill(recTDC->offset(), amplitude[12]);
425 
426  //Various amplitudes as a function of hodoscope coordinates
427  if (recHodo) {
428  float x = recHodo->posX();
429  float y = recHodo->posY();
430  float xslope = recHodo->slopeX();
431  float yslope = recHodo->slopeY();
432  float xqual = recHodo->qualX();
433  float yqual = recHodo->qualY();
434 
435  //Filling beam profiles
436  h_bprofx->Fill(x);
437  h_bprofy->Fill(y);
438  h_qualx->Fill(xqual);
439  h_qualy->Fill(yqual);
440  h_slopex->Fill(xslope);
441  h_slopey->Fill(yslope);
442 
443  //Fill central events
444 
445  if (fabs(x + 2.5) < 2.5 && fabs(y + 0.5) < 2.5) {
446  h_e1x1_center->Fill(amplitude[12]);
447  h_e3x3_center->Fill(amplitude3x3);
448  h_e5x5_center->Fill(amplitude5x5);
449  }
450 
451  for (unsigned int icry = 0; icry < 25; icry++) {
452  h_mapx[icry]->Fill(x, amplitude[icry]);
453  h_mapy[icry]->Fill(y, amplitude[icry]);
454  }
455 
456  h_e1e9_mapx->Fill(x, amplitude[12] / amplitude3x3);
457  h_e1e9_mapy->Fill(y, amplitude[12] / amplitude3x3);
458 
459  h_e1e25_mapx->Fill(x, amplitude[12] / amplitude5x5);
460  h_e1e25_mapy->Fill(y, amplitude[12] / amplitude5x5);
461 
462  h_e9e25_mapx->Fill(x, amplitude3x3 / amplitude5x5);
463  h_e9e25_mapy->Fill(y, amplitude3x3 / amplitude5x5);
464  }
465 }
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
EcalDataFrame::sample
EcalMGPASample sample(int i) const
Definition: EcalDataFrame.h:29
EcalSimple2007H4TBAnalyzer::h_ampltdc
TH2F * h_ampltdc
Definition: EcalSimple2007H4TBAnalyzer.h:63
EcalSimple2007H4TBAnalyzer::tdcRecInfoProducer_
std::string tdcRecInfoProducer_
Definition: EcalSimple2007H4TBAnalyzer.h:58
DDAxes::y
EcalSimple2007H4TBAnalyzer::h_slopey
TH1F * h_slopey
Definition: EcalSimple2007H4TBAnalyzer.h:89
EcalSimple2007H4TBAnalyzer::h_e1e9_mapx
TH2F * h_e1e9_mapx
Definition: EcalSimple2007H4TBAnalyzer.h:94
mps_fire.i
i
Definition: mps_fire.py:428
CustomPhysics_cfi.amplitude
amplitude
Definition: CustomPhysics_cfi.py:12
EcalSimple2007H4TBAnalyzer::h_e1e25_mapx
TH2F * h_e1e25_mapx
Definition: EcalSimple2007H4TBAnalyzer.h:97
edm::SortedCollection::const_iterator
std::vector< T >::const_iterator const_iterator
Definition: SortedCollection.h:80
EcalSimple2007H4TBAnalyzer::h_S6
TH1F * h_S6
Definition: EcalSimple2007H4TBAnalyzer.h:81
edm::Handle::product
T const * product() const
Definition: Handle.h:70
hfClusterShapes_cfi.hits
hits
Definition: hfClusterShapes_cfi.py:5
EcalSimple2007H4TBAnalyzer::h_Shape_
TH2F * h_Shape_
Definition: EcalSimple2007H4TBAnalyzer.h:65
ESHandle.h
edm::DataFrameContainer::const_iterator
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
Definition: DataFrameContainer.h:61
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
simplePhotonAnalyzer_cfi.sample
sample
Definition: simplePhotonAnalyzer_cfi.py:12
EBDetId::ic
int ic() const
get ECAL/crystal number inside SM
Definition: EBDetId.cc:41
edm::Run
Definition: Run.h:45
CaloGeometryRecord
Definition: CaloGeometryRecord.h:30
EBDetId
Definition: EBDetId.h:17
edm
HLT enums.
Definition: AlignableModifier.h:19
phits
const caConstants::TupleMultiplicity *__restrict__ const HitsOnGPU *__restrict__ double *__restrict__ phits
Definition: BrokenLineFitOnGPU.h:27
gather_cfg.cout
cout
Definition: gather_cfg.py:144
EcalSimple2007H4TBAnalyzer::h_e1e9
TH1F * h_e1e9
Definition: EcalSimple2007H4TBAnalyzer.h:77
EcalSimple2007H4TBAnalyzer::beginRun
void beginRun(edm::Run const &, edm::EventSetup const &) override
Definition: EcalSimple2007H4TBAnalyzer.cc:99
EcalTBHodoscopeRecInfo::slopeX
float slopeX() const
Definition: EcalTBHodoscopeRecInfo.h:28
edm::SortedCollection
Definition: SortedCollection.h:49
EcalSimple2007H4TBAnalyzer::h_e1e25_mapy
TH2F * h_e1e25_mapy
Definition: EcalSimple2007H4TBAnalyzer.h:98
DetId::null
constexpr bool null() const
is this a null id ?
Definition: DetId.h:59
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
DDAxes::x
EcalSimple2007H4TBAnalyzer::h_e1x1
TH1F * h_e1x1
Definition: EcalSimple2007H4TBAnalyzer.h:69
EEDetId::ix
int ix() const
Definition: EEDetId.h:77
edm::Handle< EEDigiCollection >
EcalSimple2007H4TBAnalyzer::h_e5x5
TH1F * h_e5x5
Definition: EcalSimple2007H4TBAnalyzer.h:71
EEDetId::ic
int ic() const
Definition: EEDetId.cc:245
EcalSimple2007H4TBAnalyzer::digiCollection_
std::string digiCollection_
Definition: EcalSimple2007H4TBAnalyzer.h:51
EcalRecHitCollections.h
EcalSimple2007H4TBAnalyzer::hodoRecInfoProducer_
std::string hodoRecInfoProducer_
Definition: EcalSimple2007H4TBAnalyzer.h:56
EcalTBEventHeader
Definition: EcalTBEventHeader.h:14
EcalSimple2007H4TBAnalyzer::h_e5x5_center
TH1F * h_e5x5_center
Definition: EcalSimple2007H4TBAnalyzer.h:75
EcalSimple2007H4TBAnalyzer::h_e9e25_mapy
TH2F * h_e9e25_mapy
Definition: EcalSimple2007H4TBAnalyzer.h:101
EcalTBHodoscopeRecInfo::slopeY
float slopeY() const
Definition: EcalTBHodoscopeRecInfo.h:29
EcalMGPASample::adc
int adc() const
get the ADC sample (12 bits)
Definition: EcalMGPASample.h:31
EcalTBEventHeader::S6ADC
int S6ADC() const
returns S6 ADC value
Definition: EcalTBEventHeader.h:141
EcalSimple2007H4TBAnalyzer::EcalSimple2007H4TBAnalyzer
EcalSimple2007H4TBAnalyzer(const edm::ParameterSet &)
Definition: EcalSimple2007H4TBAnalyzer.cc:49
edm::EventSetup::get
T get() const
Definition: EventSetup.h:87
EcalTBTDCRecInfo::offset
float offset() const
Definition: EcalTBTDCRecInfo.h:19
EcalTBHodoscopeRecInfo
Definition: EcalTBHodoscopeRecInfo.h:12
EcalSimple2007H4TBAnalyzer.h
TruncatedPyramid.h
EcalSimple2007H4TBAnalyzer::h_e1x1_center
TH1F * h_e1x1_center
Definition: EcalSimple2007H4TBAnalyzer.h:73
EcalTBEventHeader::eventNumber
int eventNumber() const
Returns the event number.
Definition: EcalTBEventHeader.h:35
EcalDigiCollections.h
edm::ESHandle< CaloGeometry >
EcalSimple2007H4TBAnalyzer::h_e9e25_mapx
TH2F * h_e9e25_mapx
Definition: EcalSimple2007H4TBAnalyzer.h:100
EcalSimple2007H4TBAnalyzer::hitProducer_
std::string hitProducer_
Definition: EcalSimple2007H4TBAnalyzer.h:54
EcalSimple2007H4TBAnalyzer::h_e9e25
TH1F * h_e9e25
Definition: EcalSimple2007H4TBAnalyzer.h:79
EcalSimple2007H4TBAnalyzer::endJob
void endJob() override
Definition: EcalSimple2007H4TBAnalyzer.cc:164
EcalSimple2007H4TBAnalyzer::h_e1e25
TH1F * h_e1e25
Definition: EcalSimple2007H4TBAnalyzer.h:78
EEDetId::zside
int zside() const
Definition: EEDetId.h:71
EcalSimple2007H4TBAnalyzer::h_bprofy
TH1F * h_bprofy
Definition: EcalSimple2007H4TBAnalyzer.h:83
EcalSimple2007H4TBAnalyzer::h_e1e9_mapy
TH2F * h_e1e9_mapy
Definition: EcalSimple2007H4TBAnalyzer.h:95
EcalSimple2007H4TBAnalyzer::theTBGeometry_
const CaloGeometry * theTBGeometry_
Definition: EcalSimple2007H4TBAnalyzer.h:107
EcalUncalibratedRecHit.h
MTVHistoProducerAlgoForTrackerBlock_cfi.maxHit
maxHit
Definition: MTVHistoProducerAlgoForTrackerBlock_cfi.py:37
EEDetId
Definition: EEDetId.h:14
EcalSimple2007H4TBAnalyzer::h_tableIsMoving
TH1F * h_tableIsMoving
Definition: EcalSimple2007H4TBAnalyzer.h:68
CaloGeometryRecord.h
edm::ParameterSet
Definition: ParameterSet.h:47
EcalTBHodoscopeRecInfo.h
EcalSimple2007H4TBAnalyzer::h_bprofx
TH1F * h_bprofx
Definition: EcalSimple2007H4TBAnalyzer.h:82
cosmicPhotonAnalyzer_cfi.eMax
eMax
Definition: cosmicPhotonAnalyzer_cfi.py:10
CaloGeometry::getGeometry
std::shared_ptr< const CaloCellGeometry > getGeometry(const DetId &id) const
Get the cell geometry of a given detector id.
Definition: CaloGeometry.cc:60
EEDigiCollection
Definition: EcalDigiCollections.h:69
EcalSimple2007H4TBAnalyzer::Xtals5x5
EEDetId Xtals5x5[25]
Definition: EcalSimple2007H4TBAnalyzer.h:105
createfilelist.int
int
Definition: createfilelist.py:10
iEvent
int iEvent
Definition: GenABIO.cc:224
EcalTBEventHeader::tableIsMoving
bool tableIsMoving() const
Tell if the table is Moving.
Definition: EcalTBEventHeader.h:88
edm::DataFrameContainer::begin
const_iterator begin() const
The iterator returned can not safely be used across threads.
Definition: DataFrameContainer.h:149
EcalTBHodoscopeRecInfo::posY
float posY() const
Definition: EcalTBHodoscopeRecInfo.h:26
edm::EventSetup
Definition: EventSetup.h:58
edm::LogError
Log< level::Error, false > LogError
Definition: MessageLogger.h:123
get
#define get
EcalSimple2007H4TBAnalyzer::h_slopex
TH1F * h_slopex
Definition: EcalSimple2007H4TBAnalyzer.h:88
EEDetId::iy
int iy() const
Definition: EEDetId.h:83
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
EcalSimple2007H4TBAnalyzer::h_e3x3_center
TH1F * h_e3x3_center
Definition: EcalSimple2007H4TBAnalyzer.h:74
EcalTBHodoscopeRecInfo::qualY
float qualY() const
Definition: EcalTBHodoscopeRecInfo.h:32
EcalSimple2007H4TBAnalyzer::hodoRecInfoCollection_
std::string hodoRecInfoCollection_
Definition: EcalSimple2007H4TBAnalyzer.h:55
CaloCellGeometry.h
EcalTBTDCRecInfo.h
EcalTBEventHeader.h
EcalSimple2007H4TBAnalyzer::rootfile_
std::string rootfile_
Definition: EcalSimple2007H4TBAnalyzer.h:50
EcalSimple2007H4TBAnalyzer::h_qualx
TH1F * h_qualx
Definition: EcalSimple2007H4TBAnalyzer.h:85
EcalSimple2007H4TBAnalyzer::eventHeaderCollection_
std::string eventHeaderCollection_
Definition: EcalSimple2007H4TBAnalyzer.h:59
EcalSimple2007H4TBAnalyzer::hitCollection_
std::string hitCollection_
Definition: EcalSimple2007H4TBAnalyzer.h:53
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
EcalSimple2007H4TBAnalyzer::digiProducer_
std::string digiProducer_
Definition: EcalSimple2007H4TBAnalyzer.h:52
EcalDataFrame::size
int size() const
Definition: EcalDataFrame.h:26
EcalSimple2007H4TBAnalyzer::analyze
void analyze(edm::Event const &, edm::EventSetup const &) override
Definition: EcalSimple2007H4TBAnalyzer.cc:221
EcalSimple2007H4TBAnalyzer::~EcalSimple2007H4TBAnalyzer
~EcalSimple2007H4TBAnalyzer() override
Definition: EcalSimple2007H4TBAnalyzer.cc:71
EcalTBTDCRecInfo
Definition: EcalTBTDCRecInfo.h:12
EcalSimple2007H4TBAnalyzer::xtalInBeam_
EEDetId xtalInBeam_
Definition: EcalSimple2007H4TBAnalyzer.h:103
EcalTBEventHeader::crystalInBeam
int crystalInBeam() const
Returns the crystal which is being hit by the beam (in the internal SM numbering scheme)
Definition: EcalTBEventHeader.h:80
EcalSimple2007H4TBAnalyzer::h_mapx
TH2F * h_mapx[25]
Definition: EcalSimple2007H4TBAnalyzer.h:91
EcalSimple2007H4TBAnalyzer::h_qualy
TH1F * h_qualy
Definition: EcalSimple2007H4TBAnalyzer.h:86
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
EEDataFrame
Definition: EEDataFrame.h:12
edm::Event
Definition: Event.h:73
EBDetId::SMCRYSTALMODE
static const int SMCRYSTALMODE
Definition: EBDetId.h:159
EcalSimple2007H4TBAnalyzer::h_e3x3
TH1F * h_e3x3
Definition: EcalSimple2007H4TBAnalyzer.h:70
edm::DataFrameContainer::end
const_iterator end() const
Definition: DataFrameContainer.h:152
EcalSimple2007H4TBAnalyzer::xtalInBeamTmp
EBDetId xtalInBeamTmp
Definition: EcalSimple2007H4TBAnalyzer.h:104
EcalSimple2007H4TBAnalyzer::h_mapy
TH2F * h_mapy[25]
Definition: EcalSimple2007H4TBAnalyzer.h:92
cms
Namespace of DDCMS conversion namespace.
Definition: ProducerAnalyzer.cc:21
EcalTBHodoscopeRecInfo::qualX
float qualX() const
Definition: EcalTBHodoscopeRecInfo.h:31
EcalSimple2007H4TBAnalyzer::eventHeaderProducer_
std::string eventHeaderProducer_
Definition: EcalSimple2007H4TBAnalyzer.h:60
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37
EcalSimple2007H4TBAnalyzer::tdcRecInfoCollection_
std::string tdcRecInfoCollection_
Definition: EcalSimple2007H4TBAnalyzer.h:57
EcalTBHodoscopeRecInfo::posX
float posX() const
Definition: EcalTBHodoscopeRecInfo.h:25