CMS 3D CMS Logo

HcalTB02Analysis.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: HcalTestBeam
4 // Class : HcalTB02Analysis
5 //
6 // Implementation:
7 // Main analysis class for Hcal Test Beam 2002 Analysis
8 //
9 // Original Author:
10 // Created: Sun May 21 10:14:34 CEST 2006
11 //
12 
13 // system include files
14 #include <cmath>
15 #include <iostream>
16 #include <iomanip>
17 #include <memory>
18 #include <map>
19 #include <vector>
20 #include <string>
21 
22 // user include files
23 // to retreive hits
33 
38 
41 #include "HcalTB02Histo.h"
42 
43 #include "G4HCofThisEvent.hh"
44 #include "G4SDManager.hh"
45 #include "G4Step.hh"
46 #include "G4Track.hh"
47 #include "G4ThreeVector.hh"
48 #include "G4VProcess.hh"
49 
50 #include "CLHEP/Random/RandGaussQ.h"
51 #include "CLHEP/Units/GlobalSystemOfUnits.h"
52 #include "CLHEP/Units/GlobalPhysicalConstants.h"
53 #include "Randomize.hh"
54 
55 namespace CLHEP {
56  class HepRandomEngine;
57 }
58 
59 class HcalTB02Analysis : public SimProducer, public Observer<const BeginOfEvent*>, public Observer<const EndOfEvent*> {
60 public:
62  ~HcalTB02Analysis() override;
63 
64  void produce(edm::Event&, const edm::EventSetup&) override;
65 
66 private:
67  HcalTB02Analysis(const HcalTB02Analysis&) = delete; // stop default
68  const HcalTB02Analysis& operator=(const HcalTB02Analysis&) = delete;
69 
70  // observer methods
71  void update(const BeginOfEvent* evt) override;
72  void update(const EndOfEvent* evt) override;
73 
75  void clear();
76  void finish();
77 
78 private:
79  // Private Tuples
80  std::unique_ptr<HcalTB02Histo> histo;
81 
82  // to read from parameter set
83  bool hcalOnly;
85  std::vector<std::string> names;
86 
87  //To be saved
88  std::map<int, float> energyInScints, energyInCrystals;
89  std::map<int, float> primaries;
94  int maxTime;
99 };
100 
101 //
102 // constructors and destructor
103 //
104 
106  edm::ParameterSet m_Anal = p.getParameter<edm::ParameterSet>("HcalTB02Analysis");
107  hcalOnly = m_Anal.getUntrackedParameter<bool>("HcalClusterOnly", true);
108  names = m_Anal.getParameter<std::vector<std::string> >("Names");
109 
110  produces<HcalTB02HistoClass>();
111 
112  edm::LogInfo("HcalTBSim") << "HcalTB02Analysis:: Initialised as observer of "
113  << "BeginOfJob/BeginOfEvent/EndOfEvent with "
114  << "Parameter values:\n \thcalOnly = " << hcalOnly;
115 
116  histo = std::make_unique<HcalTB02Histo>(m_Anal);
117 }
118 
120 
121 //
122 // member functions
123 //
124 
126  std::unique_ptr<HcalTB02HistoClass> product(new HcalTB02HistoClass);
127  fillEvent(*product);
128  e.put(std::move(product));
129 }
130 
132  edm::LogInfo("HcalTBSim") << "HcalTB02Analysis: =====> Begin of event = " << (*evt)()->GetEventID();
133  clear();
134 }
135 
137  CLHEP::HepRandomEngine* engine = G4Random::getTheEngine();
138  CLHEP::RandGaussQ randGauss(*engine);
139 
140  // Look for the Hit Collection
141  LogDebug("HcalTBSim") << "HcalTB02Analysis::Fill event " << (*evt)()->GetEventID();
142 
143  // access to the G4 hit collections
144  G4HCofThisEvent* allHC = (*evt)()->GetHCofThisEvent();
145  int ihit = 0;
146 
147  // HCAL
148  std::string sd = names[0];
149  int HCHCid = G4SDManager::GetSDMpointer()->GetCollectionID(sd);
150  CaloG4HitCollection* theHCHC = (CaloG4HitCollection*)allHC->GetHC(HCHCid);
151  LogDebug("HcalTBSim") << "HcalTB02Analysis :: Hit Collection for " << sd << " of ID " << HCHCid << " is obtained at "
152  << theHCHC;
153 
154  int nentries = 0;
155  nentries = theHCHC->entries();
156  if (nentries == 0)
157  return;
158 
159  int xentries = 0;
160  int XTALSid = 0;
161  CaloG4HitCollection* theXTHC = nullptr;
162 
163  if (!hcalOnly) {
164  // XTALS
165  sd = names[1];
166  XTALSid = G4SDManager::GetSDMpointer()->GetCollectionID(sd);
167  theXTHC = (CaloG4HitCollection*)allHC->GetHC(XTALSid);
168  LogDebug("HcalTBSim") << "HcalTB02Analysis :: Hit Collection for " << sd << " of ID " << XTALSid
169  << " is obtained at " << theXTHC;
170  xentries = theXTHC->entries();
171  if (xentries == 0)
172  return;
173  }
174 
175  LogDebug("HcalTBSim") << "HcalTB02Analysis :: There are " << nentries << " HCal hits, and" << xentries
176  << " xtal hits";
177 
178  float ETot = 0., xETot = 0.;
179  int scintID = 0, xtalID = 0;
180 
181  // HCAL
182  std::unique_ptr<HcalTB02HcalNumberingScheme> org(new HcalTB02HcalNumberingScheme());
183 
184  if (HCHCid >= 0 && theHCHC != nullptr) {
185  for (ihit = 0; ihit < nentries; ihit++) {
186  CaloG4Hit* aHit = (*theHCHC)[ihit];
187  scintID = aHit->getUnitID();
188  int layer = org->getlayerID(scintID);
189  float enEm = aHit->getEM();
190  float enhad = aHit->getHadr();
191 
192  if (layer == 0) {
193  enEm = enEm / 2.;
194  enhad = enhad / 2.;
195  }
196 
197  energyInScints[scintID] += enEm + enhad;
198  primaries[aHit->getTrackID()] += enEm + enhad;
199  float time = aHit->getTimeSliceID();
200  if (time > maxTime)
201  maxTime = (int)time;
202  histo->fillAllTime(time);
203  }
204 
205  //
206  // Profile
207  //
208 
209  float TowerEne[8][18], TowerEneCF[8][18], LayerEne[19], EnRing[100];
210  for (int iphi = 0; iphi < 8; iphi++) {
211  for (int jeta = 0; jeta < 18; jeta++) {
212  TowerEne[iphi][jeta] = 0.;
213  TowerEneCF[iphi][jeta] = 0.;
214  }
215  }
216 
217  for (int ilayer = 0; ilayer < 19; ilayer++)
218  LayerEne[ilayer] = 0.;
219  for (int iring = 0; iring < 100; iring++)
220  EnRing[iring] = 0.;
221 
222  for (std::map<int, float>::iterator is = energyInScints.begin(); is != energyInScints.end(); is++) {
223  ETot = (*is).second;
224 
225  int layer = org->getlayerID((*is).first);
226 
227  if ((layer != 17) && (layer != 18)) {
228  float eta = org->getetaID((*is).first);
229  float phi = org->getphiID((*is).first);
230 
231  SEnergy += ETot;
232  TowerEne[(int)phi][(int)eta] += ETot;
233 
234  TowerEneCF[(int)phi][(int)eta] += ETot * (1. + 0.1 * randGauss.fire());
235  double dR = 0.08727 * std::sqrt((eta - 8.) * (eta - 8.) + (phi - 3.) * (phi - 3.));
236  EnRing[(int)(dR / 0.01)] += ETot;
237  }
238 
239  LayerEne[layer] += ETot;
240  }
241 
242  for (int ilayer = 0; ilayer < 19; ilayer++) {
243  histo->fillProfile(ilayer, LayerEne[ilayer] / GeV);
244  }
245 
246  for (int iring = 0; iring < 100; iring++)
247  histo->fillTransProf(0.01 * iring + 0.005, EnRing[iring] / GeV);
248 
249  for (int iphi = 0; iphi < 8; iphi++) {
250  for (int jeta = 0; jeta < 18; jeta++) {
251  SEnergyN += TowerEneCF[iphi][jeta] + 3. * randGauss.fire(); // QGSP
252 
253  double Rand = 3. * randGauss.fire(); // QGSP
254 
255  if ((iphi >= 0) && (iphi < 7)) {
256  if ((jeta >= 5) && (jeta < 12)) {
257  E7x7Matrix += TowerEne[iphi][jeta];
258  E7x7MatrixN += TowerEneCF[iphi][jeta] + Rand;
259 
260  if ((iphi >= 1) && (iphi < 6)) {
261  if ((jeta >= 6) && (jeta < 11)) {
262  E5x5Matrix += TowerEne[iphi][jeta];
263  E5x5MatrixN += TowerEneCF[iphi][jeta] + Rand;
264  }
265  }
266  }
267  }
268  }
269  }
270 
271  //
272  // Find Primary info:
273  //
274  int trackID = 0;
275  G4PrimaryParticle* thePrim = nullptr;
276  G4int nvertex = (*evt)()->GetNumberOfPrimaryVertex();
277  LogDebug("HcalTBSim") << "HcalTB02Analysis :: Event has " << nvertex << " vertex";
278  if (nvertex == 0)
279  edm::LogWarning("HcalTBSim") << "HcalTB02Analysis:: End Of Event "
280  << "ERROR: no vertex";
281 
282  for (int i = 0; i < nvertex; i++) {
283  G4PrimaryVertex* avertex = (*evt)()->GetPrimaryVertex(i);
284  if (avertex == nullptr) {
285  edm::LogWarning("HcalTBSim") << "HcalTB02Analysis:: End Of Event "
286  << "ERROR: pointer to vertex = 0";
287  } else {
288  int npart = avertex->GetNumberOfParticle();
289  LogDebug("HcalTBSim") << "HcalTB02Analysis::Vertex number :" << i << " with " << npart << " particles";
290  if (thePrim == nullptr)
291  thePrim = avertex->GetPrimary(trackID);
292  }
293  }
294 
295  double px = 0., py = 0., pz = 0.;
296 
297  if (thePrim != nullptr) {
298  px = thePrim->GetPx();
299  py = thePrim->GetPy();
300  pz = thePrim->GetPz();
301  pInit = std::sqrt(pow(px, 2.) + pow(py, 2.) + pow(pz, 2.));
302  if (pInit == 0) {
303  edm::LogWarning("HcalTBSim") << "HcalTB02Analysis:: End Of Event "
304  << " ERROR: primary has p=0 ";
305  } else {
306  float costheta = pz / pInit;
307  float theta = acos(std::min(std::max(costheta, float(-1.)), float(1.)));
308  eta = -log(tan(theta / 2));
309  if (px != 0)
310  phi = atan(py / px);
311  }
312  particleType = thePrim->GetPDGcode();
313  } else {
314  LogDebug("HcalTBSim") << "HcalTB02Analysis:: End Of Event ERROR: could"
315  << " not find primary ";
316  }
317 
318  CaloG4Hit* firstHit = (*theHCHC)[0];
319  incidentEnergy = (firstHit->getIncidentEnergy() / GeV);
320 
321  } // number of Hits > 0
322 
323  if (!hcalOnly) {
324  // XTALS
325 
326  if (XTALSid >= 0 && theXTHC != nullptr) {
327  for (int xihit = 0; xihit < xentries; xihit++) {
328  CaloG4Hit* xaHit = (*theXTHC)[xihit];
329 
330  float xenEm = xaHit->getEM();
331  float xenhad = xaHit->getHadr();
332  xtalID = xaHit->getUnitID();
333 
334  energyInCrystals[xtalID] += xenEm + xenhad;
335  }
336 
337  float xCrysEne[7][7];
338  for (int irow = 0; irow < 7; irow++) {
339  for (int jcol = 0; jcol < 7; jcol++) {
340  xCrysEne[irow][jcol] = 0.;
341  }
342  }
343 
344  for (std::map<int, float>::iterator is = energyInCrystals.begin(); is != energyInCrystals.end(); is++) {
345  int xtalID = (*is).first;
346  xETot = (*is).second;
347 
348  int irow = (int)(xtalID / 100.);
349  int jcol = (int)(xtalID - 100. * irow);
350 
351  xSEnergy += xETot;
352  xCrysEne[irow][jcol] = xETot;
353 
354  float dR = std::sqrt(0.01619 * 0.01619 * (jcol - 3) * (jcol - 3) + 0.01606 * 0.01606 * (irow - 3) * (irow - 3));
355  histo->fillTransProf(dR, xETot * 1.05);
356 
357  if ((irow > 0) && (irow < 6)) {
358  if ((jcol > 0) && (jcol < 6)) {
359  xE5x5Matrix += xCrysEne[irow][jcol];
360  xE5x5MatrixN += xCrysEne[irow][jcol] + 108.5 * randGauss.fire();
361 
362  if ((irow > 1) && (irow < 5)) {
363  if ((jcol > 1) && (jcol < 5)) {
364  xE3x3Matrix += xCrysEne[irow][jcol];
365  xE3x3MatrixN += xCrysEne[irow][jcol] + 108.5 * randGauss.fire();
366  }
367  }
368  }
369  }
370  }
371 
372  if (!hcalOnly) {
373  // assert(theXTHC);
374  if (theXTHC != nullptr) {
375  CaloG4Hit* xfirstHit = (*theXTHC)[0];
376  xIncidentEnergy = xfirstHit->getIncidentEnergy() / GeV;
377  }
378  }
379 
380  } // number of Hits > 0
381  }
382 
383  int iEvt = (*evt)()->GetEventID();
384  if (iEvt < 10)
385  std::cout << " Event " << iEvt << std::endl;
386  else if ((iEvt < 100) && (iEvt % 10 == 0))
387  std::cout << " Event " << iEvt << std::endl;
388  else if ((iEvt < 1000) && (iEvt % 100 == 0))
389  std::cout << " Event " << iEvt << std::endl;
390  else if ((iEvt < 10000) && (iEvt % 1000 == 0))
391  std::cout << " Event " << iEvt << std::endl;
392 }
393 
395  //Beam information
396  product.set_Nprim(float(primaries.size()));
397  product.set_partType(particleType);
398  product.set_Einit(pInit / GeV);
399  product.set_eta(eta);
400  product.set_phi(phi);
401  product.set_Eentry(incidentEnergy);
402 
403  //Calorimeter energy
404  product.set_ETot(SEnergy / GeV);
405  product.set_E7x7(E7x7Matrix / GeV);
406  product.set_E5x5(E5x5Matrix / GeV);
407  product.set_ETotN(SEnergyN / GeV);
408  product.set_E7x7N(E7x7MatrixN / GeV);
409  product.set_E5x5N(E5x5MatrixN / GeV);
410  product.set_NUnit(float(energyInScints.size()));
411  product.set_Ntimesli(float(maxTime));
412 
413  //crystal information
414  product.set_xEentry(xIncidentEnergy);
415  product.set_xNUnit(float(energyInCrystals.size()));
416  product.set_xETot(xSEnergy / GeV);
417  product.set_xETotN(xSEnergyN / GeV);
418  product.set_xE5x5(xE5x5Matrix / GeV);
419  product.set_xE3x3(xE3x3Matrix / GeV);
420  product.set_xE5x5N(xE5x5MatrixN / GeV);
421  product.set_xE3x3N(xE3x3MatrixN / GeV);
422 }
423 
425  primaries.clear();
426  particleType = 0;
427  pInit = eta = phi = incidentEnergy = 0;
428 
430  E7x7MatrixN = E5x5MatrixN = 0;
431  energyInScints.clear();
432  maxTime = 0;
433 
434  xIncidentEnergy = 0;
435  energyInCrystals.clear();
438 }
439 
441  /*
442  //Profile
443  std::ofstream oFile;
444  oFile.open("profile.dat");
445  float st[19] = {0.8,
446  0.4, 0.4, 0.4, 0.4, 0.4,
447  0.4, 0.4, 0.4, 0.4, 0.4,
448  0.4, 0.4, 0.4, 0.4, 0.4,
449  0.8, 1.0, 1.0};
450 
451  //cm of material (brass) in front of scintillator layer i:
452 
453  float w[19] = {7.45, //iron !
454  6.00, 6.00, 6.00, 6.00, 6.00, //brass
455  6.00, 6.00, 6.00, 6.00, 6.60, //brass
456  6.60, 6.60, 6.60, 6.60, 6.60, //brass
457  8.90, 20.65, 19.5}; //brass,iron !
458 
459  for (int ilayer = 0; ilayer<19; ilayer++) {
460 
461  // Histogram mean and sigma calculated from the ROOT histos
462  edm::LogInfo("HcalTBSim") << "Layer number: " << ilayer << " Mean = "
463  << histo->getMean(ilayer) << " sigma = "
464  << histo->getRMS(ilayer) << " LThick= "
465  << w[ilayer] << " SThick= " << st[ilayer];
466 
467  oFile << ilayer << " " << histo->getMean(ilayer) << " "
468  << histo->getRMS(ilayer) << " " << w[ilayer] << " " << st[ilayer]
469  << std::endl;
470 
471  }
472  oFile.close();
473  */
474 }
475 
HcalTB02HistoClass::set_xEentry
void set_xEentry(float v)
Definition: HcalTB02HistoClass.h:70
HcalTB02HistoClass::set_E7x7
void set_E7x7(float v)
Definition: HcalTB02HistoClass.h:64
HcalTB02Analysis::E7x7MatrixN
float E7x7MatrixN
Definition: HcalTB02Analysis.cc:93
CaloG4Hit::getTrackID
int getTrackID() const
Definition: CaloG4Hit.h:64
mps_fire.i
i
Definition: mps_fire.py:428
Observer
Definition: Observer.h:23
MessageLogger.h
HcalTB02HistoClass::set_xNUnit
void set_xNUnit(float v)
Definition: HcalTB02HistoClass.h:77
HcalTB02HistoClass::set_xE3x3N
void set_xE3x3N(float v)
Definition: HcalTB02HistoClass.h:76
HcalTB02Analysis::update
void update(const BeginOfEvent *evt) override
This routine will be called when the appropriate signal arrives.
Definition: HcalTB02Analysis.cc:131
HcalTB02HistoClass::set_Ntimesli
void set_Ntimesli(float v)
Definition: HcalTB02HistoClass.h:69
HcalTB02Analysis::pInit
double pInit
Definition: HcalTB02Analysis.cc:91
BeginOfJob.h
HcalTB02Analysis::xIncidentEnergy
double xIncidentEnergy
Definition: HcalTB02Analysis.cc:95
min
T min(T a, T b)
Definition: MathUtil.h:58
CaloG4HitCollection.h
CaloG4Hit::getUnitID
uint32_t getUnitID() const
Definition: CaloG4Hit.h:65
multPhiCorr_741_25nsDY_cfi.py
py
Definition: multPhiCorr_741_25nsDY_cfi.py:12
SimProducer.h
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
METSignificanceParams_cfi.jeta
jeta
Definition: METSignificanceParams_cfi.py:12
HcalTB02HistoClass::set_xETot
void set_xETot(float v)
Definition: HcalTB02HistoClass.h:71
gather_cfg.cout
cout
Definition: gather_cfg.py:144
HcalTB02Analysis::xE3x3Matrix
float xE3x3Matrix
Definition: HcalTB02Analysis.cc:97
HcalTB02HistoClass::set_xETotN
void set_xETotN(float v)
Definition: HcalTB02HistoClass.h:72
HcalTB02Analysis::primaries
std::map< int, float > primaries
Definition: HcalTB02Analysis.cc:89
EndOfEvent.h
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
HcalTB02Analysis::hcalOnly
bool hcalOnly
Definition: HcalTB02Analysis.cc:83
HcalTB02Analysis::SEnergyN
float SEnergyN
Definition: HcalTB02Analysis.cc:93
HcalTB02Analysis::maxTime
int maxTime
Definition: HcalTB02Analysis.cc:94
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
npart
double npart
Definition: HydjetWrapper.h:46
HcalTB02Analysis::names
std::vector< std::string > names
Definition: HcalTB02Analysis.cc:85
HcalTB02Analysis::E5x5MatrixN
float E5x5MatrixN
Definition: HcalTB02Analysis.cc:93
HcalTB02Analysis::E5x5Matrix
float E5x5Matrix
Definition: HcalTB02Analysis.cc:92
Observer.h
HcalTB02HistoClass::set_partType
void set_partType(float v)
Definition: HcalTB02HistoClass.h:56
LEDCalibrationChannels.iphi
iphi
Definition: LEDCalibrationChannels.py:64
HcalTB02HistoClass::set_xE3x3
void set_xE3x3(float v)
Definition: HcalTB02HistoClass.h:74
HcalTB02Analysis::E7x7Matrix
float E7x7Matrix
Definition: HcalTB02Analysis.cc:92
DEFINE_SIMWATCHER
#define DEFINE_SIMWATCHER(type)
Definition: SimWatcherFactory.h:13
MakerMacros.h
HcalTB02Analysis::xE5x5MatrixN
float xE5x5MatrixN
Definition: HcalTB02Analysis.cc:98
HcalTB02Histo.h
HcalTB02Analysis
Definition: HcalTB02Analysis.cc:59
HcalTB02HistoClass::set_phi
void set_phi(float v)
Definition: HcalTB02HistoClass.h:60
HcalTB02Analysis::clear
void clear()
Definition: HcalTB02Analysis.cc:424
HcalTB02HistoClass::set_xE5x5
void set_xE5x5(float v)
Definition: HcalTB02HistoClass.h:73
HcalTB02HistoClass.h
HcalTB02Analysis::energyInCrystals
std::map< int, float > energyInCrystals
Definition: HcalTB02Analysis.cc:88
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
HcalTB02Analysis::xSEnergy
float xSEnergy
Definition: HcalTB02Analysis.cc:96
HcalTB02Analysis::energyInScints
std::map< int, float > energyInScints
Definition: HcalTB02Analysis.cc:88
HcalTB02HcalNumberingScheme.h
theta
Geom::Theta< T > theta() const
Definition: Basic3DVectorLD.h:150
HcalTB02Analysis::fileNameTuple
std::string fileNameTuple
Definition: HcalTB02Analysis.cc:84
HcalTB02Analysis::eta
double eta
Definition: HcalTB02Analysis.cc:91
HcalTB02Analysis::~HcalTB02Analysis
~HcalTB02Analysis() override
Definition: HcalTB02Analysis.cc:119
EndOfEvent
Definition: EndOfEvent.h:6
CLHEP
Definition: CocoaGlobals.h:27
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HcalTB02Analysis::incidentEnergy
double incidentEnergy
Definition: HcalTB02Analysis.cc:91
CaloG4Hit::getEM
double getEM() const
Definition: CaloG4Hit.h:55
HcalTB02HistoClass::set_Nprim
void set_Nprim(float v)
Definition: HcalTB02HistoClass.h:57
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:223
edm::ParameterSet
Definition: ParameterSet.h:47
Event.h
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
SimProducer
Definition: SimProducer.h:64
HcalTB02HistoClass::set_Eentry
void set_Eentry(float v)
Definition: HcalTB02HistoClass.h:61
SimWatcherFactory.h
GeV
const double GeV
Definition: MathUtil.h:16
HcalTB02HistoClass::set_E5x5N
void set_E5x5N(float v)
Definition: HcalTB02HistoClass.h:66
BeginOfEvent.h
HcalTB02HistoClass::set_NUnit
void set_NUnit(float v)
Definition: HcalTB02HistoClass.h:68
funct::tan
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
HcalTB02HistoClass::set_E5x5
void set_E5x5(float v)
Definition: HcalTB02HistoClass.h:63
ModuleDef.h
createfilelist.int
int
Definition: createfilelist.py:10
HcalTB02HistoClass::set_eta
void set_eta(float v)
Definition: HcalTB02HistoClass.h:59
HcalTB02Analysis::produce
void produce(edm::Event &, const edm::EventSetup &) override
Definition: HcalTB02Analysis.cc:125
BeginOfEvent
Definition: BeginOfEvent.h:6
edm::EventSetup
Definition: EventSetup.h:57
HcalTB02HistoClass::set_ETotN
void set_ETotN(float v)
Definition: HcalTB02HistoClass.h:65
CaloG4Hit
Definition: CaloG4Hit.h:32
HcalTB02Analysis::fillEvent
void fillEvent(HcalTB02HistoClass &)
Definition: HcalTB02Analysis.cc:394
HcalTB02Analysis::xE5x5Matrix
float xE5x5Matrix
Definition: HcalTB02Analysis.cc:97
HcalTB02XtalNumberingScheme.h
multPhiCorr_741_25nsDY_cfi.px
px
Definition: multPhiCorr_741_25nsDY_cfi.py:10
HcalTB02HcalNumberingScheme
Definition: HcalTB02HcalNumberingScheme.h:24
eostools.move
def move(src, dest)
Definition: eostools.py:511
HcalTB02Analysis::xSEnergyN
float xSEnergyN
Definition: HcalTB02Analysis.cc:96
HcalTB02Analysis::SEnergy
float SEnergy
Definition: HcalTB02Analysis.cc:92
HcalTB02HistoClass::set_Einit
void set_Einit(float v)
Definition: HcalTB02HistoClass.h:58
CaloG4Hit::getTimeSliceID
int getTimeSliceID() const
Definition: CaloG4Hit.h:67
CaloG4Hit::getIncidentEnergy
double getIncidentEnergy() const
Definition: CaloG4Hit.h:61
HcalTB02Analysis::finish
void finish()
Definition: HcalTB02Analysis.cc:440
HcalTB02Analysis::particleType
int particleType
Definition: HcalTB02Analysis.cc:90
HcalTB02HistoClass::set_E7x7N
void set_E7x7N(float v)
Definition: HcalTB02HistoClass.h:67
HcalTB02HistoClass
Definition: HcalTB02HistoClass.h:23
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
CaloG4HitCollection
G4THitsCollection< CaloG4Hit > CaloG4HitCollection
Definition: CaloG4HitCollection.h:11
dqm-mbProfile.log
log
Definition: dqm-mbProfile.py:17
sd
double sd
Definition: CascadeWrapper.h:113
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
HcalTB02Analysis::phi
double phi
Definition: HcalTB02Analysis.cc:91
HGC3DClusterGenMatchSelector_cfi.dR
dR
Definition: HGC3DClusterGenMatchSelector_cfi.py:7
HcalTB02Analysis::operator=
const HcalTB02Analysis & operator=(const HcalTB02Analysis &)=delete
ntuplemaker.time
time
Definition: ntuplemaker.py:310
edm::Event
Definition: Event.h:73
HcalTB02Analysis::xE3x3MatrixN
float xE3x3MatrixN
Definition: HcalTB02Analysis.cc:98
HcalTB02Analysis::histo
std::unique_ptr< HcalTB02Histo > histo
Definition: HcalTB02Analysis.cc:80
CaloG4Hit::getHadr
double getHadr() const
Definition: CaloG4Hit.h:58
HcalTB02Analysis::HcalTB02Analysis
HcalTB02Analysis(const edm::ParameterSet &p)
Definition: HcalTB02Analysis.cc:105
HcalTB02HistoClass::set_ETot
void set_ETot(float v)
Definition: HcalTB02HistoClass.h:62
CaloG4Hit.h
HcalTB02HistoClass::set_xE5x5N
void set_xE5x5N(float v)
Definition: HcalTB02HistoClass.h:75
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37