CMS 3D CMS Logo

List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes
EcalSimHitsValidProducer Class Reference

#include <EcalSimHitsValidProducer.h>

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

Public Member Functions

 EcalSimHitsValidProducer (const edm::ParameterSet &)
 
 EcalSimHitsValidProducer (const EcalSimHitsValidProducer &)=delete
 
const EcalSimHitsValidProduceroperator= (const EcalSimHitsValidProducer &)=delete
 
void produce (edm::Event &, const edm::EventSetup &) override
 
 ~EcalSimHitsValidProducer () override
 
- Public Member Functions inherited from SimProducer
const SimProduceroperator= (const SimProducer &)=delete
 
void registerProducts (edm::ProducesCollector producesCollector)
 
 SimProducer ()
 
 SimProducer (const SimProducer &)=delete
 
- 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 BeginOfEvent *>
 Observer ()
 
void slotForUpdate (const BeginOfEvent * iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const G4Step *>
 Observer ()
 
void slotForUpdate (const G4Step * iT)
 
virtual ~Observer ()
 
- Public Member Functions inherited from Observer< const EndOfEvent *>
 Observer ()
 
void slotForUpdate (const EndOfEvent * iT)
 
virtual ~Observer ()
 

Private Types

typedef std::vector< float > FloatVector
 
typedef std::map< uint32_t, float, std::less< uint32_t > > MapType
 

Private Member Functions

float eCluster2x2 (MapType &themap)
 
float eCluster4x4 (float e33, MapType &themap)
 
float energyInEBMatrix (int nCellInX, int nCellInY, int centralX, int centralY, int centralZ, MapType &themap)
 
float energyInEEMatrix (int nCellInX, int nCellInY, int centralX, int centralY, int centralZ, MapType &themap)
 
bool fillEBMatrix (int nCellInEta, int nCellInPhi, int CentralEta, int CentralPhi, int CentralZ, MapType &fillmap, MapType &themap)
 
bool fillEEMatrix (int nCellInEta, int nCellInPhi, int CentralEta, int CentralPhi, int CentralZ, MapType &fillmap, MapType &themap)
 
void fillEventInfo (PEcalValidInfo &)
 
uint32_t getUnitWithMaxEnergy (MapType &themap)
 
void update (const BeginOfEvent *) override
 This routine will be called when the appropriate signal arrives. More...
 
void update (const G4Step *) override
 This routine will be called when the appropriate signal arrives. More...
 
void update (const EndOfEvent *) override
 This routine will be called when the appropriate signal arrives. More...
 

Private Attributes

float eb1
 
float eb16
 
float eb25
 
float eb4
 
float eb9
 
float eBX0 [26]
 
float ee1
 
float ee16
 
float ee25
 
float ee4
 
float ee9
 
float eEX0 [26]
 
FloatVector eOf1ES
 
FloatVector eOf1ESzm
 
FloatVector eOf1ESzp
 
FloatVector eOf2ES
 
FloatVector eOf2ESzm
 
FloatVector eOf2ESzp
 
FloatVector eOfEBCaloG4Hit
 
FloatVector eOfEECaloG4Hit
 
FloatVector eOfEEMinusCaloG4Hit
 
FloatVector eOfEEPlusCaloG4Hit
 
FloatVector eOfESCaloG4Hit
 
FloatVector etaOfEBCaloG4Hit
 
FloatVector etaOfEECaloG4Hit
 
FloatVector etaOfESCaloG4Hit
 
std::string label
 
int nCrystalInEB
 
int nCrystalInEEzm
 
int nCrystalInEEzp
 
int nHitsIn1ES
 
int nHitsIn1ESzm
 
int nHitsIn1ESzp
 
int nHitsIn2ES
 
int nHitsIn2ESzm
 
int nHitsIn2ESzp
 
int nHitsInEB
 
int nHitsInEE
 
int nHitsInES
 
FloatVector phiOfEBCaloG4Hit
 
FloatVector phiOfEECaloG4Hit
 
FloatVector phiOfESCaloG4Hit
 
math::XYZTLorentzVector theMomentum
 
int thePID
 
math::XYZTLorentzVector theVertex
 
FloatVector tOfEBCaloG4Hit
 
FloatVector tOfEECaloG4Hit
 
FloatVector tOfESCaloG4Hit
 
float totalEInEB
 
float totalEInEE
 
float totalEInEEzm
 
float totalEInEEzp
 
float totalEInES
 
float totalEInESzm
 
float totalEInESzp
 
int totalHits
 
FloatVector zOfES
 

Additional Inherited Members

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

Detailed Description

Definition at line 25 of file EcalSimHitsValidProducer.h.

Member Typedef Documentation

◆ FloatVector

typedef std::vector<float> EcalSimHitsValidProducer::FloatVector
private

Definition at line 29 of file EcalSimHitsValidProducer.h.

◆ MapType

typedef std::map<uint32_t, float, std::less<uint32_t> > EcalSimHitsValidProducer::MapType
private

Definition at line 30 of file EcalSimHitsValidProducer.h.

Constructor & Destructor Documentation

◆ EcalSimHitsValidProducer() [1/2]

EcalSimHitsValidProducer::EcalSimHitsValidProducer ( const edm::ParameterSet iPSet)

Definition at line 19 of file EcalSimHitsValidProducer.cc.

References eBX0, eEX0, mps_fire::i, label, and SimWatcher::setMT().

20  : ee1(0.0),
21  ee4(0.0),
22  ee9(0.0),
23  ee16(0.0),
24  ee25(0.0),
25  eb1(0.0),
26  eb4(0.0),
27  eb9(0.0),
28  eb16(0.0),
29  eb25(0.0),
30  totalEInEE(0.0),
31  totalEInEB(0),
32  totalEInES(0.0),
33  totalEInEEzp(0.0),
34  totalEInEEzm(0.0),
35  totalEInESzp(0.0),
36  totalEInESzm(0.0),
37  totalHits(0),
38  nHitsInEE(0),
39  nHitsInEB(0),
40  nHitsInES(0),
41  nHitsIn1ES(0),
42  nHitsIn2ES(0),
43  nCrystalInEB(0),
44  nCrystalInEEzp(0),
45  nCrystalInEEzm(0),
46  nHitsIn1ESzp(0),
47  nHitsIn1ESzm(0),
48  nHitsIn2ESzp(0),
49  nHitsIn2ESzm(0),
50  thePID(0),
51  label(iPSet.getUntrackedParameter<std::string>("instanceLabel", "EcalValidInfo")) {
52  produces<PEcalValidInfo>(label);
53 
54  for (int i = 0; i < 26; i++) {
55  eBX0[i] = 0.0;
56  eEX0[i] = 0.0;
57  }
58  setMT(true);
59 }
void setMT(bool val)
Definition: SimWatcher.h:47
T getUntrackedParameter(std::string const &, T const &) const

◆ EcalSimHitsValidProducer() [2/2]

EcalSimHitsValidProducer::EcalSimHitsValidProducer ( const EcalSimHitsValidProducer )
delete

◆ ~EcalSimHitsValidProducer()

EcalSimHitsValidProducer::~EcalSimHitsValidProducer ( )
override

Definition at line 61 of file EcalSimHitsValidProducer.cc.

61 {}

Member Function Documentation

◆ eCluster2x2()

float EcalSimHitsValidProducer::eCluster2x2 ( MapType themap)
private

Definition at line 504 of file EcalSimHitsValidProducer.cc.

Referenced by update().

504  {
505  float E22 = 0.;
506  float e012 = themap[0] + themap[1] + themap[2];
507  float e036 = themap[0] + themap[3] + themap[6];
508  float e678 = themap[6] + themap[7] + themap[8];
509  float e258 = themap[2] + themap[5] + themap[8];
510 
511  if ((e012 > e678 || e012 == e678) && (e036 > e258 || e036 == e258))
512  E22 = themap[0] + themap[1] + themap[3] + themap[4];
513  else if ((e012 > e678 || e012 == e678) && (e036 < e258 || e036 == e258))
514  E22 = themap[1] + themap[2] + themap[4] + themap[5];
515  else if ((e012 < e678 || e012 == e678) && (e036 > e258 || e036 == e258))
516  E22 = themap[3] + themap[4] + themap[6] + themap[7];
517  else if ((e012 < e678 || e012 == e678) && (e036 < e258 || e036 == e258))
518  E22 = themap[4] + themap[5] + themap[7] + themap[8];
519 
520  return E22;
521 }

◆ eCluster4x4()

float EcalSimHitsValidProducer::eCluster4x4 ( float  e33,
MapType themap 
)
private

Definition at line 523 of file EcalSimHitsValidProducer.cc.

Referenced by update().

523  {
524  float E44 = 0.;
525  float e0_4 = themap[0] + themap[1] + themap[2] + themap[3] + themap[4];
526  float e0_20 = themap[0] + themap[5] + themap[10] + themap[15] + themap[20];
527  float e4_24 = themap[4] + themap[9] + themap[14] + themap[19] + themap[24];
528  float e0_24 = themap[20] + themap[21] + themap[22] + themap[23] + themap[24];
529 
530  if ((e0_4 > e0_24 || e0_4 == e0_24) && (e0_20 > e4_24 || e0_20 == e4_24))
531  E44 = e33 + themap[0] + themap[1] + themap[2] + themap[3] + themap[5] + themap[10] + themap[15];
532  else if ((e0_4 > e0_24 || e0_4 == e0_24) && (e0_20 < e4_24 || e0_20 == e4_24))
533  E44 = e33 + themap[1] + themap[2] + themap[3] + themap[4] + themap[9] + themap[14] + themap[19];
534  else if ((e0_4 < e0_24 || e0_4 == e0_24) && (e0_20 > e4_24 || e0_20 == e4_24))
535  E44 = e33 + themap[5] + themap[10] + themap[15] + themap[20] + themap[21] + themap[22] + themap[23];
536  else if ((e0_4 < e0_24 || e0_4 == e0_24) && (e0_20 < e4_24 || e0_20 == e4_24))
537  E44 = e33 + themap[21] + themap[22] + themap[23] + themap[24] + themap[9] + themap[14] + themap[19];
538 
539  return E44;
540 }

◆ energyInEBMatrix()

float EcalSimHitsValidProducer::energyInEBMatrix ( int  nCellInX,
int  nCellInY,
int  centralX,
int  centralY,
int  centralZ,
MapType themap 
)
private

Definition at line 576 of file EcalSimHitsValidProducer.cc.

References funct::abs(), LEDCalibrationChannels::ieta, LEDCalibrationChannels::iphi, LogDebug, and DetId::rawId().

Referenced by update().

577  {
578  int ncristals = 0;
579  float totalEnergy = 0.;
580 
581  int goBackInEta = nCellInEta / 2;
582  int goBackInPhi = nCellInPhi / 2;
583  int startEta = centralZ * centralEta - goBackInEta;
584  int startPhi = centralPhi - goBackInPhi;
585 
586  for (int ieta = startEta; ieta < startEta + nCellInEta; ieta++) {
587  for (int iphi = startPhi; iphi < startPhi + nCellInPhi; iphi++) {
588  uint32_t index;
589  if (abs(ieta) > 85 || abs(ieta) < 1) {
590  continue;
591  }
592  if (iphi < 1) {
593  index = EBDetId(ieta, iphi + 360).rawId();
594  } else if (iphi > 360) {
595  index = EBDetId(ieta, iphi - 360).rawId();
596  } else {
597  index = EBDetId(ieta, iphi).rawId();
598  }
599 
600  totalEnergy += themap[index];
601  ncristals += 1;
602 
603  LogDebug("EcalSimHitsValidProducer")
604  << " EnergyInEBMatrix: ieta - iphi - E = " << ieta << " " << iphi << " " << themap[index];
605  }
606  }
607 
608  LogDebug("EcalSimHitsValidProducer") << " EnergyInEBMatrix: energy in " << nCellInEta << " cells in eta times "
609  << nCellInPhi << " cells in phi matrix = " << totalEnergy << " for " << ncristals
610  << " crystals";
611 
612  return totalEnergy;
613 }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
#define LogDebug(id)

◆ energyInEEMatrix()

float EcalSimHitsValidProducer::energyInEEMatrix ( int  nCellInX,
int  nCellInY,
int  centralX,
int  centralY,
int  centralZ,
MapType themap 
)
private

Definition at line 542 of file EcalSimHitsValidProducer.cc.

References LogDebug, DetId::rawId(), and EEDetId::validDetId().

Referenced by update().

543  {
544  int ncristals = 0;
545  float totalEnergy = 0.;
546 
547  int goBackInX = nCellInX / 2;
548  int goBackInY = nCellInY / 2;
549  int startX = centralX - goBackInX;
550  int startY = centralY - goBackInY;
551 
552  for (int ix = startX; ix < startX + nCellInX; ix++) {
553  for (int iy = startY; iy < startY + nCellInY; iy++) {
554  uint32_t index;
555  if (EEDetId::validDetId(ix, iy, centralZ)) {
556  index = EEDetId(ix, iy, centralZ).rawId();
557  } else {
558  continue;
559  }
560 
561  totalEnergy += themap[index];
562  ncristals += 1;
563 
564  LogDebug("EcalSimHitsValidProducer")
565  << " EnergyInEEMatrix: ix - iy - E = " << ix << " " << iy << " " << themap[index];
566  }
567  }
568 
569  LogDebug("EcalSimHitsValidProducer") << " EnergyInEEMatrix: energy in " << nCellInX << " cells in x times "
570  << nCellInY << " cells in y matrix = " << totalEnergy << " for " << ncristals
571  << " crystals";
572 
573  return totalEnergy;
574 }
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248
#define LogDebug(id)

◆ fillEBMatrix()

bool EcalSimHitsValidProducer::fillEBMatrix ( int  nCellInEta,
int  nCellInPhi,
int  CentralEta,
int  CentralPhi,
int  CentralZ,
MapType fillmap,
MapType themap 
)
private

Definition at line 470 of file EcalSimHitsValidProducer.cc.

References funct::abs(), getUnitWithMaxEnergy(), mps_fire::i, LEDCalibrationChannels::ieta, LEDCalibrationChannels::iphi, and DetId::rawId().

Referenced by update().

471  {
472  int goBackInEta = nCellInEta / 2;
473  int goBackInPhi = nCellInPhi / 2;
474 
475  int startEta = CentralZ * CentralEta - goBackInEta;
476  int startPhi = CentralPhi - goBackInPhi;
477 
478  int i = 0;
479  for (int ieta = startEta; ieta < startEta + nCellInEta; ieta++) {
480  for (int iphi = startPhi; iphi < startPhi + nCellInPhi; iphi++) {
481  uint32_t index;
482  if (abs(ieta) > 85 || abs(ieta) < 1) {
483  continue;
484  }
485  if (iphi < 1) {
486  index = EBDetId(ieta, iphi + 360).rawId();
487  } else if (iphi > 360) {
488  index = EBDetId(ieta, iphi - 360).rawId();
489  } else {
490  index = EBDetId(ieta, iphi).rawId();
491  }
492  fillmap[i++] = themap[index];
493  }
494  }
495 
496  uint32_t ebcenterid = getUnitWithMaxEnergy(themap);
497 
498  if (fillmap[i / 2] == themap[ebcenterid])
499  return true;
500  else
501  return false;
502 }
uint32_t getUnitWithMaxEnergy(MapType &themap)
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57

◆ fillEEMatrix()

bool EcalSimHitsValidProducer::fillEEMatrix ( int  nCellInEta,
int  nCellInPhi,
int  CentralEta,
int  CentralPhi,
int  CentralZ,
MapType fillmap,
MapType themap 
)
private

Definition at line 440 of file EcalSimHitsValidProducer.cc.

References getUnitWithMaxEnergy(), mps_fire::i, LEDCalibrationChannels::ieta, LEDCalibrationChannels::iphi, DetId::rawId(), and EEDetId::validDetId().

Referenced by update().

441  {
442  int goBackInEta = nCellInEta / 2;
443  int goBackInPhi = nCellInPhi / 2;
444 
445  int startEta = CentralEta - goBackInEta;
446  int startPhi = CentralPhi - goBackInPhi;
447 
448  int i = 0;
449  for (int ieta = startEta; ieta < startEta + nCellInEta; ieta++) {
450  for (int iphi = startPhi; iphi < startPhi + nCellInPhi; iphi++) {
451  uint32_t index;
452 
453  if (EEDetId::validDetId(ieta, iphi, CentralZ)) {
454  index = EEDetId(ieta, iphi, CentralZ).rawId();
455  } else {
456  continue;
457  }
458 
459  fillmap[i++] = themap[index];
460  }
461  }
462  uint32_t centerid = getUnitWithMaxEnergy(themap);
463 
464  if (fillmap[i / 2] == themap[centerid])
465  return true;
466  else
467  return false;
468 }
uint32_t getUnitWithMaxEnergy(MapType &themap)
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.h:248

◆ fillEventInfo()

void EcalSimHitsValidProducer::fillEventInfo ( PEcalValidInfo product)
private

Definition at line 69 of file EcalSimHitsValidProducer.cc.

References eb1, PEcalValidInfo::eb1, eb16, PEcalValidInfo::eb16, eb25, PEcalValidInfo::eb25, eb4, PEcalValidInfo::eb4, eb9, PEcalValidInfo::eb9, eBX0, PEcalValidInfo::eBX0, ee1, PEcalValidInfo::ee1, ee16, PEcalValidInfo::ee16, ee25, PEcalValidInfo::ee25, ee4, PEcalValidInfo::ee4, ee9, PEcalValidInfo::ee9, eEX0, PEcalValidInfo::eEX0, eOf1ES, PEcalValidInfo::eOf1ES, eOf1ESzm, PEcalValidInfo::eOf1ESzm, eOf1ESzp, PEcalValidInfo::eOf1ESzp, eOf2ES, PEcalValidInfo::eOf2ES, eOf2ESzm, PEcalValidInfo::eOf2ESzm, eOf2ESzp, PEcalValidInfo::eOf2ESzp, eOfEBCaloG4Hit, PEcalValidInfo::eOfEBCaloG4Hit, eOfEECaloG4Hit, PEcalValidInfo::eOfEECaloG4Hit, eOfEEMinusCaloG4Hit, PEcalValidInfo::eOfEEMinusCaloG4Hit, eOfEEPlusCaloG4Hit, PEcalValidInfo::eOfEEPlusCaloG4Hit, eOfESCaloG4Hit, PEcalValidInfo::eOfESCaloG4Hit, etaOfEBCaloG4Hit, PEcalValidInfo::etaOfEBCaloG4Hit, etaOfEECaloG4Hit, PEcalValidInfo::etaOfEECaloG4Hit, etaOfESCaloG4Hit, PEcalValidInfo::etaOfESCaloG4Hit, mps_fire::i, nCrystalInEB, PEcalValidInfo::nCrystalInEB, nCrystalInEEzm, PEcalValidInfo::nCrystalInEEzm, nCrystalInEEzp, PEcalValidInfo::nCrystalInEEzp, nHitsIn1ES, PEcalValidInfo::nHitsIn1ES, nHitsIn1ESzm, PEcalValidInfo::nHitsIn1ESzm, nHitsIn1ESzp, PEcalValidInfo::nHitsIn1ESzp, nHitsIn2ES, PEcalValidInfo::nHitsIn2ES, nHitsIn2ESzm, PEcalValidInfo::nHitsIn2ESzm, nHitsIn2ESzp, PEcalValidInfo::nHitsIn2ESzp, nHitsInEB, PEcalValidInfo::nHitsInEB, nHitsInEE, PEcalValidInfo::nHitsInEE, nHitsInES, PEcalValidInfo::nHitsInES, phiOfEBCaloG4Hit, PEcalValidInfo::phiOfEBCaloG4Hit, phiOfEECaloG4Hit, PEcalValidInfo::phiOfEECaloG4Hit, phiOfESCaloG4Hit, PEcalValidInfo::phiOfESCaloG4Hit, theMomentum, PEcalValidInfo::theMomentum, thePID, PEcalValidInfo::thePID, theVertex, PEcalValidInfo::theVertex, tOfEBCaloG4Hit, PEcalValidInfo::tOfEBCaloG4Hit, tOfEECaloG4Hit, PEcalValidInfo::tOfEECaloG4Hit, tOfESCaloG4Hit, PEcalValidInfo::tOfESCaloG4Hit, totalEInEB, PEcalValidInfo::totalEInEB, totalEInEE, PEcalValidInfo::totalEInEE, totalEInEEzm, PEcalValidInfo::totalEInEEzm, totalEInEEzp, PEcalValidInfo::totalEInEEzp, totalEInES, PEcalValidInfo::totalEInES, totalEInESzm, PEcalValidInfo::totalEInESzm, totalEInESzp, PEcalValidInfo::totalEInESzp, totalHits, PEcalValidInfo::totalHits, zOfES, and PEcalValidInfo::zOfES.

Referenced by produce().

69  {
70  if (ee1 != 0) {
71  product.ee1 = ee1;
72  product.ee4 = ee4;
73  product.ee9 = ee9;
74  product.ee16 = ee16;
75  product.ee25 = ee25;
76  for (int i = 0; i < 26; i++) {
77  product.eEX0.push_back(eEX0[i]);
78  }
79  }
80 
81  if (eb1 != 0) {
82  product.eb1 = eb1;
83  product.eb4 = eb4;
84  product.eb9 = eb9;
85  product.eb16 = eb16;
86  product.eb25 = eb25;
87  for (int i = 0; i < 26; i++) {
88  product.eBX0.push_back(eBX0[i]);
89  }
90  }
91 
92  product.totalEInEE = totalEInEE;
93  product.totalEInEB = totalEInEB;
94  product.totalEInES = totalEInES;
95 
96  product.totalEInEEzp = totalEInEEzp;
97  product.totalEInEEzm = totalEInEEzm;
98 
99  product.totalEInESzp = totalEInESzp;
100  product.totalEInESzm = totalEInESzm;
101 
102  product.totalHits = totalHits;
103  product.nHitsInEE = nHitsInEE;
104  product.nHitsInEB = nHitsInEB;
105  product.nHitsInES = nHitsInES;
106  product.nHitsIn1ES = nHitsIn1ES;
107  product.nHitsIn2ES = nHitsIn2ES;
108  product.nCrystalInEB = nCrystalInEB;
109  product.nCrystalInEEzp = nCrystalInEEzp;
110  product.nCrystalInEEzm = nCrystalInEEzm;
111 
112  product.nHitsIn1ESzp = nHitsIn1ESzp;
113  product.nHitsIn1ESzm = nHitsIn1ESzm;
114  product.nHitsIn2ESzp = nHitsIn2ESzp;
115  product.nHitsIn2ESzm = nHitsIn2ESzm;
116 
117  product.eOf1ES = eOf1ES;
118  product.eOf2ES = eOf2ES;
119  product.zOfES = zOfES;
120 
121  product.eOf1ESzp = eOf1ESzp;
122  product.eOf1ESzm = eOf1ESzm;
123  product.eOf2ESzp = eOf2ESzp;
124  product.eOf2ESzm = eOf2ESzm;
125 
128  product.eOfEECaloG4Hit = eOfEECaloG4Hit;
131  product.tOfEECaloG4Hit = tOfEECaloG4Hit;
132 
135  product.eOfESCaloG4Hit = eOfESCaloG4Hit;
136  product.tOfESCaloG4Hit = tOfESCaloG4Hit;
137 
140  product.eOfEBCaloG4Hit = eOfEBCaloG4Hit;
141  product.tOfEBCaloG4Hit = tOfEBCaloG4Hit;
142 
143  product.theMomentum = theMomentum;
144  product.theVertex = theVertex;
145  product.thePID = thePID;
146 }
FloatVector eOfEEMinusCaloG4Hit
FloatVector eOfESCaloG4Hit
FloatVector eOfEEPlusCaloG4Hit
FloatVector phiOfEECaloG4Hit
FloatVector tOfEECaloG4Hit
FloatVector etaOfEECaloG4Hit
FloatVector phiOfEBCaloG4Hit
math::XYZTLorentzVector theMomentum
FloatVector etaOfEBCaloG4Hit
math::XYZTLorentzVector theVertex
math::XYZTLorentzVector theMomentum
FloatVector eOfEBCaloG4Hit
FloatVector phiOfESCaloG4Hit
math::XYZTLorentzVector theVertex
FloatVector etaOfESCaloG4Hit
FloatVector tOfESCaloG4Hit
FloatVector tOfEBCaloG4Hit
FloatVector eOfEECaloG4Hit

◆ getUnitWithMaxEnergy()

uint32_t EcalSimHitsValidProducer::getUnitWithMaxEnergy ( MapType themap)
private

Definition at line 615 of file EcalSimHitsValidProducer.cc.

References TauDecayModes::dec, LogDebug, and particleFlowClusterECALTimeSelected_cfi::maxEnergy.

Referenced by fillEBMatrix(), fillEEMatrix(), and update().

615  {
616  uint32_t unitWithMaxEnergy = 0;
617  float maxEnergy = 0.;
618 
619  MapType::iterator iter;
620  for (iter = themap.begin(); iter != themap.end(); iter++) {
621  if (maxEnergy < (*iter).second) {
622  maxEnergy = (*iter).second;
623  unitWithMaxEnergy = (*iter).first;
624  }
625  }
626 
627  LogDebug("EcalSimHitsValidProducer") << " Max energy of " << maxEnergy << " MeV was found in Unit id 0x" << std::hex
628  << unitWithMaxEnergy << std::dec;
629 
630  return unitWithMaxEnergy;
631 }
#define LogDebug(id)

◆ operator=()

const EcalSimHitsValidProducer& EcalSimHitsValidProducer::operator= ( const EcalSimHitsValidProducer )
delete

◆ produce()

void EcalSimHitsValidProducer::produce ( edm::Event e,
const edm::EventSetup  
)
overridevirtual

Implements SimProducer.

Definition at line 63 of file EcalSimHitsValidProducer.cc.

References MillePedeFileConverter_cfg::e, fillEventInfo(), label, and eostools::move().

63  {
64  std::unique_ptr<PEcalValidInfo> product(new PEcalValidInfo);
65  fillEventInfo(*product);
66  e.put(std::move(product), label);
67 }
void fillEventInfo(PEcalValidInfo &)
def move(src, dest)
Definition: eostools.py:511

◆ update() [1/3]

void EcalSimHitsValidProducer::update ( const BeginOfEvent )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const BeginOfEvent *>.

Definition at line 148 of file EcalSimHitsValidProducer.cc.

References eb1, eb16, eb25, eb4, eb9, eBX0, ee1, ee16, ee25, ee4, ee9, eEX0, eOf1ES, eOf1ESzm, eOf1ESzp, eOf2ES, eOf2ESzm, eOf2ESzp, eOfEBCaloG4Hit, eOfEECaloG4Hit, eOfEEMinusCaloG4Hit, eOfEEPlusCaloG4Hit, eOfESCaloG4Hit, etaOfEBCaloG4Hit, etaOfEECaloG4Hit, etaOfESCaloG4Hit, mps_fire::i, nCrystalInEB, nCrystalInEEzm, nCrystalInEEzp, nHitsIn1ES, nHitsIn1ESzm, nHitsIn1ESzp, nHitsIn2ES, nHitsIn2ESzm, nHitsIn2ESzp, nHitsInEB, nHitsInEE, nHitsInES, phiOfEBCaloG4Hit, phiOfEECaloG4Hit, phiOfESCaloG4Hit, tOfEBCaloG4Hit, tOfEECaloG4Hit, tOfESCaloG4Hit, totalEInEB, totalEInEE, totalEInEEzm, totalEInEEzp, totalEInES, totalEInESzm, totalEInESzp, totalHits, and zOfES.

Referenced by MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), and MatrixUtil.Steps::overwrite().

148  {
149  ee1 = 0.0;
150  ee4 = 0.0;
151  ee9 = 0.0;
152  ee16 = 0.0;
153  ee25 = 0.0;
154 
155  eb1 = 0.0;
156  eb4 = 0.0;
157  eb9 = 0.0;
158  eb16 = 0.0;
159  eb25 = 0.0;
160 
161  totalEInEE = 0.0;
162  totalEInEB = 0.0;
163  totalEInES = 0.0;
164 
165  totalEInEEzp = 0.0;
166  totalEInEEzm = 0.0;
167  totalEInESzp = 0.0;
168  totalEInESzm = 0.0;
169 
170  totalHits = 0;
171  nHitsInEE = 0;
172  nHitsInEB = 0;
173  nHitsInES = 0;
174  nHitsIn1ES = 0;
175  nHitsIn2ES = 0;
176  nCrystalInEB = 0;
177  nCrystalInEEzp = 0;
178  nCrystalInEEzm = 0;
179 
180  nHitsIn1ESzp = 0;
181  nHitsIn1ESzm = 0;
182  nHitsIn2ESzp = 0;
183  nHitsIn2ESzm = 0;
184 
185  for (int i = 0; i < 26; i++) {
186  eBX0[i] = 0.0;
187  eEX0[i] = 0.0;
188  }
189 
190  eOf1ES.clear();
191  eOf2ES.clear();
192  zOfES.clear();
193 
194  eOf1ESzp.clear();
195  eOf1ESzm.clear();
196  eOf2ESzp.clear();
197  eOf2ESzm.clear();
198 
199  phiOfEECaloG4Hit.clear();
200  etaOfEECaloG4Hit.clear();
201  tOfEECaloG4Hit.clear();
202  eOfEECaloG4Hit.clear();
203  eOfEEPlusCaloG4Hit.clear();
204  eOfEEMinusCaloG4Hit.clear();
205 
206  phiOfESCaloG4Hit.clear();
207  etaOfESCaloG4Hit.clear();
208  tOfESCaloG4Hit.clear();
209  eOfESCaloG4Hit.clear();
210 
211  phiOfEBCaloG4Hit.clear();
212  etaOfEBCaloG4Hit.clear();
213  tOfEBCaloG4Hit.clear();
214  eOfEBCaloG4Hit.clear();
215 }

◆ update() [2/3]

void EcalSimHitsValidProducer::update ( const G4Step *  )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const G4Step *>.

Definition at line 411 of file EcalSimHitsValidProducer.cc.

References eBX0, eEX0, createfilelist::int, Skims_PA_cff::name, alignCSCRings::r, mathSSE::sqrt(), AlCaHLTBitMon_QueryRunRegistry::string, x, y, and z.

Referenced by MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), and MatrixUtil.Steps::overwrite().

411  {
412  G4StepPoint *preStepPoint = aStep->GetPreStepPoint();
413  const G4ThreeVector &hitPoint = preStepPoint->GetPosition();
414  G4VPhysicalVolume *currentPV = preStepPoint->GetPhysicalVolume();
415  const G4String &name = currentPV->GetName();
416  std::string crystal;
417  crystal.assign(name, 0, 4);
418 
419  float Edeposit = aStep->GetTotalEnergyDeposit();
420  if (crystal == "EFRY" && Edeposit > 0.0) {
421  float z = hitPoint.z();
422  float detz = fabs(fabs(z) - 3200);
423  int x0 = (int)floor(detz / 8.9);
424  if (x0 < 26) {
425  eEX0[x0] += Edeposit;
426  }
427  }
428  if (crystal == "EBRY" && Edeposit > 0.0) {
429  float x = hitPoint.x();
430  float y = hitPoint.y();
431  float r = sqrt(x * x + y * y);
432  float detr = r - 1290;
433  int x0 = (int)floor(detr / 8.9);
434  if (x0 < 26) {
435  eBX0[x0] += Edeposit;
436  }
437  }
438 }
T sqrt(T t)
Definition: SSEVec.h:19

◆ update() [3/3]

void EcalSimHitsValidProducer::update ( const EndOfEvent )
overrideprivatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const EndOfEvent *>.

Definition at line 217 of file EcalSimHitsValidProducer.cc.

References simKBmtfDigis_cfi::bx, eb1, eb16, eb25, eb4, eb9, eCluster2x2(), eCluster4x4(), ee1, ee16, ee25, ee4, ee9, energyInEBMatrix(), energyInEEMatrix(), eOf1ESzm, eOf1ESzp, eOf2ESzm, eOf2ESzp, eOfEBCaloG4Hit, eOfEECaloG4Hit, eOfEEMinusCaloG4Hit, eOfEEPlusCaloG4Hit, etaOfEBCaloG4Hit, etaOfEECaloG4Hit, fillEBMatrix(), fillEEMatrix(), CaloG4Hit::getEnergyDeposit(), CaloG4Hit::getEntry(), CaloG4Hit::getTimeSlice(), CaloG4Hit::getUnitID(), getUnitWithMaxEnergy(), hcalSimParameters_cfi::he, mps_fire::i, EBDetId::ietaAbs(), EBDetId::iphi(), EEDetId::ix(), EEDetId::iy(), dqmiolumiharvest::j, dqm-mbProfile::log, nCrystalInEB, nCrystalInEEzm, nCrystalInEEzp, nHitsIn1ESzm, nHitsIn1ESzp, nHitsIn2ESzm, nHitsIn2ESzp, nHitsInEB, nHitsInEE, nHitsInES, npart, phiOfEBCaloG4Hit, phiOfEECaloG4Hit, ESDetId::plane(), multPhiCorr_741_25nsDY_cfi::px, multPhiCorr_741_25nsDY_cfi::py, mathSSE::sqrt(), FrontierCondition_GT_autoExpress_cfi::t0, funct::tan(), theMomentum, thePID, theVertex, tOfEBCaloG4Hit, tOfEECaloG4Hit, totalEInEB, totalEInEE, totalEInEEzm, totalEInEEzp, totalEInES, totalEInESzm, totalEInESzp, totalHits, HLTMuonOfflineAnalyzer_cfi::z0, ESDetId::zside(), EBDetId::zside(), and EEDetId::zside().

Referenced by MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), and MatrixUtil.Steps::overwrite().

217  {
218  int trackID = 0;
219  G4PrimaryParticle *thePrim = nullptr;
220  int nvertex = (*evt)()->GetNumberOfPrimaryVertex();
221  if (nvertex <= 0) {
222  edm::LogWarning("EcalSimHitsValidProducer") << " No Vertex in this Event!";
223  } else {
224  for (int i = 0; i < nvertex; i++) {
225  G4PrimaryVertex *avertex = (*evt)()->GetPrimaryVertex(i);
226  if (avertex == nullptr)
227  edm::LogWarning("EcalSimHitsValidProducer") << " Pointer to vertex is NULL!";
228  else {
229  float x0 = avertex->GetX0();
230  float y0 = avertex->GetY0();
231  float z0 = avertex->GetZ0();
232  float t0 = avertex->GetT0();
233  theVertex.SetCoordinates(x0, y0, z0, t0);
234 
235  int npart = avertex->GetNumberOfParticle();
236  if (npart == 0)
237  edm::LogWarning("EcalSimHitsValidProducer") << " No primary particle in this event";
238  else {
239  if (thePrim == nullptr)
240  thePrim = avertex->GetPrimary(trackID);
241  }
242  }
243  }
244 
245  // the direction of momentum of primary particles
246  double pInit = 0; // etaInit =0, phiInit =0, // UNUSED
247  if (thePrim != nullptr) {
248  double px = thePrim->GetPx();
249  double py = thePrim->GetPy();
250  double pz = thePrim->GetPz();
251  theMomentum.SetCoordinates(px, py, pz, 0.);
252 
253  pInit = std::sqrt(px * px + py * py + pz * pz);
254  if (pInit == 0)
255  edm::LogWarning("EcalSimHitsValidProducer") << " Primary has p = 0 ; ";
256  else {
257  theMomentum.SetE(pInit);
258  }
259 
260  thePID = thePrim->GetPDGcode();
261  } else {
262  edm::LogWarning("EcalSimHitsValidProducer") << " Could not find the primary particle!!";
263  }
264  }
265  // hit map for EB for matrices
266  G4HCofThisEvent *allHC = (*evt)()->GetHCofThisEvent();
267  int EBHCid = G4SDManager::GetSDMpointer()->GetCollectionID("EcalHitsEB");
268  int EEHCid = G4SDManager::GetSDMpointer()->GetCollectionID("EcalHitsEE");
269  int SEHCid = G4SDManager::GetSDMpointer()->GetCollectionID("EcalHitsES");
270 
271  CaloG4HitCollection *theEBHC = (CaloG4HitCollection *)allHC->GetHC(EBHCid);
272  CaloG4HitCollection *theEEHC = (CaloG4HitCollection *)allHC->GetHC(EEHCid);
273  CaloG4HitCollection *theSEHC = (CaloG4HitCollection *)allHC->GetHC(SEHCid);
274 
275  nHitsInEE = theEEHC->entries();
276  nHitsInEB = theEBHC->entries();
277  nHitsInES = theSEHC->entries();
279 
280  // EB Hit collection start
281  MapType ebmap;
282  int theebhc_entries = theEBHC->entries();
283  for (int j = 0; j < theebhc_entries; j++) {
284  CaloG4Hit *aHit = (*theEBHC)[j];
285  totalEInEB += aHit->getEnergyDeposit();
286  float he = aHit->getEnergyDeposit();
287  float htime = aHit->getTimeSlice();
288 
289  math::XYZPoint hpos = aHit->getEntry();
290  float htheta = hpos.theta();
291  float heta = -log(tan(htheta * 0.5));
292  float hphi = hpos.phi();
293 
294  phiOfEBCaloG4Hit.push_back(hphi);
295  etaOfEBCaloG4Hit.push_back(heta);
296  tOfEBCaloG4Hit.push_back(htime);
297  eOfEBCaloG4Hit.push_back(he);
298  uint32_t crystid = aHit->getUnitID();
299  ebmap[crystid] += aHit->getEnergyDeposit();
300  }
301 
302  nCrystalInEB = ebmap.size();
303 
304  // EE Hit collection start
305  MapType eemap, eezpmap, eezmmap;
306  int theeehc_entries = theEEHC->entries();
307  for (int j = 0; j < theeehc_entries; j++) {
308  CaloG4Hit *aHit = (*theEEHC)[j];
309  totalEInEE += aHit->getEnergyDeposit();
310  float he = aHit->getEnergyDeposit();
311  float htime = aHit->getTimeSlice();
312 
313  math::XYZPoint hpos = aHit->getEntry();
314  float htheta = hpos.theta();
315  float heta = -log(tan(htheta * 0.5));
316  float hphi = hpos.phi();
317  phiOfEECaloG4Hit.push_back(hphi);
318  etaOfEECaloG4Hit.push_back(heta);
319  tOfEECaloG4Hit.push_back(htime);
320  eOfEECaloG4Hit.push_back(he);
321 
322  uint32_t crystid = aHit->getUnitID();
323  EEDetId myEEid(crystid);
324  if (myEEid.zside() == -1) {
325  totalEInEEzm += aHit->getEnergyDeposit();
326  eOfEEMinusCaloG4Hit.push_back(he);
327  eezmmap[crystid] += aHit->getEnergyDeposit();
328  }
329  if (myEEid.zside() == 1) {
330  totalEInEEzp += aHit->getEnergyDeposit();
331  eOfEEPlusCaloG4Hit.push_back(he);
332  eezpmap[crystid] += aHit->getEnergyDeposit();
333  }
334 
335  eemap[crystid] += aHit->getEnergyDeposit();
336  }
337 
338  nCrystalInEEzm = eezmmap.size();
339  nCrystalInEEzp = eezpmap.size();
340 
341  // Hits from ES
342  int thesehc_entries = theSEHC->entries();
343  for (int j = 0; j < thesehc_entries; j++) {
344  CaloG4Hit *aHit = (*theSEHC)[j];
345  totalEInES += aHit->getEnergyDeposit();
346  ESDetId esid = ESDetId(aHit->getUnitID());
347 
348  if (esid.zside() == -1) {
349  totalEInESzm += aHit->getEnergyDeposit();
350 
351  if (esid.plane() == 1) {
352  nHitsIn1ESzm++;
353  eOf1ESzm.push_back(aHit->getEnergyDeposit());
354  } else if (esid.plane() == 2) {
355  nHitsIn2ESzm++;
356  eOf2ESzm.push_back(aHit->getEnergyDeposit());
357  }
358  }
359  if (esid.zside() == 1) {
360  totalEInESzp += aHit->getEnergyDeposit();
361 
362  if (esid.plane() == 1) {
363  nHitsIn1ESzp++;
364  eOf1ESzp.push_back(aHit->getEnergyDeposit());
365  } else if (esid.plane() == 2) {
366  nHitsIn2ESzp++;
367  eOf2ESzp.push_back(aHit->getEnergyDeposit());
368  }
369  }
370  }
371 
372  uint32_t eemaxid = getUnitWithMaxEnergy(eemap);
373  uint32_t ebmaxid = getUnitWithMaxEnergy(ebmap);
374  if (eemap[eemaxid] > ebmap[ebmaxid]) {
375  uint32_t centerid = getUnitWithMaxEnergy(eemap);
376  EEDetId myEEid(centerid);
377  int ix = myEEid.ix();
378  int iy = myEEid.iy();
379  int iz = myEEid.zside();
380 
381  ee1 = energyInEEMatrix(1, 1, ix, iy, iz, eemap);
382  ee9 = energyInEEMatrix(3, 3, ix, iy, iz, eemap);
383  ee25 = energyInEEMatrix(5, 5, ix, iy, iz, eemap);
384  MapType neweemap;
385  if (fillEEMatrix(3, 3, ix, iy, iz, neweemap, eemap)) {
386  ee4 = eCluster2x2(neweemap);
387  }
388  if (fillEEMatrix(5, 5, ix, iy, iz, neweemap, eemap)) {
389  ee16 = eCluster4x4(ee9, neweemap);
390  }
391  } else {
392  uint32_t ebcenterid = getUnitWithMaxEnergy(ebmap);
393  EBDetId myEBid(ebcenterid);
394  int bx = myEBid.ietaAbs();
395  int by = myEBid.iphi();
396  int bz = myEBid.zside();
397  eb1 = energyInEBMatrix(1, 1, bx, by, bz, ebmap);
398  eb9 = energyInEBMatrix(3, 3, bx, by, bz, ebmap);
399  eb25 = energyInEBMatrix(5, 5, bx, by, bz, ebmap);
400 
401  MapType newebmap;
402  if (fillEBMatrix(3, 3, bx, by, bz, newebmap, ebmap)) {
403  eb4 = eCluster2x2(newebmap);
404  }
405  if (fillEBMatrix(5, 5, bx, by, bz, newebmap, ebmap)) {
406  eb16 = eCluster4x4(eb9, newebmap);
407  }
408  }
409 }
math::XYZTLorentzVector theMomentum
double npart
Definition: HydjetWrapper.h:46
int zside() const
Definition: ESDetId.h:39
bool fillEEMatrix(int nCellInEta, int nCellInPhi, int CentralEta, int CentralPhi, int CentralZ, MapType &fillmap, MapType &themap)
math::XYZPoint getEntry() const
Definition: CaloG4Hit.h:46
uint32_t getUnitWithMaxEnergy(MapType &themap)
int plane() const
Definition: ESDetId.h:41
T sqrt(T t)
Definition: SSEVec.h:19
bool fillEBMatrix(int nCellInEta, int nCellInPhi, int CentralEta, int CentralPhi, int CentralZ, MapType &fillmap, MapType &themap)
float energyInEBMatrix(int nCellInX, int nCellInY, int centralX, int centralY, int centralZ, MapType &themap)
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
std::map< uint32_t, float, std::less< uint32_t > > MapType
float energyInEEMatrix(int nCellInX, int nCellInY, int centralX, int centralY, int centralZ, MapType &themap)
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
double getEnergyDeposit() const
Definition: CaloG4Hit.h:79
math::XYZTLorentzVector theVertex
uint32_t getUnitID() const
Definition: CaloG4Hit.h:66
float eCluster2x2(MapType &themap)
G4THitsCollection< CaloG4Hit > CaloG4HitCollection
double getTimeSlice() const
Definition: CaloG4Hit.h:67
Log< level::Warning, false > LogWarning
float eCluster4x4(float e33, MapType &themap)

Member Data Documentation

◆ eb1

float EcalSimHitsValidProducer::eb1
private

Definition at line 69 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ eb16

float EcalSimHitsValidProducer::eb16
private

Definition at line 72 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ eb25

float EcalSimHitsValidProducer::eb25
private

Definition at line 73 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ eb4

float EcalSimHitsValidProducer::eb4
private

Definition at line 70 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ eb9

float EcalSimHitsValidProducer::eb9
private

Definition at line 71 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ eBX0

float EcalSimHitsValidProducer::eBX0[26]
private

Definition at line 99 of file EcalSimHitsValidProducer.h.

Referenced by EcalSimHitsValidProducer(), fillEventInfo(), and update().

◆ ee1

float EcalSimHitsValidProducer::ee1
private

Definition at line 63 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ ee16

float EcalSimHitsValidProducer::ee16
private

Definition at line 66 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ ee25

float EcalSimHitsValidProducer::ee25
private

Definition at line 67 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ ee4

float EcalSimHitsValidProducer::ee4
private

Definition at line 64 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ ee9

float EcalSimHitsValidProducer::ee9
private

Definition at line 65 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ eEX0

float EcalSimHitsValidProducer::eEX0[26]
private

Definition at line 100 of file EcalSimHitsValidProducer.h.

Referenced by EcalSimHitsValidProducer(), fillEventInfo(), and update().

◆ eOf1ES

FloatVector EcalSimHitsValidProducer::eOf1ES
private

Definition at line 102 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ eOf1ESzm

FloatVector EcalSimHitsValidProducer::eOf1ESzm
private

Definition at line 105 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ eOf1ESzp

FloatVector EcalSimHitsValidProducer::eOf1ESzp
private

Definition at line 104 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ eOf2ES

FloatVector EcalSimHitsValidProducer::eOf2ES
private

Definition at line 103 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ eOf2ESzm

FloatVector EcalSimHitsValidProducer::eOf2ESzm
private

Definition at line 107 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ eOf2ESzp

FloatVector EcalSimHitsValidProducer::eOf2ESzp
private

Definition at line 106 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ eOfEBCaloG4Hit

FloatVector EcalSimHitsValidProducer::eOfEBCaloG4Hit
private

Definition at line 120 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ eOfEECaloG4Hit

FloatVector EcalSimHitsValidProducer::eOfEECaloG4Hit
private

Definition at line 113 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ eOfEEMinusCaloG4Hit

FloatVector EcalSimHitsValidProducer::eOfEEMinusCaloG4Hit
private

Definition at line 115 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ eOfEEPlusCaloG4Hit

FloatVector EcalSimHitsValidProducer::eOfEEPlusCaloG4Hit
private

Definition at line 114 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ eOfESCaloG4Hit

FloatVector EcalSimHitsValidProducer::eOfESCaloG4Hit
private

Definition at line 125 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ etaOfEBCaloG4Hit

FloatVector EcalSimHitsValidProducer::etaOfEBCaloG4Hit
private

Definition at line 118 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ etaOfEECaloG4Hit

FloatVector EcalSimHitsValidProducer::etaOfEECaloG4Hit
private

Definition at line 111 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ etaOfESCaloG4Hit

FloatVector EcalSimHitsValidProducer::etaOfESCaloG4Hit
private

Definition at line 123 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ label

std::string EcalSimHitsValidProducer::label
private

Definition at line 131 of file EcalSimHitsValidProducer.h.

Referenced by EcalSimHitsValidProducer(), and produce().

◆ nCrystalInEB

int EcalSimHitsValidProducer::nCrystalInEB
private

Definition at line 90 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ nCrystalInEEzm

int EcalSimHitsValidProducer::nCrystalInEEzm
private

Definition at line 92 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ nCrystalInEEzp

int EcalSimHitsValidProducer::nCrystalInEEzp
private

Definition at line 91 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ nHitsIn1ES

int EcalSimHitsValidProducer::nHitsIn1ES
private

Definition at line 88 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ nHitsIn1ESzm

int EcalSimHitsValidProducer::nHitsIn1ESzm
private

Definition at line 95 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ nHitsIn1ESzp

int EcalSimHitsValidProducer::nHitsIn1ESzp
private

Definition at line 94 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ nHitsIn2ES

int EcalSimHitsValidProducer::nHitsIn2ES
private

Definition at line 89 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ nHitsIn2ESzm

int EcalSimHitsValidProducer::nHitsIn2ESzm
private

Definition at line 97 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ nHitsIn2ESzp

int EcalSimHitsValidProducer::nHitsIn2ESzp
private

Definition at line 96 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ nHitsInEB

int EcalSimHitsValidProducer::nHitsInEB
private

Definition at line 86 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ nHitsInEE

int EcalSimHitsValidProducer::nHitsInEE
private

Definition at line 85 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ nHitsInES

int EcalSimHitsValidProducer::nHitsInES
private

Definition at line 87 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ phiOfEBCaloG4Hit

FloatVector EcalSimHitsValidProducer::phiOfEBCaloG4Hit
private

Definition at line 117 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ phiOfEECaloG4Hit

FloatVector EcalSimHitsValidProducer::phiOfEECaloG4Hit
private

Definition at line 110 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ phiOfESCaloG4Hit

FloatVector EcalSimHitsValidProducer::phiOfESCaloG4Hit
private

Definition at line 122 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ theMomentum

math::XYZTLorentzVector EcalSimHitsValidProducer::theMomentum
private

Definition at line 127 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ thePID

int EcalSimHitsValidProducer::thePID
private

Definition at line 130 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ theVertex

math::XYZTLorentzVector EcalSimHitsValidProducer::theVertex
private

Definition at line 128 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ tOfEBCaloG4Hit

FloatVector EcalSimHitsValidProducer::tOfEBCaloG4Hit
private

Definition at line 119 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ tOfEECaloG4Hit

FloatVector EcalSimHitsValidProducer::tOfEECaloG4Hit
private

Definition at line 112 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ tOfESCaloG4Hit

FloatVector EcalSimHitsValidProducer::tOfESCaloG4Hit
private

Definition at line 124 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ totalEInEB

float EcalSimHitsValidProducer::totalEInEB
private

Definition at line 76 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ totalEInEE

float EcalSimHitsValidProducer::totalEInEE
private

Definition at line 75 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ totalEInEEzm

float EcalSimHitsValidProducer::totalEInEEzm
private

Definition at line 80 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ totalEInEEzp

float EcalSimHitsValidProducer::totalEInEEzp
private

Definition at line 79 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ totalEInES

float EcalSimHitsValidProducer::totalEInES
private

Definition at line 77 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ totalEInESzm

float EcalSimHitsValidProducer::totalEInESzm
private

Definition at line 82 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ totalEInESzp

float EcalSimHitsValidProducer::totalEInESzp
private

Definition at line 81 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ totalHits

int EcalSimHitsValidProducer::totalHits
private

Definition at line 84 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

◆ zOfES

FloatVector EcalSimHitsValidProducer::zOfES
private

Definition at line 109 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().