CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
CastorTestAnalysis Class Reference
Inheritance diagram for CastorTestAnalysis:
SimWatcher Observer< const BeginOfJob *> Observer< const BeginOfRun *> Observer< const EndOfRun *> Observer< const BeginOfEvent *> Observer< const EndOfEvent *> Observer< const G4Step *>

Public Member Functions

 CastorTestAnalysis (const edm::ParameterSet &p)
 
 ~CastorTestAnalysis () override
 
- Public Member Functions inherited from SimWatcher
virtual void beginRun (edm::EventSetup const &)
 
bool isMT () const
 
const SimWatcheroperator= (const SimWatcher &)=delete
 
virtual void registerConsumes (edm::ConsumesCollector)
 
 SimWatcher ()
 
 SimWatcher (const SimWatcher &)=delete
 
virtual ~SimWatcher ()
 
- Public Member Functions inherited from Observer< const BeginOfJob *>
 Observer ()
 
void slotForUpdate (const BeginOfJob * iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const BeginOfRun *>
 Observer ()
 
void slotForUpdate (const BeginOfRun * iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const EndOfRun *>
 Observer ()
 
void slotForUpdate (const EndOfRun * 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 Finish ()
 
void getCastorBranchData (const CaloG4HitCollection *hc)
 
void update (const BeginOfJob *run) 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 EndOfRun *run) override
 This routine will be called when the appropriate signal arrives. More...
 
void update (const BeginOfEvent *evt) 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

Float_t castoreventarray [11]
 
TNtuple * castoreventntuple
 
TFile * castorOutputEventFile
 
TFile * castorOutputStepFile
 
Float_t castorsteparray [14]
 
TNtuple * castorstepntuple
 
int doNTcastorevent
 
int doNTcastorstep
 
int eventGlobalHit
 
int eventIndex
 
std::string eventNtFileName
 
int stepIndex
 
std::string stepNtFileName
 
CastorNumberingSchemetheCastorNumScheme
 
int verbosity
 

Additional Inherited Members

- Protected Member Functions inherited from SimWatcher
void setMT (bool val)
 

Detailed Description

Definition at line 65 of file CastorTestAnalysis.cc.

Constructor & Destructor Documentation

◆ CastorTestAnalysis()

CastorTestAnalysis::CastorTestAnalysis ( const edm::ParameterSet p)

Definition at line 142 of file CastorTestAnalysis.cc.

References castoreventntuple, castorstepntuple, doNTcastorevent, doNTcastorstep, eventNtFileName, edm::ParameterSet::getParameter(), AlCaHLTBitMon_ParallelJobs::p, stepNtFileName, AlCaHLTBitMon_QueryRunRegistry::string, and verbosity.

142  {
143  edm::ParameterSet m_Anal = p.getParameter<edm::ParameterSet>("CastorTestAnalysis");
144  verbosity = m_Anal.getParameter<int>("Verbosity");
145  doNTcastorstep = m_Anal.getParameter<int>("StepNtupleFlag");
146  doNTcastorevent = m_Anal.getParameter<int>("EventNtupleFlag");
147  stepNtFileName = m_Anal.getParameter<std::string>("StepNtupleFileName");
148  eventNtFileName = m_Anal.getParameter<std::string>("EventNtupleFileName");
149 
150  if (verbosity > 0) {
151  edm::LogVerbatim("ForwardSim") << std::endl;
152  edm::LogVerbatim("ForwardSim") << "============================================================================";
153  edm::LogVerbatim("ForwardSim") << "CastorTestAnalysis:: Initialized as observer";
154  if (doNTcastorstep > 0) {
155  edm::LogVerbatim("ForwardSim") << " Step Ntuple will be created";
156  edm::LogVerbatim("ForwardSim") << " Step Ntuple file: " << stepNtFileName;
157  }
158  if (doNTcastorevent > 0) {
159  edm::LogVerbatim("ForwardSim") << " Event Ntuple will be created";
160  edm::LogVerbatim("ForwardSim") << " Step Ntuple file: " << stepNtFileName;
161  }
162  edm::LogVerbatim("ForwardSim") << "============================================================================";
163  edm::LogVerbatim("ForwardSim") << std::endl;
164  }
165  if (doNTcastorstep > 0)
167  new TNtuple("NTcastorstep", "NTcastorstep", "evt:trackid:charge:pdgcode:x:y:z:stepl:stepe:eta:phi:vpx:vpy:vpz");
168 
169  if (doNTcastorevent > 0)
170  castoreventntuple = new TNtuple(
171  "NTcastorevent", "NTcastorevent", "evt:ihit:detector:sector:module:enem:totalenergy:hitenergy:x:y:z");
172 }
Log< level::Info, true > LogVerbatim
T getParameter(std::string const &) const
Definition: ParameterSet.h:307

◆ ~CastorTestAnalysis()

CastorTestAnalysis::~CastorTestAnalysis ( )
override

Definition at line 174 of file CastorTestAnalysis.cc.

References Finish(), and verbosity.

174  {
175  //destructor of CastorTestAnalysis
176 
177  Finish();
178  if (verbosity > 0) {
179  edm::LogVerbatim("ForwardSim") << std::endl << "End of CastorTestAnalysis";
180  }
181 
182  edm::LogVerbatim("ForwardSim") << "CastorTestAnalysis: End of process";
183 }
Log< level::Info, true > LogVerbatim

Member Function Documentation

◆ Finish()

void CastorTestAnalysis::Finish ( )
private

Definition at line 459 of file CastorTestAnalysis.cc.

References castoreventntuple, castorOutputEventFile, castorOutputStepFile, castorstepntuple, doNTcastorevent, and doNTcastorstep.

Referenced by ~CastorTestAnalysis().

459  {
460  if (doNTcastorstep) {
461  castorOutputStepFile->cd();
462  castorstepntuple->Write();
463  edm::LogVerbatim("ForwardSim") << "CastorTestAnalysis: Ntuple step written";
464  castorOutputStepFile->Close();
465  edm::LogVerbatim("ForwardSim") << "CastorTestAnalysis: Step file closed";
466  }
467 
468  if (doNTcastorevent) {
469  castorOutputEventFile->cd();
470  castoreventntuple->Write("", TObject::kOverwrite);
471  edm::LogVerbatim("ForwardSim") << "CastorTestAnalysis: Ntuple event written";
472  castorOutputEventFile->Close();
473  edm::LogVerbatim("ForwardSim") << "CastorTestAnalysis: Event file closed";
474  }
475 }
Log< level::Info, true > LogVerbatim

◆ getCastorBranchData()

void CastorTestAnalysis::getCastorBranchData ( const CaloG4HitCollection hc)
private

Definition at line 404 of file CastorTestAnalysis.cc.

References castoreventarray, castoreventntuple, eventGlobalHit, eventIndex, ALCARECOEcalPhiSym_cff::float, CaloG4Hit::getEnergyDeposit(), CaloG4Hit::getPosition(), CaloG4Hit::getUnitID(), ntcastore_detector, ntcastore_enem, ntcastore_enhad, ntcastore_evt, ntcastore_hitenergy, ntcastore_ihit, ntcastore_module, ntcastore_sector, ntcastore_x, ntcastore_y, ntcastore_z, nano_mu_digi_cff::sector, theCastorNumScheme, CastorNumberingScheme::unpackIndex(), and ecaldqm::zside().

Referenced by update().

404  {
405  int nentries = hc->entries();
406 
407  if (nentries > 0) {
408  unsigned int volumeID = 0;
409  int det = 0, zside, sector, zmodule;
410  std::map<int, float, std::less<int> > themap;
411  double totalEnergy = 0;
412  double hitEnergy = 0;
413  double en_in_sd = 0.;
414 
415  for (int ihit = 0; ihit < nentries; ihit++) {
416  CaloG4Hit *aHit = (*hc)[ihit];
417  totalEnergy += aHit->getEnergyDeposit();
418  }
419 
420  for (int ihit = 0; ihit < nentries; ihit++) {
421  CaloG4Hit *aHit = (*hc)[ihit];
422  volumeID = aHit->getUnitID();
423  hitEnergy = aHit->getEnergyDeposit();
424  en_in_sd += aHit->getEnergyDeposit();
425  // double enEm = aHit->getEM();
426  // double enHad = aHit->getHadr();
427 
428  themap[volumeID] += aHit->getEnergyDeposit();
429  // int det, zside, sector, zmodule;
430  theCastorNumScheme->unpackIndex(volumeID, zside, sector, zmodule);
431 
432  // det = 2 ; // det=2/3 for CAFI/CAPL
433 
435  // castoreventarray[ntcastore_ihit] = (float)ihit;
440  castoreventarray[ntcastore_enem] = en_in_sd;
441  castoreventarray[ntcastore_enhad] = totalEnergy;
446  // castoreventarray[ntcastore_x] = aHit->getEntry().x();
447  // castoreventarray[ntcastore_y] = aHit->getEntry().y();
448  // castoreventarray[ntcastore_z] = aHit->getEntry().z();
449 
451 
452  eventGlobalHit++;
453  }
454  } // nentries > 0
455 }
int zside(DetId const &)
static void unpackIndex(const uint32_t &idx, int &z, int &sector, int &zmodule)
CastorNumberingScheme * theCastorNumScheme
math::XYZPoint getPosition() const
Definition: CaloG4Hit.h:52
double getEnergyDeposit() const
Definition: CaloG4Hit.h:79
uint32_t getUnitID() const
Definition: CaloG4Hit.h:66

◆ update() [1/6]

void CastorTestAnalysis::update ( const BeginOfJob )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const BeginOfJob *>.

Definition at line 186 of file CastorTestAnalysis.cc.

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

186 { edm::LogVerbatim("ForwardSim") << " Starting new job "; }
Log< level::Info, true > LogVerbatim

◆ update() [2/6]

void CastorTestAnalysis::update ( const BeginOfRun )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const BeginOfRun *>.

Definition at line 189 of file CastorTestAnalysis.cc.

References castorOutputEventFile, castorOutputStepFile, doNTcastorevent, doNTcastorstep, eventIndex, eventNtFileName, and stepNtFileName.

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

189  {
190  edm::LogVerbatim("ForwardSim") << std::endl << "CastorTestAnalysis: Starting Run";
191  if (doNTcastorstep) {
192  edm::LogVerbatim("ForwardSim") << "CastorTestAnalysis: output step root file created";
193  TString stepfilename = stepNtFileName;
194  castorOutputStepFile = new TFile(stepfilename, "RECREATE");
195  }
196 
197  if (doNTcastorevent) {
198  edm::LogVerbatim("ForwardSim") << "CastorTestAnalysis: output event root file created";
199  TString stepfilename = eventNtFileName;
200  castorOutputEventFile = new TFile(stepfilename, "RECREATE");
201  }
202 
203  eventIndex = 0;
204 }
Log< level::Info, true > LogVerbatim

◆ update() [3/6]

void CastorTestAnalysis::update ( const EndOfRun )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const EndOfRun *>.

Definition at line 401 of file CastorTestAnalysis.cc.

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

401 { ; }

◆ update() [4/6]

void CastorTestAnalysis::update ( const BeginOfEvent )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const BeginOfEvent *>.

Definition at line 206 of file CastorTestAnalysis.cc.

References eventIndex, and stepIndex.

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

206  {
207  edm::LogVerbatim("ForwardSim") << "CastorTestAnalysis: Processing Event Number: " << eventIndex;
208  eventIndex++;
209  stepIndex = 0;
210 }
Log< level::Info, true > LogVerbatim

◆ update() [5/6]

void CastorTestAnalysis::update ( const EndOfEvent )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const EndOfEvent *>.

Definition at line 294 of file CastorTestAnalysis.cc.

References doNTcastorevent, PVValHelper::eta, eventGlobalHit, getCastorBranchData(), mps_fire::i, CrabHelper::log, WZElectronSkims53X_cff::max, SiStripPI::min, npart, WZElectronSkims53X_cff::particleType, phi, funct::pow(), multPhiCorr_741_25nsDY_cfi::px, multPhiCorr_741_25nsDY_cfi::py, mathSSE::sqrt(), funct::tan(), theCastorNumScheme, and tauSpinnerTable_cfi::theta.

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

294  {
295  // Look for the Hit Collection
296  edm::LogVerbatim("ForwardSim") << std::endl
297  << "CastorTest::update(EndOfEvent * evt) - event #" << (*evt)()->GetEventID();
298 
299  // access to the G4 hit collections
300  G4HCofThisEvent *allHC = (*evt)()->GetHCofThisEvent();
301  edm::LogVerbatim("ForwardSim") << "update(*evt) --> accessed all HC";
302 
303  int CAFIid = G4SDManager::GetSDMpointer()->GetCollectionID("CastorFI");
304 
305  CaloG4HitCollection *theCAFI = (CaloG4HitCollection *)allHC->GetHC(CAFIid);
306 
308  // CastorNumberingScheme *theCastorNumScheme = new CastorNumberingScheme();
309 
310  /*
311  unsigned int volumeID=0;
312  int det, zside, sector, zmodule;
313  std::map<int,float,std::less<int> > themap;
314  double totalEnergy = 0;
315  double hitEnergy = 0;
316  double en_in_fi = 0.;
317  double en_in_pl = 0.;
318 */
319  // double en_in_bu = 0.;
320  // double en_in_tu = 0.;
321 
322  if (doNTcastorevent) {
323  eventGlobalHit = 0;
324  // int eventGlobalHit = 0 ;
325 
326  // Check FI TBranch for Hits
327  if (theCAFI->entries() > 0)
328  getCastorBranchData(theCAFI);
329 
330  // Find Primary info:
331  int trackID = 0;
332 #ifdef EDM_ML_DEBUG
333  int particleType = 0;
334 #endif
335  G4PrimaryParticle *thePrim = nullptr;
336  G4int nvertex = (*evt)()->GetNumberOfPrimaryVertex();
337  edm::LogVerbatim("ForwardSim") << "Event has " << nvertex << " vertex";
338  if (nvertex == 0)
339  edm::LogVerbatim("ForwardSim") << "CASTORTest End Of Event ERROR: no vertex";
340 
341  for (int i = 0; i < nvertex; i++) {
342  G4PrimaryVertex *avertex = (*evt)()->GetPrimaryVertex(i);
343  if (avertex == nullptr) {
344  edm::LogVerbatim("ForwardSim") << "CASTORTest End Of Event ERR: pointer to vertex = 0";
345  continue;
346  }
347  edm::LogVerbatim("ForwardSim") << "Vertex number :" << i;
348  int npart = avertex->GetNumberOfParticle();
349  if (npart == 0)
350  edm::LogVerbatim("ForwardSim") << "CASTORTest End Of Event ERR: no primary!";
351  if (thePrim == nullptr)
352  thePrim = avertex->GetPrimary(trackID);
353  }
354 
355  double px = 0., py = 0., pz = 0., pInit = 0;
356 #ifdef EDM_ML_DEBUG
357  double eta = 0., phi = 0.;
358 #endif
359  if (thePrim != nullptr) {
360  px = thePrim->GetPx();
361  py = thePrim->GetPy();
362  pz = thePrim->GetPz();
363  pInit = sqrt(pow(px, 2.) + pow(py, 2.) + pow(pz, 2.));
364  if (pInit == 0) {
365  edm::LogVerbatim("ForwardSim") << "CASTORTest End Of Event ERR: primary has p=0 ";
366 #ifdef EDM_ML_DEBUG
367  } else {
368  float costheta = pz / pInit;
369  float theta = acos(std::min(std::max(costheta, float(-1.)), float(1.)));
370  eta = -log(tan(theta / 2));
371 
372  if (px != 0)
373  phi = atan(py / px);
374 #endif
375  }
376 #ifdef EDM_ML_DEBUG
377  particleType = thePrim->GetPDGcode();
378 #endif
379  } else {
380  edm::LogVerbatim("ForwardSim") << "CASTORTest End Of Event ERR: could not find primary ";
381  }
382 #ifdef EDM_ML_DEBUG
383  edm::LogVerbatim("ForwardSim") << "CastorTestAnalysis: Particle Type " << particleType << " p/eta/phi " << pInit
384  << ", " << eta << ", " << phi;
385 #endif
386  }
387 
388  int iEvt = (*evt)()->GetEventID();
389  if (iEvt < 10)
390  edm::LogVerbatim("ForwardSim") << " CastorTest Event " << iEvt;
391  else if ((iEvt < 100) && (iEvt % 10 == 0))
392  edm::LogVerbatim("ForwardSim") << " CastorTest Event " << iEvt;
393  else if ((iEvt < 1000) && (iEvt % 100 == 0))
394  edm::LogVerbatim("ForwardSim") << " CastorTest Event " << iEvt;
395  else if ((iEvt < 10000) && (iEvt % 1000 == 0))
396  edm::LogVerbatim("ForwardSim") << " CastorTest Event " << iEvt;
397 
398  edm::LogVerbatim("ForwardSim") << std::endl << "===>>> Done writing user histograms ";
399 }
Log< level::Info, true > LogVerbatim
double npart
Definition: HydjetWrapper.h:48
CastorNumberingScheme * theCastorNumScheme
T sqrt(T t)
Definition: SSEVec.h:23
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
G4THitsCollection< CaloG4Hit > CaloG4HitCollection
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
void getCastorBranchData(const CaloG4HitCollection *hc)

◆ update() [6/6]

void CastorTestAnalysis::update ( const G4Step *  )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const G4Step *>.

Definition at line 212 of file CastorTestAnalysis.cc.

References Matriplex::atan2(), castorsteparray, castorstepntuple, doNTcastorstep, PVValHelper::eta, eventIndex, ALCARECOEcalPhiSym_cff::float, CrabHelper::log, ntcastors_charge, ntcastors_eta, ntcastors_evt, ntcastors_pdgcode, ntcastors_phi, ntcastors_stepe, ntcastors_stepl, ntcastors_trackid, ntcastors_vpx, ntcastors_vpy, ntcastors_vpz, ntcastors_x, ntcastors_y, ntcastors_z, phi, stepIndex, AlignmentTrackSelector_cfi::theCharge, and verbosity.

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

212  {
213  stepIndex++;
214 
215  if (doNTcastorstep) {
216  G4StepPoint *preStepPoint = aStep->GetPreStepPoint();
217  // G4StepPoint * postStepPoint= aStep->GetPostStepPoint();
218  G4double stepL = aStep->GetStepLength();
219  G4double stepE = aStep->GetTotalEnergyDeposit();
220 
221  if (verbosity >= 2)
222  edm::LogVerbatim("ForwardSim") << "Step " << stepL << ", " << stepE;
223 
224  G4Track *theTrack = aStep->GetTrack();
225  G4int theTrackID = theTrack->GetTrackID();
226  G4double theCharge = theTrack->GetDynamicParticle()->GetCharge();
227  // G4String particleType = theTrack->GetDefinition()->GetParticleName();
228  G4int pdgcode = theTrack->GetDefinition()->GetPDGEncoding();
229 
230  const G4ThreeVector &vert_mom = theTrack->GetVertexMomentumDirection();
231  G4double vpx = vert_mom.x();
232  G4double vpy = vert_mom.y();
233  G4double vpz = vert_mom.z();
234  double eta = 0.5 * log((1. + vpz) / (1. - vpz));
235  double phi = atan2(vpy, vpx);
236 
237  const G4ThreeVector &hitPoint = preStepPoint->GetPosition();
238 
239  // Fill-in ntuple
240  // castorsteparray[ntcastors_evt] = (*evt)()->GetEventID();
242  castorsteparray[ntcastors_trackid] = (float)theTrackID;
245  castorsteparray[ntcastors_x] = hitPoint.x();
246  castorsteparray[ntcastors_y] = hitPoint.y();
247  castorsteparray[ntcastors_z] = hitPoint.z();
255 
256  /*
257  edm::LogVerbatim("ForwardSim") << "TrackID: " << theTrackID;
258  edm::LogVerbatim("ForwardSim") << " StepN: "<< theTrack->GetCurrentStepNumber();
259  edm::LogVerbatim("ForwardSim") << " ParentID: " << aStep->GetTrack()->GetParentID();
260  edm::LogVerbatim("ForwardSim") << " PDG: " << pdgcode;
261  edm::LogVerbatim("ForwardSim") << " X,Y,Z (mm): " << theTrack->GetPosition().x() << "," << theTrack->GetPosition().y() << "," << theTrack->GetPosition().z();
262  edm::LogVerbatim("ForwardSim") << " KE (MeV): " << theTrack->GetKineticEnergy();
263  edm::LogVerbatim("ForwardSim") << " Total EDep (MeV): " << aStep->GetTotalEnergyDeposit();
264  edm::LogVerbatim("ForwardSim") << " StepLength (mm): " << aStep->GetStepLength();
265  edm::LogVerbatim("ForwardSim") << " TrackLength (mm): " << theTrack->GetTrackLength();
266 
267  if ( theTrack->GetNextVolume() != 0 )
268  edm::LogVerbatim("ForwardSim") <<" NextVolume: " << theTrack->GetNextVolume()->GetName();
269  else
270  edm::LogVerbatim("ForwardSim") <<" NextVolume: OutOfWorld";
271 
272  if(aStep->GetPostStepPoint()->GetProcessDefinedStep() != NULL)
273  edm::LogVerbatim("ForwardSim") << " ProcessName: "<< aStep->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName();
274  else
275  edm::LogVerbatim("ForwardSim") <<" ProcessName: UserLimit";
276 
277 
278  edm::LogVerbatim("ForwardSim") << std::endl;
279  */
280 
281 #ifdef EDM_ML_DEBUG
282  if (theTrack->GetNextVolume() != 0)
283  edm::LogVerbatim("ForwardSim") << " NextVolume: " << theTrack->GetNextVolume()->GetName();
284  else
285  edm::LogVerbatim("ForwardSim") << " NextVolume: OutOfWorld";
286 #endif
287 
288  //fill ntuple with step level information
290  }
291 }
Log< level::Info, true > LogVerbatim
MPlex< T, D1, D2, N > atan2(const MPlex< T, D1, D2, N > &y, const MPlex< T, D1, D2, N > &x)
Definition: Matriplex.h:648

Member Data Documentation

◆ castoreventarray

Float_t CastorTestAnalysis::castoreventarray[11]
private

Definition at line 108 of file CastorTestAnalysis.cc.

Referenced by getCastorBranchData().

◆ castoreventntuple

TNtuple* CastorTestAnalysis::castoreventntuple
private

Definition at line 99 of file CastorTestAnalysis.cc.

Referenced by CastorTestAnalysis(), Finish(), and getCastorBranchData().

◆ castorOutputEventFile

TFile* CastorTestAnalysis::castorOutputEventFile
private

Definition at line 95 of file CastorTestAnalysis.cc.

Referenced by Finish(), and update().

◆ castorOutputStepFile

TFile* CastorTestAnalysis::castorOutputStepFile
private

Definition at line 96 of file CastorTestAnalysis.cc.

Referenced by Finish(), and update().

◆ castorsteparray

Float_t CastorTestAnalysis::castorsteparray[14]
private

Definition at line 107 of file CastorTestAnalysis.cc.

Referenced by update().

◆ castorstepntuple

TNtuple* CastorTestAnalysis::castorstepntuple
private

Definition at line 98 of file CastorTestAnalysis.cc.

Referenced by CastorTestAnalysis(), Finish(), and update().

◆ doNTcastorevent

int CastorTestAnalysis::doNTcastorevent
private

Definition at line 91 of file CastorTestAnalysis.cc.

Referenced by CastorTestAnalysis(), Finish(), and update().

◆ doNTcastorstep

int CastorTestAnalysis::doNTcastorstep
private

Definition at line 90 of file CastorTestAnalysis.cc.

Referenced by CastorTestAnalysis(), Finish(), and update().

◆ eventGlobalHit

int CastorTestAnalysis::eventGlobalHit
private

Definition at line 105 of file CastorTestAnalysis.cc.

Referenced by getCastorBranchData(), and update().

◆ eventIndex

int CastorTestAnalysis::eventIndex
private

Definition at line 103 of file CastorTestAnalysis.cc.

Referenced by getCastorBranchData(), and update().

◆ eventNtFileName

std::string CastorTestAnalysis::eventNtFileName
private

Definition at line 93 of file CastorTestAnalysis.cc.

Referenced by CastorTestAnalysis(), and update().

◆ stepIndex

int CastorTestAnalysis::stepIndex
private

Definition at line 104 of file CastorTestAnalysis.cc.

Referenced by update().

◆ stepNtFileName

std::string CastorTestAnalysis::stepNtFileName
private

Definition at line 92 of file CastorTestAnalysis.cc.

Referenced by CastorTestAnalysis(), and update().

◆ theCastorNumScheme

CastorNumberingScheme* CastorTestAnalysis::theCastorNumScheme
private

Definition at line 101 of file CastorTestAnalysis.cc.

Referenced by getCastorBranchData(), and update().

◆ verbosity

int CastorTestAnalysis::verbosity
private

Definition at line 89 of file CastorTestAnalysis.cc.

Referenced by CastorTestAnalysis(), update(), and ~CastorTestAnalysis().