CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Private Attributes
CastorShowerLibrary Class Reference

#include <CastorShowerLibrary.h>

Public Member Functions

 CastorShowerLibrary (std::string &name, edm::ParameterSet const &p)
 
int FindEnergyBin (double)
 
int FindEtaBin (double)
 
int FindPhiBin (double)
 
CastorShowerEvent getShowerHits (G4Step *, bool &)
 
void initParticleTable (G4ParticleTable *)
 
 ~CastorShowerLibrary ()
 

Protected Member Functions

void getRecord (int, int)
 
void initFile (edm::ParameterSet const &)
 
void loadEventInfo (TBranchObject *)
 
void select (int, double, double=0, double=9)
 

Private Attributes

int anuePDG
 
int anumuPDG
 
int anutauPDG
 
TBranchObject * emBranch
 
int emPDG
 
int epPDG
 
int etaPDG
 
CastorShowerLibraryInfoeventInfo
 
TBranchObject * evtInfo
 
unsigned int evtPerBin
 
int gammaPDG
 
int geantinoPDG
 
TBranchObject * hadBranch
 
TFile * hf
 
int mumPDG
 
int mupPDG
 
unsigned int nBinsE
 
unsigned int nBinsEta
 
unsigned int nBinsPhi
 
unsigned int nEvtPerBinE
 
unsigned int nEvtPerBinEta
 
unsigned int nEvtPerBinPhi
 
unsigned int nMomBin
 
int nuePDG
 
int numuPDG
 
int nutauPDG
 
int pi0PDG
 
std::vector< double > pmom
 
CastorShowerEventshowerEvent
 
std::vector< double > SLenergies
 
std::vector< double > SLetas
 
std::vector< double > SLphis
 
unsigned int totEvents
 
bool verbose
 

Detailed Description

Definition at line 32 of file CastorShowerLibrary.h.

Constructor & Destructor Documentation

CastorShowerLibrary::CastorShowerLibrary ( std::string &  name,
edm::ParameterSet const &  p 
)

Definition at line 22 of file CastorShowerLibrary.cc.

References initFile().

23  : hf(0), evtInfo(0), emBranch(0), hadBranch(0),
24  nMomBin(0), totEvents(0), evtPerBin(0),
25  nBinsE(0),nBinsEta(0),nBinsPhi(0),
27  SLenergies(),SLetas(),SLphis() {
28 
29  initFile(p);
30 
31 }
std::vector< double > SLetas
TBranchObject * emBranch
std::vector< double > SLphis
TBranchObject * hadBranch
void initFile(edm::ParameterSet const &)
std::vector< double > SLenergies
TBranchObject * evtInfo
CastorShowerLibrary::~CastorShowerLibrary ( )

Definition at line 36 of file CastorShowerLibrary.cc.

References hf.

36  {
37  if (hf) hf->Close();
38 }

Member Function Documentation

int CastorShowerLibrary::FindEnergyBin ( double  energy)

Definition at line 398 of file CastorShowerLibrary.cc.

References i, and SLenergies.

Referenced by select().

398  {
399  //
400  // returns the integer index of the energy bin, taken from SLenergies vector
401  // returns -1 if ouside valid range
402  //
403  if (energy >= SLenergies.back()) return SLenergies.size()-1;
404 
405  unsigned int i = 0;
406  for(;i<SLenergies.size()-1;i++)
407  if (energy >= SLenergies.at(i) && energy < SLenergies.at(i+1)) return (int)i;
408 
409  // now i points to the last but 1 bin
410  if (energy>=SLenergies.at(i)) return (int)i;
411  // energy outside bin range
412  return -1;
413 }
int i
Definition: DBlmapReader.cc:9
std::vector< double > SLenergies
int CastorShowerLibrary::FindEtaBin ( double  eta)

Definition at line 414 of file CastorShowerLibrary.cc.

References i, and SLetas.

Referenced by select().

414  {
415  //
416  // returns the integer index of the eta bin, taken from SLetas vector
417  // returns -1 if ouside valid range
418  //
419  if (eta>=SLetas.back()) return SLetas.size()-1;
420  unsigned int i = 0;
421  for(;i<SLetas.size()-1;i++)
422  if (eta >= SLetas.at(i) && eta < SLetas.at(i+1)) return (int)i;
423  // now i points to the last but 1 bin
424  if (eta>=SLetas.at(i)) return (int)i;
425  // eta outside bin range
426  return -1;
427 }
int i
Definition: DBlmapReader.cc:9
T eta() const
std::vector< double > SLetas
int CastorShowerLibrary::FindPhiBin ( double  phi)

Definition at line 428 of file CastorShowerLibrary.cc.

References i, and SLphis.

Referenced by select().

428  {
429  //
430  // returns the integer index of the phi bin, taken from SLphis vector
431  // returns -1 if ouside valid range
432  //
433  // needs protection in case phi is outside range -pi,pi
434  //
435  if (phi>=SLphis.back()) return SLphis.size()-1;
436  unsigned int i = 0;
437  for(;i<SLphis.size()-1;i++)
438  if (phi >= SLphis.at(i) && phi < SLphis.at(i+1)) return (int)i;
439  // now i points to the last but 1 bin
440  if (phi>=SLphis.at(i)) return (int)i;
441  // phi outside bin range
442  return -1;
443 }
int i
Definition: DBlmapReader.cc:9
std::vector< double > SLphis
Definition: DDAxes.h:10
void CastorShowerLibrary::getRecord ( int  type,
int  record 
)
protected

Definition at line 272 of file CastorShowerLibrary.cc.

References emBranch, CastorShowerEvent::getNhit(), hadBranch, LogDebug, record, and showerEvent.

Referenced by select().

272  {
274 //
275 // Retrieve event # "record" from the library and stores it
276 // into vector<CastorShowerHit> showerHit;
277 //
278 // Based on HFShowerLibrary::getRecord
279 //
280 // Modified 02/02/09 by W. Carvalho
281 //
283 
284 #ifdef DebugLog
285  LogDebug("CastorShower") << "CastorShowerLibrary::getRecord: ";
286 #endif
287  int nrc = record;
289  if (type > 0) {
290  hadBranch->SetAddress(&showerEvent);
291  hadBranch->GetEntry(nrc);
292  } else {
293  emBranch->SetAddress(&showerEvent);
294  emBranch->GetEntry(nrc);
295  }
296 
297 #ifdef DebugLog
298  int nHit = showerEvent->getNhit();
299  LogDebug("CastorShower") << "CastorShowerLibrary::getRecord: Record " << record
300  << " of type " << type << " with " << nHit
301  << " CastorShowerHits";
302 
303 #endif
304 
305 }
#define LogDebug(id)
type
Definition: HCALResponse.h:21
JetCorrectorParameters::Record record
Definition: classes.h:7
TBranchObject * emBranch
TBranchObject * hadBranch
CastorShowerEvent * showerEvent
unsigned int getNhit()
CastorShowerEvent CastorShowerLibrary::getShowerHits ( G4Step *  aStep,
bool &  ok 
)

Definition at line 211 of file CastorShowerLibrary.cc.

References funct::abs(), anuePDG, anumuPDG, anutauPDG, CastorShowerEvent::Clear(), emPDG, epPDG, etaPDG, gammaPDG, geantinoPDG, cmsBatch::log, M_PI, nuePDG, numuPDG, nutauPDG, pi0PDG, dttmaxenums::R, select(), mathSSE::sqrt(), funct::tan(), and theta().

Referenced by CastorSD::getFromLibrary().

211  {
212 
213  G4StepPoint * preStepPoint = aStep->GetPreStepPoint();
214  // G4StepPoint * postStepPoint = aStep->GetPostStepPoint();
215  G4Track * track = aStep->GetTrack();
216  // Get Z-direction
217  const G4DynamicParticle *aParticle = track->GetDynamicParticle();
218  G4ThreeVector momDir = aParticle->GetMomentumDirection();
219  // double mom = aParticle->GetTotalMomentum();
220 
221  G4ThreeVector hitPoint = preStepPoint->GetPosition();
222  G4String partType = track->GetDefinition()->GetParticleName();
223  int parCode = track->GetDefinition()->GetPDGEncoding();
224 
226  hit.Clear();
227 
228  ok = false;
229  if (parCode == pi0PDG || parCode == etaPDG || parCode == nuePDG ||
230  parCode == numuPDG || parCode == nutauPDG || parCode == anuePDG ||
231  parCode == anumuPDG || parCode == anutauPDG || parCode == geantinoPDG)
232  return hit;
233  ok = true;
234 
235  double pin = preStepPoint->GetTotalEnergy();
236  double etain = momDir.getEta();
237  double phiin = momDir.getPhi();
238 
239  double zint = hitPoint.z();
240  double R=sqrt(hitPoint.x()*hitPoint.x() + hitPoint.y()*hitPoint.y());
241  double theta = atan2(R,std::abs(zint));
242  phiin = atan2(hitPoint.y(),hitPoint.x());
243  etain = -1*(std::log(std::tan((M_PI-theta)/2)));
244 
245  // Replace "interpolation/extrapolation" by new method "select" that just randomly
246  // selects a record from the appropriate energy bin and fills its content to
247  // "showerEvent" instance of class CastorShowerEvent
248 
249  if (parCode == emPDG || parCode == epPDG || parCode == gammaPDG ) {
250  select(0, pin, etain, phiin);
251  // if (pin<SLenergies[nBinsE-1]) {
252  // interpolate(0, pin);
253  // } else {
254  // extrapolate(0, pin);
255  // }
256  } else {
257  select(1, pin, etain, phiin);
258  // if (pin<SLenergies[nBinsE-1]) {
259  // interpolate(1, pin);
260  // } else {
261  // extrapolate(1, pin);
262  // }
263  }
264 
265  hit = (*showerEvent);
266  return hit;
267 
268 }
void select(int, double, double=0, double=9)
Geom::Theta< T > theta() const
T sqrt(T t)
Definition: SSEVec.h:48
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
#define M_PI
tuple log
Definition: cmsBatch.py:347
void CastorShowerLibrary::initFile ( edm::ParameterSet const &  p)
protected

Definition at line 43 of file CastorShowerLibrary.cc.

References emBranch, event(), evtInfo, edm::hlt::Exception, personalPlayback::fp, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), hadBranch, hf, loadEventInfo(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by CastorShowerLibrary().

43  {
45 //
46 // Init TFile and associated TBranch's of CASTOR Root file
47 // holding library events
48 //
50 
51  //
52  // Read PSet for Castor shower library
53  //
54 
55  edm::ParameterSet m_CS = p.getParameter<edm::ParameterSet>("CastorShowerLibrary");
56  edm::FileInPath fp = m_CS.getParameter<edm::FileInPath>("FileName");
57  std::string pTreeName = fp.fullPath();
58  std::string branchEvInfo = m_CS.getUntrackedParameter<std::string>("BranchEvt");
59  std::string branchEM = m_CS.getUntrackedParameter<std::string>("BranchEM");
60  std::string branchHAD = m_CS.getUntrackedParameter<std::string>("BranchHAD");
61  verbose = m_CS.getUntrackedParameter<bool>("Verbosity",false);
62 
63  // Open TFile
64  if (pTreeName.find(".") == 0) pTreeName.erase(0,2);
65  const char* nTree = pTreeName.c_str();
66  hf = TFile::Open(nTree);
67 
68  // Check that TFile has been successfully opened
69  if (!hf->IsOpen()) {
70  edm::LogError("CastorShower") << "CastorShowerLibrary: opening " << nTree << " failed";
71  throw cms::Exception("Unknown", "CastorShowerLibrary")
72  << "Opening of " << pTreeName << " fails\n";
73  } else {
74  edm::LogInfo("CastorShower") << "CastorShowerLibrary: opening " << nTree << " successfully";
75  }
76 
77  // Check for the TBranch holding EventInfo in "Events" TTree
78  TTree* event = (TTree *) hf ->Get("CastorCherenkovPhotons");
79  if (event) {
80  evtInfo = (TBranchObject *) event->GetBranch(branchEvInfo.c_str());
81  if (evtInfo) {
83  } else {
84  edm::LogError("CastorShower") << "CastorShowerLibrary: " << branchEvInfo.c_str()
85  << " Branch does not exit in Event";
86  throw cms::Exception("Unknown", "CastorShowerLibrary") << "Event information absent\n";
87  }
88  } else {
89  edm::LogError("CastorShower") << "CastorShowerLibrary: Events Tree does not exist";
90  throw cms::Exception("Unknown", "CastorShowerLibrary") << "Events tree absent\n";
91  }
92 
93  // Get EM and HAD Branchs
94  emBranch = (TBranchObject *) event->GetBranch(branchEM.c_str());
95  if (verbose) emBranch->Print();
96  hadBranch = (TBranchObject *) event->GetBranch(branchHAD.c_str());
97  if (verbose) hadBranch->Print();
98  edm::LogInfo("CastorShower") << "CastorShowerLibrary: Branch " << branchEM
99  << " has " << emBranch->GetEntries()
100  << " entries and Branch " << branchHAD
101  << " has " << hadBranch->GetEntries()
102  << " entries";
103 
104 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
TBranchObject * emBranch
TBranchObject * hadBranch
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
void loadEventInfo(TBranchObject *)
TBranchObject * evtInfo
void CastorShowerLibrary::initParticleTable ( G4ParticleTable *  theParticleTable)

Definition at line 162 of file CastorShowerLibrary.cc.

References anuePDG, anumuPDG, anutauPDG, emPDG, epPDG, etaPDG, gammaPDG, geantinoPDG, LogDebug, mumPDG, mupPDG, nuePDG, numuPDG, nutauPDG, and pi0PDG.

Referenced by CastorSD::initRun().

162  {
164 //
165 // Set particle codes according to PDG encoding
166 //
167 // Based on HFShowerLibrary::initRun
168 //
170 
171  G4String particleName;
172 
173  edm::LogInfo("CastorShower") << "CastorShowerLibrary::initParticleTable"
174  << " *** Accessing PDGEncoding ***" ;
175 
176  emPDG = theParticleTable->FindParticle(particleName="e-")->GetPDGEncoding();
177  epPDG = theParticleTable->FindParticle(particleName="e+")->GetPDGEncoding();
178  gammaPDG = theParticleTable->FindParticle(particleName="gamma")->GetPDGEncoding();
179  pi0PDG = theParticleTable->FindParticle(particleName="pi0")->GetPDGEncoding();
180  etaPDG = theParticleTable->FindParticle(particleName="eta")->GetPDGEncoding();
181  nuePDG = theParticleTable->FindParticle(particleName="nu_e")->GetPDGEncoding();
182  numuPDG = theParticleTable->FindParticle(particleName="nu_mu")->GetPDGEncoding();
183  nutauPDG = theParticleTable->FindParticle(particleName="nu_tau")->GetPDGEncoding();
184  anuePDG = theParticleTable->FindParticle(particleName="anti_nu_e")->GetPDGEncoding();
185  anumuPDG = theParticleTable->FindParticle(particleName="anti_nu_mu")->GetPDGEncoding();
186  anutauPDG = theParticleTable->FindParticle(particleName="anti_nu_tau")->GetPDGEncoding();
187  geantinoPDG = theParticleTable->FindParticle(particleName="geantino")->GetPDGEncoding();
188  mumPDG = theParticleTable->FindParticle(particleName="mu-")->GetPDGEncoding();
189  mupPDG = theParticleTable->FindParticle(particleName="mu+")->GetPDGEncoding();
190 
191 //#ifdef DebugLog
192  LogDebug("CastorShower") << "CastorShowerLibrary: Particle codes for e- = " << emPDG
193  << ", e+ = " << epPDG << ", gamma = " << gammaPDG
194  << ", pi0 = " << pi0PDG << ", eta = " << etaPDG
195  << ", geantino = " << geantinoPDG << "\n nu_e = "
196  << nuePDG << ", nu_mu = " << numuPDG << ", nu_tau = "
197  << nutauPDG << ", anti_nu_e = " << anuePDG
198  << ", anti_nu_mu = " << anumuPDG << ", anti_nu_tau = "
199  << anutauPDG << ", mu- = " << mumPDG << ", mu+ = "
200  << mupPDG;
201 //#endif
202 
203  edm::LogInfo("CastorShower") << " ***** Successfully called: "
204  << "CastorShowerLibrary::initParticleTable() ***** " ;
205 
206 }
#define LogDebug(id)
void CastorShowerLibrary::loadEventInfo ( TBranchObject *  branch)
protected

Definition at line 108 of file CastorShowerLibrary.cc.

References CastorShowerLibraryInfo::Energy, CastorShowerLibraryInfo::Eta, eventInfo, SLBin::getBin(), SLBin::getNBins(), SLBin::getNEvtPerBin(), SLBin::getNEvts(), GeV, i, nBinsE, nBinsEta, nBinsPhi, nEvtPerBinE, nEvtPerBinEta, nEvtPerBinPhi, CastorShowerLibraryInfo::Phi, SLenergies, SLetas, SLphis, and totEvents.

Referenced by initFile().

108  {
110 //
111 // Get EventInfo from the "TBranch* branch" of Root file
112 // holding library events
113 //
114 // Based on HFShowerLibrary::loadEventInfo
115 //
117 
119  branch->SetAddress(&eventInfo);
120  branch->GetEntry(0);
121  // Initialize shower library general parameters
122 
124 // nMomBin = eventInfo->Energy.getNBins();
125 // evtPerBin = eventInfo->Energy.getNEvtPerBin();
126 // pmom = eventInfo->Energy.getBin();
132  SLetas = eventInfo->Eta.getBin();
135  SLphis = eventInfo->Phi.getBin();
136 
137  // Convert from GeV to MeV
138  for (unsigned int i=0; i<SLenergies.size(); i++) SLenergies[i] *= GeV;
139 
140  edm::LogInfo("CastorShower") << " CastorShowerLibrary::loadEventInfo : "
141  << "\n \n Total number of events : " << totEvents
142  << "\n Number of bins (E) : " << nBinsE
143  << "\n Number of events/bin (E) : " << nEvtPerBinE
144  << "\n Number of bins (Eta) : " << nBinsEta
145  << "\n Number of events/bin (Eta) : " << nEvtPerBinEta
146  << "\n Number of bins (Phi) : " << nBinsPhi
147  << "\n Number of events/bin (Phi) : " << nEvtPerBinPhi << "\n";
148 
149  for (unsigned int i=0; i<nBinsE; i++)
150  edm::LogInfo("CastorShower") << "CastorShowerLibrary: SLenergies[" << i << "] = "
151  << SLenergies[i]/GeV << " GeV";
152  for (unsigned int i=0; i<nBinsEta; i++)
153  edm::LogInfo("CastorShower") << "CastorShowerLibrary: SLetas[" << i << "] = "
154  << SLetas[i];
155  for (unsigned int i=0; i<nBinsPhi; i++)
156  edm::LogInfo("CastorShower") << "CastorShowerLibrary: SLphis[" << i << "] = "
157  << SLphis[i] << " rad";
158 }
int i
Definition: DBlmapReader.cc:9
const double GeV
Definition: MathUtil.h:16
std::vector< double > SLetas
unsigned int getNBins()
std::vector< double > SLphis
unsigned int getNEvts()
unsigned int getNEvtPerBin()
std::vector< double > SLenergies
CastorShowerLibraryInfo * eventInfo
double getBin(int i)
void CastorShowerLibrary::select ( int  type,
double  pin,
double  etain = 0,
double  phiin = 9 
)
protected

Definition at line 309 of file CastorShowerLibrary.cc.

References FindEnergyBin(), FindEtaBin(), FindPhiBin(), getRecord(), M_PI, nEvtPerBinE, nEvtPerBinEta, nEvtPerBinPhi, and alignCSCRings::r.

Referenced by getShowerHits().

309  {
311 //
312 // Selects an event from the library based on
313 //
314 // type: 0 --> em
315 // >0 --> had
316 // pin : momentum
317 // etain: eta (if not given, disregard the eta binning
318 // phiin: phi (if not given, disregard the phi binning
319 //
320 // Created 30/01/09 by W. Carvalho
321 //
323 
324  int irec; // to hold record number
325  double r = G4UniformRand(); // to randomly select within an energy bin (r=[0,1])
326 
327  // Randomly select a record from the right energy bin in the library,
328  // based on track momentum (pin)
329 
330  // pin < SLenergies[MIN]
331 /*
332  if (pin<SLenergies[0]) {
333  edm::LogWarning("CastorShower") << "CastorShowerLibrary: Warning, pin = " << pin
334  << " less than minimum SLenergies " << SLenergies[0] << " in library."
335  << " For the moment, selecting hit from the first bin" ;
336  irec = int(nEvtPerBinE*r) + 1;
337  // pin > SLenergies[MAX]
338  } else if (pin>SLenergies[nBinsE]) {
339 
340 // This part needs rethinking because the last element of SLenergies is no longer the upper limit of the bins
341  edm::LogWarning("CastorShower") << "CastorShowerLibrary: Warning, pin = " << pin
342  << " greater than maximum SLenergies " << SLenergies[nBinsE] << " in library."
343  << " For the moment, selecting hit from the last bin";
344  irec = (nBinsE-1)*nEvtPerBinE + int(evtPerBin*r) + 1;
345  // SLenergies[MIN] < pin < SLenergies[MAX]
346  } else {
347  for (unsigned int j=0; j<nBinsE; j++) {
348  if (pin >= SLenergies[j] && pin < SLenergies[j+1]) {
349  irec = j*evtPerBin + int(evtPerBin*r) + 1 ;
350  if (irec<0) {
351  edm::LogWarning("CastorShower") << "CastorShowerLibrary:: Illegal irec = "
352  << irec << " now set to 0";
353  irec = 0;
354  } else if (irec > totEvents) {
355  edm::LogWarning("CastorShower") << "CastorShowerLibrary:: Illegal irec = "
356  << irec << " now set to "<< totEvents;
357  irec = totEvents;
358  }
359  }
360  }
361  }
362 */
363  int ienergy = FindEnergyBin(pin);
364  int ieta = FindEtaBin(etain);
365 #ifdef DebugLog
366  if (verbose) edm::LogInfo("CastorShower") << " ienergy = " << ienergy ;
367  if (verbose) edm::LogInfo("CastorShower") << " ieta = " << ieta;
368 #endif
369 
370  int iphi;
371  double phiMin = 0. ;
372  double phiMax = M_PI/4 ; // 45 * (pi/180) rad
373  if(phiin < phiMin) phiin = phiin + M_PI ;
374  if(phiin >= phiMin && phiin < phiMax) {
375  iphi = FindPhiBin(phiin) ;
376  } else {
377  double remainder = fmod(phiin , M_PI/4) ;
378  phiin = phiMin + remainder ;
379  iphi = FindPhiBin(phiin) ;
380  }
381 #ifdef DebugLog
382  if (verbose) edm::LogInfo("CastorShower") << " iphi = " << iphi;
383 #endif
384  if (ienergy==-1) ienergy=0; // if pin < first bin, choose an event in the first one
385  if (ieta==-1) ieta=0; // idem for eta
386  if (iphi!=-1) irec = int(nEvtPerBinE*ienergy+nEvtPerBinEta*ieta+nEvtPerBinPhi*(iphi+r));
387  else irec = int(nEvtPerBinE*(ienergy+r));
388 
389 #ifdef DebugLog
390  edm::LogInfo("CastorShower") << "CastorShowerLibrary:: Select record " << irec
391  << " of type " << type ;
392 #endif
393 
394  // Retrieve record number "irec" from the library
395  getRecord (type, irec);
396 
397 }
type
Definition: HCALResponse.h:21
#define M_PI

Member Data Documentation

int CastorShowerLibrary::anuePDG
private

Definition at line 75 of file CastorShowerLibrary.h.

Referenced by getShowerHits(), and initParticleTable().

int CastorShowerLibrary::anumuPDG
private

Definition at line 75 of file CastorShowerLibrary.h.

Referenced by getShowerHits(), and initParticleTable().

int CastorShowerLibrary::anutauPDG
private

Definition at line 75 of file CastorShowerLibrary.h.

Referenced by getShowerHits(), and initParticleTable().

TBranchObject* CastorShowerLibrary::emBranch
private

Definition at line 62 of file CastorShowerLibrary.h.

Referenced by getRecord(), and initFile().

int CastorShowerLibrary::emPDG
private

Definition at line 73 of file CastorShowerLibrary.h.

Referenced by getShowerHits(), and initParticleTable().

int CastorShowerLibrary::epPDG
private

Definition at line 73 of file CastorShowerLibrary.h.

Referenced by getShowerHits(), and initParticleTable().

int CastorShowerLibrary::etaPDG
private

Definition at line 74 of file CastorShowerLibrary.h.

Referenced by getShowerHits(), and initParticleTable().

CastorShowerLibraryInfo* CastorShowerLibrary::eventInfo
private

Definition at line 65 of file CastorShowerLibrary.h.

Referenced by loadEventInfo().

TBranchObject* CastorShowerLibrary::evtInfo
private

Definition at line 61 of file CastorShowerLibrary.h.

Referenced by initFile().

unsigned int CastorShowerLibrary::evtPerBin
private

Definition at line 69 of file CastorShowerLibrary.h.

int CastorShowerLibrary::gammaPDG
private

Definition at line 73 of file CastorShowerLibrary.h.

Referenced by getShowerHits(), and initParticleTable().

int CastorShowerLibrary::geantinoPDG
private

Definition at line 75 of file CastorShowerLibrary.h.

Referenced by getShowerHits(), and initParticleTable().

TBranchObject * CastorShowerLibrary::hadBranch
private

Definition at line 62 of file CastorShowerLibrary.h.

Referenced by getRecord(), and initFile().

TFile* CastorShowerLibrary::hf
private

Definition at line 60 of file CastorShowerLibrary.h.

Referenced by initFile(), and ~CastorShowerLibrary().

int CastorShowerLibrary::mumPDG
private

Definition at line 76 of file CastorShowerLibrary.h.

Referenced by initParticleTable().

int CastorShowerLibrary::mupPDG
private

Definition at line 76 of file CastorShowerLibrary.h.

Referenced by initParticleTable().

unsigned int CastorShowerLibrary::nBinsE
private

Definition at line 78 of file CastorShowerLibrary.h.

Referenced by loadEventInfo().

unsigned int CastorShowerLibrary::nBinsEta
private

Definition at line 78 of file CastorShowerLibrary.h.

Referenced by loadEventInfo().

unsigned int CastorShowerLibrary::nBinsPhi
private

Definition at line 78 of file CastorShowerLibrary.h.

Referenced by loadEventInfo().

unsigned int CastorShowerLibrary::nEvtPerBinE
private

Definition at line 79 of file CastorShowerLibrary.h.

Referenced by loadEventInfo(), and select().

unsigned int CastorShowerLibrary::nEvtPerBinEta
private

Definition at line 79 of file CastorShowerLibrary.h.

Referenced by loadEventInfo(), and select().

unsigned int CastorShowerLibrary::nEvtPerBinPhi
private

Definition at line 79 of file CastorShowerLibrary.h.

Referenced by loadEventInfo(), and select().

unsigned int CastorShowerLibrary::nMomBin
private

Definition at line 69 of file CastorShowerLibrary.h.

int CastorShowerLibrary::nuePDG
private

Definition at line 74 of file CastorShowerLibrary.h.

Referenced by getShowerHits(), and initParticleTable().

int CastorShowerLibrary::numuPDG
private

Definition at line 74 of file CastorShowerLibrary.h.

Referenced by getShowerHits(), and initParticleTable().

int CastorShowerLibrary::nutauPDG
private

Definition at line 74 of file CastorShowerLibrary.h.

Referenced by getShowerHits(), and initParticleTable().

int CastorShowerLibrary::pi0PDG
private

Definition at line 74 of file CastorShowerLibrary.h.

Referenced by getShowerHits(), and initParticleTable().

std::vector<double> CastorShowerLibrary::pmom
private

Definition at line 71 of file CastorShowerLibrary.h.

CastorShowerEvent* CastorShowerLibrary::showerEvent
private

Definition at line 66 of file CastorShowerLibrary.h.

Referenced by getRecord().

std::vector<double> CastorShowerLibrary::SLenergies
private

Definition at line 80 of file CastorShowerLibrary.h.

Referenced by FindEnergyBin(), and loadEventInfo().

std::vector<double> CastorShowerLibrary::SLetas
private

Definition at line 81 of file CastorShowerLibrary.h.

Referenced by FindEtaBin(), and loadEventInfo().

std::vector<double> CastorShowerLibrary::SLphis
private

Definition at line 82 of file CastorShowerLibrary.h.

Referenced by FindPhiBin(), and loadEventInfo().

unsigned int CastorShowerLibrary::totEvents
private

Definition at line 69 of file CastorShowerLibrary.h.

Referenced by loadEventInfo().

bool CastorShowerLibrary::verbose
private

Definition at line 68 of file CastorShowerLibrary.h.