CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Attributes
ZdcSD Class Reference

#include <ZdcSD.h>

Inheritance diagram for ZdcSD:
CaloSD SensitiveCaloDetector Observer< const BeginOfRun * > Observer< const BeginOfEvent * > Observer< const BeginOfTrack * > Observer< const EndOfTrack * > Observer< const EndOfEvent * > SensitiveDetector

Public Member Functions

uint32_t setDetUnitId (const G4Step *step) override
 
void setNumberingScheme (ZdcNumberingScheme *scheme)
 
 ZdcSD (const std::string &, const edm::EventSetup &, const SensitiveDetectorCatalog &, edm::ParameterSet const &, const SimTrackManager *)
 
 ~ZdcSD () override=default
 
- Public Member Functions inherited from CaloSD
 CaloSD (const std::string &aSDname, const edm::EventSetup &es, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p, const SimTrackManager *, float timeSlice=1., bool ignoreTkID=false)
 
void clear () override
 
void clearHits () override
 
void DrawAll () override
 
void EndOfEvent (G4HCofThisEvent *eventHC) override
 
void fillHits (edm::PCaloHitContainer &, const std::string &) override
 
void Initialize (G4HCofThisEvent *HCE) override
 
bool isItFineCalo (const G4VTouchable *touch)
 
void PrintAll () override
 
bool ProcessHits (G4GFlashSpot *aSpot, G4TouchableHistory *) override
 
G4bool ProcessHits (G4Step *step, G4TouchableHistory *) override
 
void reset () override
 
 ~CaloSD () override
 
- Public Member Functions inherited from SensitiveCaloDetector
 SensitiveCaloDetector (const std::string &iname, const edm::EventSetup &es, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p)
 
- Public Member Functions inherited from SensitiveDetector
void EndOfEvent (G4HCofThisEvent *eventHC) override
 
const std::vector< std::string > & getNames () const
 
void Initialize (G4HCofThisEvent *eventHC) override
 
bool isCaloSD () const
 
 SensitiveDetector (const std::string &iname, const edm::EventSetup &es, const SensitiveDetectorCatalog &, edm::ParameterSet const &p, bool calo)
 
 ~SensitiveDetector () override
 
- 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 BeginOfTrack * >
 Observer ()
 
void slotForUpdate (const BeginOfTrack * iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const EndOfTrack * >
 Observer ()
 
void slotForUpdate (const EndOfTrack * iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const EndOfEvent * >
 Observer ()
 
void slotForUpdate (const EndOfEvent * iT)
 
virtual ~Observer ()
 

Protected Member Functions

double getEnergyDeposit (const G4Step *) override
 
bool getFromLibrary (const G4Step *) override
 
void initRun () override
 
- Protected Member Functions inherited from CaloSD
bool checkHit ()
 
CaloG4HitcreateNewHit (const G4Step *, const G4Track *)
 
virtual void endEvent ()
 
virtual double EnergyCorrected (const G4Step &step, const G4Track *)
 
virtual bool filterHit (CaloG4Hit *, double)
 
double getAttenuation (const G4Step *aStep, double birk1, double birk2, double birk3) const
 
virtual uint16_t getDepth (const G4Step *)
 
int getNumberOfHits ()
 
double getResponseWt (const G4Track *)
 
virtual int getTrackID (const G4Track *)
 
void hitBookkeepingFineCalo (const G4Step *step, const G4Track *currentTrack, CaloG4Hit *hit)
 
bool hitExists (const G4Step *)
 
void ignoreRejection ()
 
virtual void initEvent (const BeginOfEvent *)
 
void printDetectorLevels (const G4VTouchable *) const
 
void processHit (const G4Step *step)
 
void resetForNewPrimary (const G4Step *)
 
void setNumberCheckedHits (int val)
 
void setParameterized (bool val)
 
G4ThreeVector setToGlobal (const G4ThreeVector &, const G4VTouchable *) const
 
G4ThreeVector setToLocal (const G4ThreeVector &, const G4VTouchable *) const
 
virtual int setTrackID (const G4Step *)
 
void setUseMap (bool val)
 
void update (const ::EndOfEvent *) override
 
void update (const BeginOfEvent *) override
 This routine will be called when the appropriate signal arrives. More...
 
void update (const BeginOfRun *) override
 This routine will be called when the appropriate signal arrives. More...
 
void update (const BeginOfTrack *trk) override
 This routine will be called when the appropriate signal arrives. More...
 
void update (const EndOfTrack *trk) override
 This routine will be called when the appropriate signal arrives. More...
 
void updateHit (CaloG4Hit *)
 
- Protected Member Functions inherited from SensitiveDetector
TrackInformationcmsTrackInformation (const G4Track *aTrack)
 
Local3DPoint ConvertToLocal3DPoint (const G4ThreeVector &point) const
 
Local3DPoint FinalStepPosition (const G4Step *step, coordinates) const
 
Local3DPoint InitialStepPosition (const G4Step *step, coordinates) const
 
Local3DPoint LocalPostStepPosition (const G4Step *step) const
 
Local3DPoint LocalPreStepPosition (const G4Step *step) const
 
void NaNTrap (const G4Step *step) const
 
void setNames (const std::vector< std::string > &)
 
- Protected Member Functions inherited from Observer< const EndOfEvent * >
virtual void update (const EndOfEvent *)=0
 This routine will be called when the appropriate signal arrives. More...
 

Private Attributes

std::vector< ZdcShowerLibrary::Hithits
 
std::unique_ptr< ZdcNumberingSchemenumberingScheme
 
std::unique_ptr< ZdcShowerLibraryshowerLibrary
 
double thFibDir
 
bool useShowerHits
 
bool useShowerLibrary
 
int verbosity
 
double zdcHitEnergyCut
 

Additional Inherited Members

- Protected Types inherited from SensitiveDetector
enum  coordinates { WorldCoordinates, LocalCoordinates }
 
- Static Protected Member Functions inherited from CaloSD
static std::string printableDecayChain (const std::vector< unsigned int > &decayChain)
 
- Protected Attributes inherited from CaloSD
CaloG4HitcurrentHit
 
CaloHitID currentID
 
float edepositEM
 
float edepositHAD
 
double eminHit
 
double energyCut
 
G4ThreeVector entranceLocal
 
G4ThreeVector entrancePoint
 
bool forceSave
 
float incidentEnergy
 
double kmaxIon
 
double kmaxNeutron
 
double kmaxProton
 
G4ThreeVector posGlobal
 
CaloHitID previousID
 
bool suppressHeavy
 
double tmaxHit
 

Detailed Description

Definition at line 13 of file ZdcSD.h.

Constructor & Destructor Documentation

◆ ZdcSD()

ZdcSD::ZdcSD ( const std::string &  name,
const edm::EventSetup es,
const SensitiveDetectorCatalog clg,
edm::ParameterSet const &  p,
const SimTrackManager manager 
)

Definition at line 27 of file ZdcSD.cc.

32  : CaloSD(name, es, clg, p, manager) {
33  edm::ParameterSet m_ZdcSD = p.getParameter<edm::ParameterSet>("ZdcSD");
34  useShowerLibrary = m_ZdcSD.getParameter<bool>("UseShowerLibrary");
35  useShowerHits = m_ZdcSD.getParameter<bool>("UseShowerHits");
36  zdcHitEnergyCut = m_ZdcSD.getParameter<double>("ZdcHitEnergyCut") * GeV;
37  thFibDir = m_ZdcSD.getParameter<double>("FiberDirection");
38  verbosity = m_ZdcSD.getParameter<int>("Verbosity");
39  int verbn = verbosity / 10;
40  verbosity %= 10;
42 
43  edm::LogVerbatim("ZdcSD") << "***************************************************\n"
44  << "* *\n"
45  << "* Constructing a ZdcSD with name " << name << " *\n"
46  << "* *\n"
47  << "***************************************************";
48 
49  edm::LogVerbatim("ZdcSD") << "\nUse of shower library is set to " << useShowerLibrary
50  << "\nUse of Shower hits method is set to " << useShowerHits;
51 
52  edm::LogVerbatim("ZdcSD") << "\nEnergy Threshold Cut set to " << zdcHitEnergyCut / GeV << " (GeV)";
53 
54  if (useShowerLibrary) {
55  showerLibrary = std::make_unique<ZdcShowerLibrary>(name, p);
56  setParameterized(true);
57  } else {
58  showerLibrary.reset(nullptr);
59  }
60 }

References edm::ParameterSet::getParameter(), GeV, Skims_PA_cff::name, AlCaHLTBitMon_ParallelJobs::p, setNumberingScheme(), CaloSD::setParameterized(), showerLibrary, thFibDir, useShowerHits, useShowerLibrary, verbosity, and zdcHitEnergyCut.

◆ ~ZdcSD()

ZdcSD::~ZdcSD ( )
overridedefault

Member Function Documentation

◆ getEnergyDeposit()

double ZdcSD::getEnergyDeposit ( const G4Step *  aStep)
overrideprotectedvirtual

Reimplemented from CaloSD.

Definition at line 115 of file ZdcSD.cc.

115  {
116  double NCherPhot = 0.;
117 
118  // preStepPoint information
119  G4StepPoint* preStepPoint = aStep->GetPreStepPoint();
120  G4VPhysicalVolume* currentPV = preStepPoint->GetPhysicalVolume();
121  const G4String& nameVolume = currentPV->GetName();
122 
123  const G4ThreeVector& hitPoint = preStepPoint->GetPosition();
124  const G4ThreeVector& hit_mom = preStepPoint->GetMomentumDirection();
125  G4double stepL = aStep->GetStepLength() / cm;
126  G4double beta = preStepPoint->GetBeta();
127  G4double charge = preStepPoint->GetCharge();
128 
129  // postStepPoint information
130  G4StepPoint* postStepPoint = aStep->GetPostStepPoint();
131  G4VPhysicalVolume* postPV = postStepPoint->GetPhysicalVolume();
132  const G4String& postnameVolume = postPV->GetName();
133 
134  // theTrack information
135  G4Track* theTrack = aStep->GetTrack();
136  G4String particleType = theTrack->GetDefinition()->GetParticleName();
137  const G4ThreeVector& vert_mom = theTrack->GetVertexMomentumDirection();
138  G4ThreeVector localPoint = theTrack->GetTouchable()->GetHistory()->GetTopTransform().TransformPoint(hitPoint);
139 
140  // calculations
141  float costheta =
142  vert_mom.z() / sqrt(vert_mom.x() * vert_mom.x() + vert_mom.y() * vert_mom.y() + vert_mom.z() * vert_mom.z());
143  float theta = std::acos(std::min(std::max(costheta, -1.f), 1.f));
144  float eta = -std::log(std::tan(theta * 0.5f));
145  float phi = -100.;
146  if (vert_mom.x() != 0)
147  phi = std::atan2(vert_mom.y(), vert_mom.x());
148  if (phi < 0.)
149  phi += twopi;
150 
151  // Get the total energy deposit
152  double stepE = aStep->GetTotalEnergyDeposit();
153  LogDebug("ForwardSim") << "ZdcSD:: getEnergyDeposit: \n"
154  << " preStepPoint: " << nameVolume << "," << stepL << "," << stepE << "," << beta << ","
155  << charge << "\n"
156  << " postStepPoint: " << postnameVolume << "," << costheta << "," << theta << "," << eta
157  << "," << phi << "," << particleType << " id= " << theTrack->GetTrackID()
158  << " Etot(GeV)= " << theTrack->GetTotalEnergy() / GeV;
159 
160  const double bThreshold = 0.67;
161  if ((beta > bThreshold) && (charge != 0) && (nameVolume == "ZDC_EMFiber" || nameVolume == "ZDC_HadFiber")) {
162  LogDebug("ForwardSim") << "ZdcSD:: getEnergyDeposit: pass ";
163 
164  const float nMedium = 1.4925;
165  // float photEnSpectrDL = 10714.285714;
166  // photEnSpectrDL = (1./400.nm-1./700.nm)*10000000.cm/nm; /* cm-1 */
167 
168  const float photEnSpectrDE = 1.24;
169  // E = 2pi*(1./137.)*(eV*cm/370.)/lambda = 12.389184*(eV*cm)/lambda
170  // Emax = 12.389184*(eV*cm)/400nm*10-7cm/nm = 3.01 eV
171  // Emin = 12.389184*(eV*cm)/700nm*10-7cm/nm = 1.77 eV
172  // delE = Emax - Emin = 1.24 eV
173 
174  const float effPMTandTransport = 0.15;
175 
176  // Check these values
177  const float thFullRefl = 23.;
178  float thFullReflRad = thFullRefl * pi / 180.;
179 
180  float thFibDirRad = thFibDir * pi / 180.;
181 
182  // at which theta the point is located:
183  // float th1 = hitPoint.theta();
184 
185  // theta of charged particle in LabRF(hit momentum direction):
186  float costh = hit_mom.z() / sqrt(hit_mom.x() * hit_mom.x() + hit_mom.y() * hit_mom.y() + hit_mom.z() * hit_mom.z());
187  float th = acos(std::min(std::max(costh, -1.f), 1.f));
188  // just in case (can do both standard ranges of phi):
189  if (th < 0.)
190  th += twopi;
191 
192  // theta of cone with Cherenkov photons w.r.t.direction of charged part.:
193  float costhcher = 1. / (nMedium * beta);
194  float thcher = acos(std::min(std::max(costhcher, -1.f), 1.f));
195 
196  // diff thetas of charged part. and quartz direction in LabRF:
197  float DelFibPart = std::abs(th - thFibDirRad);
198 
199  // define real distances:
200  float d = std::abs(std::tan(th) - std::tan(thFibDirRad));
201 
202  float a = std::tan(thFibDirRad) + std::tan(std::abs(thFibDirRad - thFullReflRad));
203  float r = std::tan(th) + std::tan(std::abs(th - thcher));
204 
205  // define losses d_qz in cone of full reflection inside quartz direction
206  float d_qz = -1;
207  float variant = -1;
208 
209  // if (d > (r+a))
210  if (DelFibPart > (thFullReflRad + thcher)) {
211  variant = 0.;
212  d_qz = 0.;
213  } else {
214  // if ((DelFibPart + thcher) < thFullReflRad ) [(d+r) < a]
215  if ((th + thcher) < (thFibDirRad + thFullReflRad) && (th - thcher) > (thFibDirRad - thFullReflRad)) {
216  variant = 1.;
217  d_qz = 1.;
218  } else {
219  // if ((thcher - DelFibPart ) > thFullReflRad ) [(r-d) > a]
220  if ((thFibDirRad + thFullReflRad) < (th + thcher) && (thFibDirRad - thFullReflRad) > (th - thcher)) {
221  variant = 2.;
222  d_qz = 0.;
223  } else {
224  variant = 3.; // d_qz is calculated below
225 
226  // use crossed length of circles(cone projection) - dC1/dC2 :
227  float arg_arcos = 0.;
228  float tan_arcos = 2. * a * d;
229  if (tan_arcos != 0.)
230  arg_arcos = (r * r - a * a - d * d) / tan_arcos;
231  // std::cout.testOut << " d_qz: " << r << "," << a << "," << d << " " << tan_arcos << " " << arg_arcos;
232  arg_arcos = std::abs(arg_arcos);
233  // std::cout.testOut << "," << arg_arcos;
234  float th_arcos = acos(std::min(std::max(arg_arcos, -1.f), 1.f));
235  // std::cout.testOut << " " << th_arcos;
236  d_qz = th_arcos / twopi;
237  // std::cout.testOut << " " << d_qz;
238  d_qz = std::abs(d_qz);
239  // std::cout.testOut << "," << d_qz;
240  }
241  }
242  }
243  double meanNCherPhot = 0.;
244  int poissNCherPhot = 0;
245  if (d_qz > 0) {
246  meanNCherPhot = 370. * charge * charge * (1. - 1. / (nMedium * nMedium * beta * beta)) * photEnSpectrDE * stepL;
247 
248  poissNCherPhot = std::max((int)G4Poisson(meanNCherPhot), 0);
249  NCherPhot = poissNCherPhot * effPMTandTransport * d_qz;
250  }
251 
252  LogDebug("ForwardSim") << "ZdcSD:: getEnergyDeposit: gED: " << stepE << "," << costh << "," << th << ","
253  << costhcher << "," << thcher << "," << DelFibPart << "," << d << "," << a << "," << r << ","
254  << hitPoint << "," << hit_mom << "," << vert_mom << "," << localPoint << "," << charge << ","
255  << beta << "," << stepL << "," << d_qz << "," << variant << "," << meanNCherPhot << ","
256  << poissNCherPhot << "," << NCherPhot;
257  // --constants-----------------
258  // << "," << photEnSpectrDE
259  // << "," << nMedium
260  // << "," << bThreshold
261  // << "," << thFibDirRad
262  // << "," << thFullReflRad
263  // << "," << effPMTandTransport
264  // --other variables-----------
265  // << "," << curprocess
266  // << "," << nameProcess
267  // << "," << name
268  // << "," << rad
269  // << "," << mat
270 
271  } else {
272  // determine failure mode: beta, charge, and/or nameVolume
273  if (beta <= bThreshold)
274  LogDebug("ForwardSim") << "ZdcSD:: getEnergyDeposit: fail beta=" << beta;
275  if (charge == 0)
276  LogDebug("ForwardSim") << "ZdcSD:: getEnergyDeposit: fail charge=0";
277  if (!(nameVolume == "ZDC_EMFiber" || nameVolume == "ZDC_HadFiber"))
278  LogDebug("ForwardSim") << "ZdcSD:: getEnergyDeposit: fail nv=" << nameVolume;
279  }
280 
281  return NCherPhot;
282 }

References a, funct::abs(), HLT_FULL_cff::beta, ALCARECOTkAlJpsiMuMu_cff::charge, ztail::d, PVValHelper::eta, f, GeV, dqm-mbProfile::log, LogDebug, SiStripPI::max, min(), PbPb_ZMuSkimMuonDPG_cff::particleType, phi, pi, alignCSCRings::r, mathSSE::sqrt(), funct::tan(), theta(), and thFibDir.

◆ getFromLibrary()

bool ZdcSD::getFromLibrary ( const G4Step *  aStep)
overrideprotectedvirtual

Reimplemented from CaloSD.

Definition at line 64 of file ZdcSD.cc.

64  {
65  bool ok = true;
66 
67  auto const preStepPoint = aStep->GetPreStepPoint();
68  auto const theTrack = aStep->GetTrack();
69 
70  double etrack = preStepPoint->GetKineticEnergy();
71  int primaryID = setTrackID(aStep);
72 
73  hits.clear();
74 
75  // Reset entry point for new primary
76  resetForNewPrimary(aStep);
77 
78  if (etrack >= zdcHitEnergyCut) {
79  // create hits only if above threshold
80 
81  LogDebug("ForwardSim") << "----------------New track------------------------------\n"
82  << "Incident EnergyTrack: " << etrack << " MeV \n"
83  << "Zdc Cut Energy for Hits: " << zdcHitEnergyCut << " MeV \n"
84  << "ZdcSD::getFromLibrary " << hits.size() << " hits for " << GetName() << " of "
85  << primaryID << " with " << theTrack->GetDefinition()->GetParticleName() << " of " << etrack
86  << " MeV\n";
87 
88  hits.swap(showerLibrary.get()->getHits(aStep, ok));
89  }
90 
91  incidentEnergy = etrack;
92  entrancePoint = preStepPoint->GetPosition();
93  for (unsigned int i = 0; i < hits.size(); i++) {
94  posGlobal = hits[i].position;
95  entranceLocal = hits[i].entryLocal;
96  double time = hits[i].time;
97  unsigned int unitID = hits[i].detID;
98  edepositHAD = hits[i].DeHad;
99  edepositEM = hits[i].DeEM;
100  currentID.setID(unitID, time, primaryID, 0);
101  processHit(aStep);
102 
103  LogDebug("ForwardSim") << "ZdcSD: Final Hit number:" << i << "-->"
104  << "New HitID: " << currentHit->getUnitID()
105  << " New Hit trackID: " << currentHit->getTrackID()
106  << " New EM Energy: " << currentHit->getEM() / GeV
107  << " New HAD Energy: " << currentHit->getHadr() / GeV
108  << " New HitEntryPoint: " << currentHit->getEntryLocal()
109  << " New IncidentEnergy: " << currentHit->getIncidentEnergy() / GeV
110  << " New HitPosition: " << posGlobal;
111  }
112  return ok;
113 }

References CaloSD::currentHit, CaloSD::currentID, CaloSD::edepositEM, CaloSD::edepositHAD, CaloSD::entranceLocal, CaloSD::entrancePoint, CaloG4Hit::getEM(), CaloG4Hit::getEntryLocal(), CaloG4Hit::getHadr(), CaloG4Hit::getIncidentEnergy(), CaloG4Hit::getTrackID(), CaloG4Hit::getUnitID(), GeV, hits, mps_fire::i, CaloSD::incidentEnergy, LogDebug, convertSQLiteXML::ok, CaloSD::posGlobal, CaloSD::processHit(), CaloSD::resetForNewPrimary(), CaloHitID::setID(), CaloSD::setTrackID(), showerLibrary, protons_cff::time, and zdcHitEnergyCut.

◆ initRun()

void ZdcSD::initRun ( )
overrideprotectedvirtual

Reimplemented from CaloSD.

Definition at line 62 of file ZdcSD.cc.

62 { hits.clear(); }

References hits.

◆ setDetUnitId()

uint32_t ZdcSD::setDetUnitId ( const G4Step *  step)
overridevirtual

Implements CaloSD.

Definition at line 284 of file ZdcSD.cc.

284  {
285  return (numberingScheme.get() == nullptr ? 0 : numberingScheme.get()->getUnitID(aStep));
286 }

References numberingScheme.

◆ setNumberingScheme()

void ZdcSD::setNumberingScheme ( ZdcNumberingScheme scheme)

Definition at line 288 of file ZdcSD.cc.

288  {
289  if (scheme != nullptr) {
290  edm::LogVerbatim("ZdcSD") << "ZdcSD: updates numbering scheme for " << GetName();
291  numberingScheme.reset(scheme);
292  }
293 }

References numberingScheme, and generator_cfi::scheme.

Referenced by ZdcSD().

Member Data Documentation

◆ hits

std::vector<ZdcShowerLibrary::Hit> ZdcSD::hits
private

Definition at line 40 of file ZdcSD.h.

Referenced by getFromLibrary(), and initRun().

◆ numberingScheme

std::unique_ptr<ZdcNumberingScheme> ZdcSD::numberingScheme
private

Definition at line 39 of file ZdcSD.h.

Referenced by setDetUnitId(), and setNumberingScheme().

◆ showerLibrary

std::unique_ptr<ZdcShowerLibrary> ZdcSD::showerLibrary
private

Definition at line 38 of file ZdcSD.h.

Referenced by getFromLibrary(), and ZdcSD().

◆ thFibDir

double ZdcSD::thFibDir
private

Definition at line 35 of file ZdcSD.h.

Referenced by getEnergyDeposit(), and ZdcSD().

◆ useShowerHits

bool ZdcSD::useShowerHits
private

Definition at line 34 of file ZdcSD.h.

Referenced by ZdcSD().

◆ useShowerLibrary

bool ZdcSD::useShowerLibrary
private

Definition at line 34 of file ZdcSD.h.

Referenced by ZdcSD().

◆ verbosity

int ZdcSD::verbosity
private

Definition at line 33 of file ZdcSD.h.

Referenced by ZdcSD().

◆ zdcHitEnergyCut

double ZdcSD::zdcHitEnergyCut
private

Definition at line 36 of file ZdcSD.h.

Referenced by getFromLibrary(), and ZdcSD().

CaloSD::edepositHAD
float edepositHAD
Definition: CaloSD.h:137
CaloG4Hit::getTrackID
int getTrackID() const
Definition: CaloG4Hit.h:64
mps_fire.i
i
Definition: mps_fire.py:428
ZdcSD::setNumberingScheme
void setNumberingScheme(ZdcNumberingScheme *scheme)
Definition: ZdcSD.cc:288
ZdcSD::thFibDir
double thFibDir
Definition: ZdcSD.h:35
CaloSD::currentHit
CaloG4Hit * currentHit
Definition: CaloSD.h:143
ZdcSD::numberingScheme
std::unique_ptr< ZdcNumberingScheme > numberingScheme
Definition: ZdcSD.h:39
ZdcSD::hits
std::vector< ZdcShowerLibrary::Hit > hits
Definition: ZdcSD.h:40
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
ZdcSD::useShowerHits
bool useShowerHits
Definition: ZdcSD.h:34
min
T min(T a, T b)
Definition: MathUtil.h:58
HLT_FULL_cff.beta
beta
Definition: HLT_FULL_cff.py:8686
CaloG4Hit::getUnitID
uint32_t getUnitID() const
Definition: CaloG4Hit.h:66
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
protons_cff.time
time
Definition: protons_cff.py:39
CaloSD::edepositEM
float edepositEM
Definition: CaloSD.h:137
CaloG4Hit::getEntryLocal
math::XYZPoint getEntryLocal() const
Definition: CaloG4Hit.h:49
convertSQLiteXML.ok
bool ok
Definition: convertSQLiteXML.py:98
ZdcSD::verbosity
int verbosity
Definition: ZdcSD.h:33
CaloSD::setTrackID
virtual int setTrackID(const G4Step *)
Definition: CaloSD.cc:841
CaloHitID::setID
void setID(uint32_t unitID, double timeSlice, int trackID, uint16_t depth=0)
Definition: CaloHitID.cc:41
PVValHelper::eta
Definition: PVValidationHelpers.h:70
ZdcNumberingScheme
Definition: ZdcNumberingScheme.h:13
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
CaloSD::entrancePoint
G4ThreeVector entrancePoint
Definition: CaloSD.h:133
CaloSD::processHit
void processHit(const G4Step *step)
Definition: CaloSD.h:110
theta
Geom::Theta< T > theta() const
Definition: Basic3DVectorLD.h:150
CaloSD::posGlobal
G4ThreeVector posGlobal
Definition: CaloSD.h:135
CaloSD::currentID
CaloHitID currentID
Definition: CaloSD.h:139
ALCARECOTkAlJpsiMuMu_cff.charge
charge
Definition: ALCARECOTkAlJpsiMuMu_cff.py:47
CaloG4Hit::getEM
double getEM() const
Definition: CaloG4Hit.h:55
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:233
edm::ParameterSet
Definition: ParameterSet.h:47
a
double a
Definition: hdecay.h:119
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
CaloSD::incidentEnergy
float incidentEnergy
Definition: CaloSD.h:136
GeV
const double GeV
Definition: MathUtil.h:16
funct::tan
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
CaloSD::CaloSD
CaloSD(const std::string &aSDname, const edm::EventSetup &es, const SensitiveDetectorCatalog &clg, edm::ParameterSet const &p, const SimTrackManager *, float timeSlice=1., bool ignoreTkID=false)
Definition: CaloSD.cc:35
CaloSD::resetForNewPrimary
void resetForNewPrimary(const G4Step *)
Definition: CaloSD.cc:672
generator_cfi.scheme
scheme
Definition: generator_cfi.py:22
alignCSCRings.r
r
Definition: alignCSCRings.py:93
DDAxes::phi
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
CaloSD::setParameterized
void setParameterized(bool val)
Definition: CaloSD.h:107
CaloG4Hit::getIncidentEnergy
double getIncidentEnergy() const
Definition: CaloG4Hit.h:61
CaloSD::entranceLocal
G4ThreeVector entranceLocal
Definition: CaloSD.h:134
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
dqm-mbProfile.log
log
Definition: dqm-mbProfile.py:17
ZdcSD::zdcHitEnergyCut
double zdcHitEnergyCut
Definition: ZdcSD.h:36
ztail.d
d
Definition: ztail.py:151
pi
const Double_t pi
Definition: trackSplitPlot.h:36
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
PbPb_ZMuSkimMuonDPG_cff.particleType
particleType
Definition: PbPb_ZMuSkimMuonDPG_cff.py:27
ZdcSD::useShowerLibrary
bool useShowerLibrary
Definition: ZdcSD.h:34
ZdcSD::showerLibrary
std::unique_ptr< ZdcShowerLibrary > showerLibrary
Definition: ZdcSD.h:38
CaloG4Hit::getHadr
double getHadr() const
Definition: CaloG4Hit.h:58