CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Private Member Functions | Private Attributes
HcalForwardAnalysis Class Reference

#include <HcalForwardAnalysis.h>

Inheritance diagram for HcalForwardAnalysis:
SimProducer Observer< const BeginOfRun * > Observer< const BeginOfEvent * > Observer< const EndOfEvent * > Observer< const G4Step * > SimWatcher

Classes

struct  Photon
 

Public Member Functions

 HcalForwardAnalysis (const edm::ParameterSet &p)
 
void produce (edm::Event &, const edm::EventSetup &) override
 
 ~HcalForwardAnalysis () override
 
- Public Member Functions inherited from SimProducer
void registerProducts (edm::ProducesCollector producesCollector)
 
 SimProducer ()
 
- Public Member Functions inherited from SimWatcher
const SimWatcheroperator= (const SimWatcher &)=delete
 
 SimWatcher ()
 
 SimWatcher (const SimWatcher &)=delete
 
virtual ~SimWatcher ()
 
- Public Member Functions inherited from Observer< const BeginOfRun * >
 Observer ()
 
void slotForUpdate (const BeginOfRun * iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const BeginOfEvent * >
 Observer ()
 
void slotForUpdate (const BeginOfEvent * iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const EndOfEvent * >
 Observer ()
 
void slotForUpdate (const EndOfEvent * iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const G4Step * >
 Observer ()
 
void slotForUpdate (const G4Step * iT)
 
virtual ~Observer ()
 

Private Member Functions

void clear ()
 
void fillEvent ()
 
 HcalForwardAnalysis (const HcalForwardAnalysis &)=delete
 
void init ()
 
const HcalForwardAnalysisoperator= (const HcalForwardAnalysis &)=delete
 
void parseDetId (int id, int &tower, int &cell, int &fiber)
 
void setPhotons (const EndOfEvent *evt)
 
void update (const BeginOfEvent *evt) override
 This routine will be called when the appropriate signal arrives. More...
 
void update (const BeginOfRun *run) override
 This routine will be called when the appropriate signal arrives. More...
 
void update (const EndOfEvent *evt) override
 This routine will be called when the appropriate signal arrives. More...
 
void update (const G4Step *step) override
 This routine will be called when the appropriate signal arrives. More...
 

Private Attributes

int count
 
int evNum
 
int fiberId [10000]
 
float lambda [10000]
 
int nphot
 
float primMomX
 
float primMomY
 
float primMomZ
 
float primT
 
float primX
 
float primY
 
float primZ
 
float t [10000]
 
int theEventCounter
 
edm::Service< TFileServicetheFile
 
std::vector< std::string > theNames
 
std::vector< PhotonthePhotons
 
TTree * theTree
 
float x [10000]
 
float y [10000]
 
float z [10000]
 

Additional Inherited Members

- Protected Member Functions inherited from SimProducer
template<class T >
void produces ()
 
template<class T >
void produces (const std::string &instanceName)
 

Detailed Description

Definition at line 33 of file HcalForwardAnalysis.h.

Constructor & Destructor Documentation

◆ HcalForwardAnalysis() [1/2]

HcalForwardAnalysis::HcalForwardAnalysis ( const edm::ParameterSet p)

Definition at line 27 of file HcalForwardAnalysis.cc.

27  {
28  edm::ParameterSet m_SLP = p.getParameter<edm::ParameterSet>("HFShowerLibraryProducer");
29  theNames = m_SLP.getParameter<std::vector<std::string> >("Names");
30  //LibVer = m_HS.getParameter<std::string> ("LibVer");
31  //produces<HFShowerPhotonCollection> ();
32  init();
33  theEventCounter = 0;
34  nphot = 0;
35  for (int i = 0; i < 10000; ++i) {
36  x[i] = 0.;
37  y[i] = 0.;
38  z[i] = 0.;
39  t[i] = 0.;
40  lambda[i] = 0.;
41  fiberId[i] = 0;
42  }
43  primX = primY = primZ = primT = 0.;
44  primMomX = primMomY = primMomZ = 0.;
45 }

References fiberId, edm::ParameterSet::getParameter(), mps_fire::i, init(), lambda, nphot, AlCaHLTBitMon_ParallelJobs::p, primMomX, primMomY, primMomZ, primT, primX, primY, primZ, t, theEventCounter, theNames, x, y, and z.

◆ ~HcalForwardAnalysis()

HcalForwardAnalysis::~HcalForwardAnalysis ( )
override

Definition at line 47 of file HcalForwardAnalysis.cc.

47 {}

◆ HcalForwardAnalysis() [2/2]

HcalForwardAnalysis::HcalForwardAnalysis ( const HcalForwardAnalysis )
privatedelete

Member Function Documentation

◆ clear()

void HcalForwardAnalysis::clear ( void  )
private

Definition at line 257 of file HcalForwardAnalysis.cc.

257  {
258  nphot = 0;
259  for (int i = 0; i < 10000; ++i) {
260  x[i] = 0.;
261  y[i] = 0.;
262  z[i] = 0.;
263  t[i] = 0.;
264  lambda[i] = 0.;
265  fiberId[i] = 0;
266  }
267  primX = primY = primZ = primT = 0.;
268  primMomX = primMomY = primMomZ = 0.;
269 
270  thePhotons.clear();
271 }

References fiberId, mps_fire::i, lambda, nphot, primMomX, primMomY, primMomZ, primT, primX, primY, primZ, t, thePhotons, x, y, and z.

Referenced by init(), and update().

◆ fillEvent()

void HcalForwardAnalysis::fillEvent ( )
private

Definition at line 236 of file HcalForwardAnalysis.cc.

236  {
237  /*
238  edm::LogVerbatim("HcalForwardLib") << "HcalForwardAnalysis: =====> filledEvent";
239  */
240  nphot = int(thePhotons.size());
241  for (int i = 0; i < nphot; ++i) {
242  x[i] = thePhotons[i].x;
243  y[i] = thePhotons[i].y;
244  z[i] = thePhotons[i].z;
245  t[i] = thePhotons[i].t;
246  lambda[i] = thePhotons[i].lambda;
247  fiberId[i] = thePhotons[i].fiberId;
248  }
249  theTree->Fill();
250 }

References fiberId, mps_fire::i, createfilelist::int, lambda, nphot, t, thePhotons, theTree, x, y, and z.

Referenced by produce().

◆ init()

void HcalForwardAnalysis::init ( void  )
private

Definition at line 64 of file HcalForwardAnalysis.cc.

64  {
65  theTree = theFile->make<TTree>("CherenkovPhotons", "Cherenkov Photons");
66  theTree->Branch("nphot", &nphot, "nphot/I");
67  theTree->Branch("x", &x, "x[nphot]/F");
68  theTree->Branch("y", &y, "y[nphot]/F");
69  theTree->Branch("z", &z, "z[nphot]/F");
70  theTree->Branch("t", &t, "t[nphot]/F");
71  theTree->Branch("lambda", &lambda, "lambda[nphot]/F");
72  theTree->Branch("fiberId", &fiberId, "fiberId[nphot]/I");
73  theTree->Branch("primX", &primX, "primX/F");
74  theTree->Branch("primY", &primY, "primY/F");
75  theTree->Branch("primZ", &primZ, "primZ/F");
76  theTree->Branch("primMomX", &primMomX, "primMomX/F");
77  theTree->Branch("primMomY", &primMomY, "primMomY/F");
78  theTree->Branch("primMomZ", &primMomZ, "primMomZ/F");
79  theTree->Branch("primT", &primT, "primT/F");
80 
81  // counter
82  count = 0;
83  evNum = 0;
84  clear();
85 }

References clear(), count, evNum, fiberId, lambda, TFileService::make(), nphot, primMomX, primMomY, primMomZ, primT, primX, primY, primZ, t, theFile, theTree, x, y, and z.

Referenced by HcalForwardAnalysis().

◆ operator=()

const HcalForwardAnalysis& HcalForwardAnalysis::operator= ( const HcalForwardAnalysis )
privatedelete

◆ parseDetId()

void HcalForwardAnalysis::parseDetId ( int  id,
int &  tower,
int &  cell,
int &  fiber 
)
private

Definition at line 251 of file HcalForwardAnalysis.cc.

251  {
252  tower = id / 10000;
253  cell = id / 10 - tower * 10;
254  fiber = id - tower * 10000 - cell * 10;
255 }

References hgcalTowerProducer_cfi::tower.

Referenced by setPhotons().

◆ produce()

void HcalForwardAnalysis::produce ( edm::Event iEvent,
const edm::EventSetup  
)
overridevirtual

Implements SimProducer.

Definition at line 53 of file HcalForwardAnalysis.cc.

53  {
54  //std::auto_ptr<HFShowerPhotonCollection> product(new HFShowerPhotonCollection);
55  //edm::LogVerbatim("HcalForwardLib") << "HcalForwardAnalysis: =====> Filling event";
56  //fillEvent(*product);
57  //iEvent.put(product);
58  //std::auto_ptr<PHcalForwardLibInfo> product(new PHcalForwardLibInfo);
59  //fillEvent(*product);
60  fillEvent();
61  //iEvent.put(product);
62 }

References fillEvent().

◆ setPhotons()

void HcalForwardAnalysis::setPhotons ( const EndOfEvent evt)
private

Definition at line 118 of file HcalForwardAnalysis.cc.

118  {
119  int idHC, j;
120  FiberG4HitsCollection* theHC;
121  // Look for the Hit Collection of HCal
122  G4HCofThisEvent* allHC = (*evt)()->GetHCofThisEvent();
123  edm::LogVerbatim("HcalForwardLib") << "HcalForwardAnalysis:: Has " << allHC->GetNumberOfCollections()
124  << " collections";
125  for (int k = 0; k < allHC->GetNumberOfCollections(); ++k) {
126  G4String name = (allHC->GetHC(k) == nullptr) ? "Unknown" : allHC->GetHC(k)->GetName();
127  G4String nameSD = (allHC->GetHC(k) == nullptr) ? "Unknown" : allHC->GetHC(k)->GetSDname();
128  edm::LogVerbatim("HcalForwardLib") << "Collecttion[" << k << "] " << allHC->GetHC(k) << " " << name << ":"
129  << nameSD;
130  }
131  std::string sdName = theNames[0]; //name for fiber hits
132  idHC = G4SDManager::GetSDMpointer()->GetCollectionID(sdName);
133  theHC = (FiberG4HitsCollection*)allHC->GetHC(idHC);
134  edm::LogVerbatim("HcalForwardLib") << "HcalForwardAnalysis::setPhotons() Hit Collection for " << sdName << " of ID "
135  << idHC << " is obtained at " << theHC;
136  std::vector<HFShowerPhoton> ShortFiberPhotons;
137  std::vector<HFShowerPhoton> LongFiberPhotons;
138  LongFiberPhotons.clear();
139  ShortFiberPhotons.clear();
140  if (idHC >= 0 && theHC != nullptr) {
141  int thehc_entries = theHC->entries();
142  edm::LogVerbatim("HcalForwardLib") << "FiberhitSize " << thehc_entries;
143  for (j = 0; j < thehc_entries; j++) {
144  FiberG4Hit* aHit = (*theHC)[j];
145  std::vector<HFShowerPhoton> thePhotonsFromHit = aHit->photon();
146  edm::LogVerbatim("HcalForwardLib") << "Fiberhit " << j << " has " << thePhotonsFromHit.size() << " photons.";
147  int fTowerId = -1;
148  int fCellId = -1;
149  int fFiberId = -1;
150  parseDetId(aHit->towerId(), fTowerId, fCellId, fFiberId);
151  for (unsigned int iph = 0; iph < thePhotonsFromHit.size(); ++iph) {
152  if (aHit->depth() == 1)
153  LongFiberPhotons.push_back(thePhotonsFromHit[iph]);
154  if (aHit->depth() == 2)
155  ShortFiberPhotons.push_back(thePhotonsFromHit[iph]);
156  }
157  edm::LogVerbatim("HcalForwardLib") << "HcalForwardAnalysis::setPhotons() NbPhotons " << thePhotonsFromHit.size()
158  << " towerId " << fTowerId << " cellId " << fCellId << " fiberId " << fFiberId
159  << " depth " << aHit->depth();
160  }
161  } else {
162  edm::LogVerbatim("HcalForwardLib") << "HcalForwardAnalysis::setPhotons(): No Photons!";
163  return;
164  }
165  edm::LogVerbatim("HcalForwardLib") << "HcalForwardAnalysis::setPhotons() LongFibPhotons: " << LongFiberPhotons.size()
166  << " ShortFibPhotons: " << ShortFiberPhotons.size();
167  edm::LogVerbatim("HcalForwardLib") << "HcalForwardAnalysis::setPhotons() LongFibPhotons: " << LongFiberPhotons.size()
168  << " ShortFibPhotons: " << ShortFiberPhotons.size();
169 
170  //Chamber hits to find information about primary particle on surface
171  HFShowerG4HitsCollection* theChamberHC;
172  G4HCofThisEvent* allChamberHC = (*evt)()->GetHCofThisEvent();
173  sdName = theNames[1];
174  idHC = G4SDManager::GetSDMpointer()->GetCollectionID(sdName);
175  theChamberHC = (HFShowerG4HitsCollection*)allChamberHC->GetHC(idHC);
176  math::XYZPoint primPosOnSurf(0, 0, 0);
177  math::XYZPoint primMomDirOnSurf(0, 0, 0);
178  float primTimeOnSurf = 0;
179  // the chamber hit is for primary particle, but step size can be small
180  // (in newer Geant4 versions) and as a result primary particle may have
181  // multiple hits. We want to take last one which is close the HF absorber
182  if (idHC >= 0 && theChamberHC != nullptr) {
183  edm::LogVerbatim("HcalForwardLib") << "HcalForwardAnalysis::setPhotons() Chamber Hits size: "
184  << theChamberHC->entries();
185  int thec_hc_entries = theChamberHC->entries();
186  for (j = 0; j < thec_hc_entries; ++j) {
187  HFShowerG4Hit* aHit = (*theChamberHC)[j];
188  edm::LogVerbatim("HcalForwardLib") << "HcalForwardAnalysis::setPhotons() Chamber Hit id " << aHit->hitId()
189  << " track id " << aHit->trackId() << " prim. pos. " << aHit->globalPosition()
190  << " prom mom. dir. " << aHit->primaryMomDir() << " time " << aHit->time();
191  primPosOnSurf.SetXYZ(aHit->globalPosition().x(), aHit->globalPosition().y(), aHit->globalPosition().z());
192  primMomDirOnSurf.SetXYZ(aHit->primaryMomDir().x(), aHit->primaryMomDir().y(), aHit->primaryMomDir().z());
193  primTimeOnSurf = aHit->time();
194  }
195  } else {
196  edm::LogVerbatim("HcalForwardLib") << "HcalForwardAnalysis::setPhotons(): No Chamber hits. Something is wrong!";
197  return;
198  }
199  primX = primPosOnSurf.x();
200  primY = primPosOnSurf.y();
201  primZ = primPosOnSurf.z();
202  primT = primTimeOnSurf;
203  primMomX = primMomDirOnSurf.x();
204  primMomY = primMomDirOnSurf.y();
205  primMomZ = primMomDirOnSurf.z();
206  //production point of Cherenkov photons in long fibers w.r.t local coordinates
207  float photonProdX = 0.;
208  float photonProdY = 0.;
209  float photonProdZ = 0.;
210  float photonProdTime = 0.;
211  //angles for rotation matrices
212  double theta = primMomDirOnSurf.theta();
213  double phi = primMomDirOnSurf.phi();
214 
215  for (unsigned int k = 0; k < LongFiberPhotons.size(); ++k) {
216  HFShowerPhoton aPhoton = LongFiberPhotons[k];
217  photonProdX = aPhoton.x() * cos(theta) * cos(phi) + aPhoton.y() * cos(theta) * sin(phi) - aPhoton.z() * sin(theta) -
218  primPosOnSurf.x();
219  photonProdY = -aPhoton.x() * sin(phi) + aPhoton.y() * cos(phi) - primPosOnSurf.y();
220  photonProdZ = aPhoton.x() * sin(theta) * cos(phi) + aPhoton.y() * sin(theta) * sin(phi) + aPhoton.z() * cos(theta) -
221  primPosOnSurf.z();
222  photonProdTime = aPhoton.t() - primTimeOnSurf;
223  thePhotons.push_back(Photon(1, photonProdX, photonProdY, photonProdZ, photonProdTime, aPhoton.lambda()));
224  }
225  for (unsigned int k = 0; k < ShortFiberPhotons.size(); ++k) {
226  HFShowerPhoton aPhoton = ShortFiberPhotons[k];
227  photonProdX = aPhoton.x() * cos(theta) * cos(phi) + aPhoton.y() * cos(theta) * sin(phi) - aPhoton.z() * sin(theta) -
228  primPosOnSurf.x();
229  photonProdY = -aPhoton.x() * sin(phi) + aPhoton.y() * cos(phi) - primPosOnSurf.y();
230  photonProdZ = aPhoton.x() * sin(theta) * cos(phi) + aPhoton.y() * sin(theta) * sin(phi) + aPhoton.z() * cos(theta) -
231  primPosOnSurf.z();
232  photonProdTime = aPhoton.t() - primTimeOnSurf;
233  thePhotons.push_back(Photon(2, photonProdX, photonProdY, photonProdZ, photonProdTime, aPhoton.lambda()));
234  }
235 }

References funct::cos(), FiberG4Hit::depth(), HFShowerG4Hit::globalPosition(), HFShowerG4Hit::hitId(), dqmiolumiharvest::j, dqmdumpme::k, HFShowerPhoton::lambda(), Skims_PA_cff::name, parseDetId(), phi, FiberG4Hit::photon(), nanoDQM_cff::Photon, HFShowerG4Hit::primaryMomDir(), primMomX, primMomY, primMomZ, primT, primX, primY, primZ, funct::sin(), AlCaHLTBitMon_QueryRunRegistry::string, HFShowerPhoton::t(), theNames, thePhotons, theta(), HFShowerG4Hit::time(), FiberG4Hit::towerId(), HFShowerG4Hit::trackId(), HFShowerPhoton::x(), HFShowerPhoton::y(), and HFShowerPhoton::z().

Referenced by update().

◆ update() [1/4]

void HcalForwardAnalysis::update ( const BeginOfEvent )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const BeginOfEvent * >.

Definition at line 92 of file HcalForwardAnalysis.cc.

92  {
93  evNum = (*evt)()->GetEventID();
94  clear();
95  edm::LogVerbatim("HcalForwardLib") << "HcalForwardAnalysis: =====> Begin of event = " << evNum;
96 }

References clear(), and evNum.

Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), progressbar.ProgressBar::finish(), and MatrixUtil.Steps::overwrite().

◆ update() [2/4]

void HcalForwardAnalysis::update ( const BeginOfRun )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const BeginOfRun * >.

Definition at line 87 of file HcalForwardAnalysis.cc.

87  {
88  int irun = (*run)()->GetRunID();
89  edm::LogVerbatim("HcalForwardLib") << " =====> Begin of Run = " << irun;
90 }

Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), progressbar.ProgressBar::finish(), and MatrixUtil.Steps::overwrite().

◆ update() [3/4]

void HcalForwardAnalysis::update ( const EndOfEvent )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const EndOfEvent * >.

Definition at line 100 of file HcalForwardAnalysis.cc.

100  {
101  count++;
102 
103  //fill the buffer
104  edm::LogVerbatim("HcalForwardLib") << "HcalForwardAnalysis::Fill event " << (*evt)()->GetEventID();
105  setPhotons(evt);
106 
107  int iEvt = (*evt)()->GetEventID();
108  if (iEvt < 10)
109  edm::LogVerbatim("HcalForwardLib") << "HcalForwardAnalysis:: Event " << iEvt;
110  else if ((iEvt < 100) && (iEvt % 10 == 0))
111  edm::LogVerbatim("HcalForwardLib") << "HcalForwardAnalysis:: Event " << iEvt;
112  else if ((iEvt < 1000) && (iEvt % 100 == 0))
113  edm::LogVerbatim("HcalForwardLib") << "HcalForwardAnalysis:: Event " << iEvt;
114  else if ((iEvt < 10000) && (iEvt % 1000 == 0))
115  edm::LogVerbatim("HcalForwardLib") << "HcalForwardAnalysis:: Event " << iEvt;
116 }

References count, and setPhotons().

Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), progressbar.ProgressBar::finish(), and MatrixUtil.Steps::overwrite().

◆ update() [4/4]

void HcalForwardAnalysis::update ( const G4Step *  )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const G4Step * >.

Definition at line 98 of file HcalForwardAnalysis.cc.

98 {}

Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), progressbar.ProgressBar::finish(), and MatrixUtil.Steps::overwrite().

Member Data Documentation

◆ count

int HcalForwardAnalysis::count
private

Definition at line 78 of file HcalForwardAnalysis.h.

Referenced by init(), and update().

◆ evNum

int HcalForwardAnalysis::evNum
private

Definition at line 79 of file HcalForwardAnalysis.h.

Referenced by init(), and update().

◆ fiberId

int HcalForwardAnalysis::fiberId[10000]
private

Definition at line 84 of file HcalForwardAnalysis.h.

Referenced by clear(), fillEvent(), HcalForwardAnalysis(), and init().

◆ lambda

float HcalForwardAnalysis::lambda[10000]
private

Definition at line 80 of file HcalForwardAnalysis.h.

Referenced by clear(), fillEvent(), HcalForwardAnalysis(), and init().

◆ nphot

int HcalForwardAnalysis::nphot
private

Definition at line 83 of file HcalForwardAnalysis.h.

Referenced by clear(), fillEvent(), HcalForwardAnalysis(), and init().

◆ primMomX

float HcalForwardAnalysis::primMomX
private

Definition at line 82 of file HcalForwardAnalysis.h.

Referenced by clear(), HcalForwardAnalysis(), init(), and setPhotons().

◆ primMomY

float HcalForwardAnalysis::primMomY
private

Definition at line 82 of file HcalForwardAnalysis.h.

Referenced by clear(), HcalForwardAnalysis(), init(), and setPhotons().

◆ primMomZ

float HcalForwardAnalysis::primMomZ
private

Definition at line 82 of file HcalForwardAnalysis.h.

Referenced by clear(), HcalForwardAnalysis(), init(), and setPhotons().

◆ primT

float HcalForwardAnalysis::primT
private

Definition at line 81 of file HcalForwardAnalysis.h.

Referenced by clear(), HcalForwardAnalysis(), init(), and setPhotons().

◆ primX

float HcalForwardAnalysis::primX
private

Definition at line 81 of file HcalForwardAnalysis.h.

Referenced by clear(), HcalForwardAnalysis(), init(), and setPhotons().

◆ primY

float HcalForwardAnalysis::primY
private

Definition at line 81 of file HcalForwardAnalysis.h.

Referenced by clear(), HcalForwardAnalysis(), init(), and setPhotons().

◆ primZ

float HcalForwardAnalysis::primZ
private

Definition at line 81 of file HcalForwardAnalysis.h.

Referenced by clear(), HcalForwardAnalysis(), init(), and setPhotons().

◆ t

float HcalForwardAnalysis::t[10000]
private

Definition at line 80 of file HcalForwardAnalysis.h.

Referenced by clear(), fillEvent(), HcalForwardAnalysis(), and init().

◆ theEventCounter

int HcalForwardAnalysis::theEventCounter
private

Definition at line 77 of file HcalForwardAnalysis.h.

Referenced by HcalForwardAnalysis().

◆ theFile

edm::Service<TFileService> HcalForwardAnalysis::theFile
private

Definition at line 74 of file HcalForwardAnalysis.h.

Referenced by init().

◆ theNames

std::vector<std::string> HcalForwardAnalysis::theNames
private

Definition at line 86 of file HcalForwardAnalysis.h.

Referenced by HcalForwardAnalysis(), and setPhotons().

◆ thePhotons

std::vector<Photon> HcalForwardAnalysis::thePhotons
private

Definition at line 85 of file HcalForwardAnalysis.h.

Referenced by clear(), fillEvent(), and setPhotons().

◆ theTree

TTree* HcalForwardAnalysis::theTree
private

Definition at line 76 of file HcalForwardAnalysis.h.

Referenced by fillEvent(), and init().

◆ x

float HcalForwardAnalysis::x[10000]
private

◆ y

float HcalForwardAnalysis::y[10000]
private

◆ z

float HcalForwardAnalysis::z[10000]
private
HcalForwardAnalysis::y
float y[10000]
Definition: HcalForwardAnalysis.h:80
HFShowerPhoton::y
float y() const
Definition: HFShowerPhoton.h:25
HcalForwardAnalysis::primY
float primY
Definition: HcalForwardAnalysis.h:81
mps_fire.i
i
Definition: mps_fire.py:428
HFShowerG4Hit::primaryMomDir
G4ThreeVector primaryMomDir() const
Definition: HFShowerG4Hit.h:52
HFShowerG4HitsCollection
G4THitsCollection< HFShowerG4Hit > HFShowerG4HitsCollection
Definition: HFShowerG4Hit.h:55
HcalForwardAnalysis::primMomZ
float primMomZ
Definition: HcalForwardAnalysis.h:82
HcalForwardAnalysis::t
float t[10000]
Definition: HcalForwardAnalysis.h:80
HcalForwardAnalysis::thePhotons
std::vector< Photon > thePhotons
Definition: HcalForwardAnalysis.h:85
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
hgcalTowerProducer_cfi.tower
tower
Definition: hgcalTowerProducer_cfi.py:4
HcalForwardAnalysis::primX
float primX
Definition: HcalForwardAnalysis.h:81
HFShowerPhoton::t
float t() const
Definition: HFShowerPhoton.h:28
HcalForwardAnalysis::setPhotons
void setPhotons(const EndOfEvent *evt)
Definition: HcalForwardAnalysis.cc:118
HcalForwardAnalysis::init
void init()
Definition: HcalForwardAnalysis.cc:64
HcalForwardAnalysis::parseDetId
void parseDetId(int id, int &tower, int &cell, int &fiber)
Definition: HcalForwardAnalysis.cc:251
HcalForwardAnalysis::x
float x[10000]
Definition: HcalForwardAnalysis.h:80
HcalForwardAnalysis::theEventCounter
int theEventCounter
Definition: HcalForwardAnalysis.h:77
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
FiberG4Hit
Definition: FiberG4Hit.h:14
HFShowerG4Hit
Definition: HFShowerG4Hit.h:15
HcalForwardAnalysis::evNum
int evNum
Definition: HcalForwardAnalysis.h:79
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
HFShowerG4Hit::hitId
G4int hitId() const
Definition: HFShowerG4Hit.h:46
HFShowerG4Hit::time
G4double time() const
Definition: HFShowerG4Hit.h:49
theta
Geom::Theta< T > theta() const
Definition: Basic3DVectorLD.h:150
HcalForwardAnalysis::lambda
float lambda[10000]
Definition: HcalForwardAnalysis.h:80
dqmdumpme.k
k
Definition: dqmdumpme.py:60
HFShowerPhoton::x
float x() const
Definition: HFShowerPhoton.h:24
HcalForwardAnalysis::primZ
float primZ
Definition: HcalForwardAnalysis.h:81
HcalForwardAnalysis::nphot
int nphot
Definition: HcalForwardAnalysis.h:83
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HcalForwardAnalysis::z
float z[10000]
Definition: HcalForwardAnalysis.h:80
HcalForwardAnalysis::theFile
edm::Service< TFileService > theFile
Definition: HcalForwardAnalysis.h:74
HcalForwardAnalysis::count
int count
Definition: HcalForwardAnalysis.h:78
edm::ParameterSet
Definition: ParameterSet.h:47
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
HcalForwardAnalysis::theTree
TTree * theTree
Definition: HcalForwardAnalysis.h:76
FiberG4Hit::depth
G4int depth() const
Definition: FiberG4Hit.h:45
FiberG4Hit::towerId
G4int towerId() const
Definition: FiberG4Hit.h:44
createfilelist.int
int
Definition: createfilelist.py:10
HFShowerPhoton::lambda
float lambda() const
Definition: HFShowerPhoton.h:27
nanoDQM_cff.Photon
Photon
Definition: nanoDQM_cff.py:63
HcalForwardAnalysis::primMomY
float primMomY
Definition: HcalForwardAnalysis.h:82
HFShowerPhoton::z
float z() const
Definition: HFShowerPhoton.h:26
DDAxes::phi
HFShowerG4Hit::globalPosition
G4ThreeVector globalPosition() const
Definition: HFShowerG4Hit.h:51
HcalForwardAnalysis::fillEvent
void fillEvent()
Definition: HcalForwardAnalysis.cc:236
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
HcalForwardAnalysis::primT
float primT
Definition: HcalForwardAnalysis.h:81
HcalForwardAnalysis::primMomX
float primMomX
Definition: HcalForwardAnalysis.h:82
HcalForwardAnalysis::fiberId
int fiberId[10000]
Definition: HcalForwardAnalysis.h:84
HFShowerPhoton
Definition: HFShowerPhoton.h:13
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
HcalForwardAnalysis::theNames
std::vector< std::string > theNames
Definition: HcalForwardAnalysis.h:86
HcalForwardAnalysis::clear
void clear()
Definition: HcalForwardAnalysis.cc:257
HFShowerG4Hit::trackId
G4int trackId() const
Definition: HFShowerG4Hit.h:47
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
FiberG4HitsCollection
G4THitsCollection< FiberG4Hit > FiberG4HitsCollection
Definition: FiberG4Hit.h:54
FiberG4Hit::photon
std::vector< HFShowerPhoton > photon() const
Definition: FiberG4Hit.h:50
TFileService::make
T * make(const Args &... args) const
make new ROOT object
Definition: TFileService.h:64