CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 &)
 
void produce (edm::Event &, const edm::EventSetup &)
 
virtual ~EcalSimHitsValidProducer ()
 
- Public Member Functions inherited from SimProducer
void registerProducts (edm::EDProducer &iProd)
 
 SimProducer ()
 
- Public Member Functions inherited from SimWatcher
 SimWatcher ()
 
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

 EcalSimHitsValidProducer (const EcalSimHitsValidProducer &)
 
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)
 
const EcalSimHitsValidProduceroperator= (const EcalSimHitsValidProducer &)
 
void update (const BeginOfEvent *)
 This routine will be called when the appropriate signal arrives. More...
 
void update (const G4Step *)
 This routine will be called when the appropriate signal arrives. More...
 
void update (const EndOfEvent *)
 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)
 

Detailed Description

Definition at line 21 of file EcalSimHitsValidProducer.h.

Member Typedef Documentation

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

Definition at line 26 of file EcalSimHitsValidProducer.h.

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

Definition at line 27 of file EcalSimHitsValidProducer.h.

Constructor & Destructor Documentation

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

Definition at line 20 of file EcalSimHitsValidProducer.cc.

References eBX0, eEX0, i, and label.

20  :
21  ee1(0.0),ee4(0.0),ee9(0.0),ee16(0.0),ee25(0.0),
22  eb1(0.0),eb4(0.0),eb9(0.0),eb16(0.0),eb25(0.0),
24  totalEInESzp(0.0),totalEInESzm(0.0),
28  thePID(0),
29  label(iPSet.getUntrackedParameter<std::string>("instanceLabel","EcalValidInfo") )
30 {
31  produces<PEcalValidInfo>(label);
32 
33  for ( int i = 0; i<26; i++ ) {
34  eBX0[i] = 0.0;
35  eEX0[i] = 0.0;
36  }
37 
38 }
T getUntrackedParameter(std::string const &, T const &) const
int i
Definition: DBlmapReader.cc:9
EcalSimHitsValidProducer::~EcalSimHitsValidProducer ( )
virtual

Definition at line 41 of file EcalSimHitsValidProducer.cc.

41  {
42 
43 }
EcalSimHitsValidProducer::EcalSimHitsValidProducer ( const EcalSimHitsValidProducer )
private

Member Function Documentation

float EcalSimHitsValidProducer::eCluster2x2 ( MapType themap)
private

Definition at line 512 of file EcalSimHitsValidProducer.cc.

Referenced by update().

512  {
513  float E22=0.;
514  float e012 = themap[0]+themap[1]+themap[2];
515  float e036 = themap[0]+themap[3]+themap[6];
516  float e678 = themap[6]+themap[7]+themap[8];
517  float e258 = themap[2]+themap[5]+themap[8];
518 
519  if ( (e012>e678 || e012==e678) && (e036>e258 || e036==e258))
520  return E22=themap[0]+themap[1]+themap[3]+themap[4];
521  else if ( (e012>e678 || e012==e678) && (e036<e258 || e036==e258) )
522  return E22=themap[1]+themap[2]+themap[4]+themap[5];
523  else if ( (e012<e678 || e012==e678) && (e036>e258 || e036==e258))
524  return E22=themap[3]+themap[4]+themap[6]+themap[7];
525  else if ( (e012<e678|| e012==e678) && (e036<e258|| e036==e258) )
526  return E22=themap[4]+themap[5]+themap[7]+themap[8];
527  else {
528  return E22;
529  }
530 }
float EcalSimHitsValidProducer::eCluster4x4 ( float  e33,
MapType themap 
)
private

Definition at line 532 of file EcalSimHitsValidProducer.cc.

Referenced by update().

532  {
533  float E44=0.;
534  float e0_4 = themap[0]+themap[1]+themap[2]+themap[3]+themap[4];
535  float e0_20 = themap[0]+themap[5]+themap[10]+themap[15]+themap[20];
536  float e4_24 = themap[4]+themap[9]+themap[14]+themap[19]+themap[24];
537  float e0_24 = themap[20]+themap[21]+themap[22]+themap[23]+themap[24];
538 
539  if ((e0_4>e0_24 || e0_4==e0_24) && (e0_20>e4_24|| e0_20==e4_24))
540  return E44=e33+themap[0]+themap[1]+themap[2]+themap[3]+themap[5]+themap[10]+themap[15];
541  else if ((e0_4>e0_24 || e0_4==e0_24) && (e0_20<e4_24 || e0_20==e4_24))
542  return E44=e33+themap[1]+themap[2]+themap[3]+themap[4]+themap[9]+themap[14]+themap[19];
543  else if ((e0_4<e0_24|| e0_4==e0_24) && (e0_20>e4_24 || e0_20==e4_24))
544  return E44=e33+themap[5]+themap[10]+themap[15]+themap[20]+themap[21]+themap[22]+themap[23];
545  else if ((e0_4<e0_24|| e0_4==e0_24) && (e0_20<e4_24 || e0_20==e4_24))
546  return E44=e33+themap[21]+themap[22]+themap[23]+themap[24]+themap[9]+themap[14]+themap[19];
547  else{
548  return E44;
549  }
550 }
float EcalSimHitsValidProducer::energyInEBMatrix ( int  nCellInX,
int  nCellInY,
int  centralX,
int  centralY,
int  centralZ,
MapType themap 
)
private

Definition at line 592 of file EcalSimHitsValidProducer.cc.

References abs, getHLTprescales::index, LogDebug, and DetId::rawId().

Referenced by update().

594  {
595 
596  int ncristals = 0;
597  float totalEnergy = 0.;
598 
599  int goBackInEta = nCellInEta/2;
600  int goBackInPhi = nCellInPhi/2;
601  int startEta = centralZ*centralEta-goBackInEta;
602  int startPhi = centralPhi-goBackInPhi;
603 
604  for (int ieta=startEta; ieta<startEta+nCellInEta; ieta++) {
605  for (int iphi=startPhi; iphi<startPhi+nCellInPhi; iphi++) {
606 
607  uint32_t index ;
608  if (abs(ieta) > 85 || abs(ieta)<1 ) { continue; }
609  if (iphi< 1) { index = EBDetId(ieta,iphi+360).rawId(); }
610  else if(iphi>360) { index = EBDetId(ieta,iphi-360).rawId(); }
611  else { index = EBDetId(ieta,iphi).rawId(); }
612 
613  totalEnergy += themap[index];
614  ncristals += 1;
615 
616  LogDebug("EcalSimHitsValidProducer")
617  << " EnergyInEBMatrix: ieta - iphi - E = " << ieta
618  << " " << iphi << " " << themap[index];
619 
620  }
621  }
622 
623  LogDebug("EcalSimHitsValidProducer")
624  << " EnergyInEBMatrix: energy in " << nCellInEta
625  << " cells in eta times " << nCellInPhi
626  << " cells in phi matrix = " << totalEnergy
627  << " for " << ncristals << " crystals";
628 
629  return totalEnergy;
630 
631 }
#define LogDebug(id)
#define abs(x)
Definition: mlp_lapack.h:159
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
float EcalSimHitsValidProducer::energyInEEMatrix ( int  nCellInX,
int  nCellInY,
int  centralX,
int  centralY,
int  centralZ,
MapType themap 
)
private

Definition at line 552 of file EcalSimHitsValidProducer.cc.

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

Referenced by update().

554  {
555 
556  int ncristals = 0;
557  float totalEnergy = 0.;
558 
559  int goBackInX = nCellInX/2;
560  int goBackInY = nCellInY/2;
561  int startX = centralX-goBackInX;
562  int startY = centralY-goBackInY;
563 
564  for (int ix=startX; ix<startX+nCellInX; ix++) {
565  for (int iy=startY; iy<startY+nCellInY; iy++) {
566 
567  uint32_t index ;
568  if (EEDetId::validDetId(ix, iy,centralZ)) {
569  index = EEDetId(ix,iy,centralZ).rawId();
570  } else { continue; }
571 
572  totalEnergy += themap[index];
573  ncristals += 1;
574 
575  LogDebug("EcalSimHitsValidProducer")
576  << " EnergyInEEMatrix: ix - iy - E = " << ix
577  << " " << iy << " " << themap[index] ;
578 
579  }
580  }
581 
582  LogDebug("EcalSimHitsValidProducer")
583  << " EnergyInEEMatrix: energy in " << nCellInX
584  << " cells in x times " << nCellInY
585  << " cells in y matrix = " << totalEnergy
586  << " for " << ncristals << " crystals";
587 
588  return totalEnergy;
589 
590 }
#define LogDebug(id)
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.cc:562
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
bool EcalSimHitsValidProducer::fillEBMatrix ( int  nCellInEta,
int  nCellInPhi,
int  CentralEta,
int  CentralPhi,
int  CentralZ,
MapType fillmap,
MapType themap 
)
private

Definition at line 481 of file EcalSimHitsValidProducer.cc.

References abs, getUnitWithMaxEnergy(), i, getHLTprescales::index, and DetId::rawId().

Referenced by update().

484 {
485  int goBackInEta = nCellInEta/2;
486  int goBackInPhi = nCellInPhi/2;
487 
488  int startEta = CentralZ*CentralEta - goBackInEta;
489  int startPhi = CentralPhi - goBackInPhi;
490 
491  int i = 0 ;
492  for ( int ieta = startEta; ieta < startEta+nCellInEta; ieta ++ ) {
493  for( int iphi = startPhi; iphi < startPhi + nCellInPhi; iphi++ ) {
494  uint32_t index;
495  if (abs(ieta) > 85 || abs(ieta)<1 ) { continue; }
496  if (iphi< 1) { index = EBDetId(ieta,iphi+360).rawId(); }
497  else if(iphi>360) { index = EBDetId(ieta,iphi-360).rawId(); }
498  else { index = EBDetId(ieta,iphi).rawId(); }
499  fillmap[i++] = themap[index];
500  }
501  }
502 
503  uint32_t ebcenterid = getUnitWithMaxEnergy(themap);
504 
505  if ( fillmap[i/2] == themap[ebcenterid] )
506  return true;
507  else
508  return false;
509 }
int i
Definition: DBlmapReader.cc:9
#define abs(x)
Definition: mlp_lapack.h:159
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
uint32_t getUnitWithMaxEnergy(MapType &themap)
bool EcalSimHitsValidProducer::fillEEMatrix ( int  nCellInEta,
int  nCellInPhi,
int  CentralEta,
int  CentralPhi,
int  CentralZ,
MapType fillmap,
MapType themap 
)
private

Definition at line 450 of file EcalSimHitsValidProducer.cc.

References getUnitWithMaxEnergy(), i, getHLTprescales::index, DetId::rawId(), and EEDetId::validDetId().

Referenced by update().

453 {
454  int goBackInEta = nCellInEta/2;
455  int goBackInPhi = nCellInPhi/2;
456 
457  int startEta = CentralEta - goBackInEta;
458  int startPhi = CentralPhi - goBackInPhi;
459 
460  int i = 0 ;
461  for ( int ieta = startEta; ieta < startEta+nCellInEta; ieta ++ ) {
462 
463  for( int iphi = startPhi; iphi < startPhi + nCellInPhi; iphi++ ) {
464  uint32_t index;
465 
466  if (EEDetId::validDetId(ieta, iphi,CentralZ)) {
467  index = EEDetId( ieta, iphi,CentralZ).rawId();
468  } else { continue; }
469 
470  fillmap[i++] = themap[index];
471  }
472  }
473  uint32_t centerid = getUnitWithMaxEnergy(themap);
474 
475  if ( fillmap[i/2] == themap[centerid] )
476  return true;
477  else
478  return false;
479 }
int i
Definition: DBlmapReader.cc:9
static bool validDetId(int crystal_ix, int crystal_iy, int iz)
Definition: EEDetId.cc:562
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
uint32_t getUnitWithMaxEnergy(MapType &themap)
void EcalSimHitsValidProducer::fillEventInfo ( PEcalValidInfo product)
private

Definition at line 54 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, 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().

55 {
56  if( ee1 != 0 ){
57  product.ee1 = ee1;
58  product.ee4 = ee4;
59  product.ee9 = ee9;
60  product.ee16 = ee16;
61  product.ee25 = ee25;
62  for ( int i = 0; i<26; i++ ) {
63  product.eEX0.push_back( eEX0[i]);
64  }
65  }
66 
67  if( eb1 != 0 ){
68  product.eb1 = eb1;
69  product.eb4 = eb4;
70  product.eb9 = eb9;
71  product.eb16 = eb16;
72  product.eb25 = eb25;
73  for ( int i = 0; i<26; i++ ) {
74  product.eBX0.push_back( eBX0[i]);
75  }
76  }
77 
78  product.totalEInEE = totalEInEE;
79  product.totalEInEB = totalEInEB;
80  product.totalEInES = totalEInES;
81 
82  product.totalEInEEzp = totalEInEEzp;
83  product.totalEInEEzm = totalEInEEzm;
84 
85  product.totalEInESzp = totalEInESzp;
86  product.totalEInESzm = totalEInESzm;
87 
88  product.totalHits = totalHits;
89  product.nHitsInEE = nHitsInEE;
90  product.nHitsInEB = nHitsInEB;
91  product.nHitsInES = nHitsInES;
92  product.nHitsIn1ES = nHitsIn1ES;
93  product.nHitsIn2ES = nHitsIn2ES;
94  product.nCrystalInEB = nCrystalInEB;
96  product.nCrystalInEEzm = nCrystalInEEzm;
97 
98  product.nHitsIn1ESzp = nHitsIn1ESzp;
99  product.nHitsIn1ESzm = nHitsIn1ESzm;
100  product.nHitsIn2ESzp = nHitsIn2ESzp;
101  product.nHitsIn2ESzm = nHitsIn2ESzm;
102 
103 
104  product.eOf1ES = eOf1ES;
105  product.eOf2ES = eOf2ES;
106  product.zOfES = zOfES;
107 
108  product.eOf1ESzp = eOf1ESzp;
109  product.eOf1ESzm = eOf1ESzm;
110  product.eOf2ESzp = eOf2ESzp;
111  product.eOf2ESzm = eOf2ESzm;
112 
113 
116  product.eOfEECaloG4Hit = eOfEECaloG4Hit;
119  product.tOfEECaloG4Hit = tOfEECaloG4Hit;
120 
123  product.eOfESCaloG4Hit = eOfESCaloG4Hit;
124  product.tOfESCaloG4Hit = tOfESCaloG4Hit;
125 
128  product.eOfEBCaloG4Hit = eOfEBCaloG4Hit;
129  product.tOfEBCaloG4Hit = tOfEBCaloG4Hit;
130 
131 
132  product.theMomentum = theMomentum;
133  product.theVertex = theVertex;
134  product.thePID = thePID;
135 }
FloatVector eOfEEMinusCaloG4Hit
FloatVector eOfESCaloG4Hit
int i
Definition: DBlmapReader.cc:9
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
uint32_t EcalSimHitsValidProducer::getUnitWithMaxEnergy ( MapType themap)
private

Definition at line 633 of file EcalSimHitsValidProducer.cc.

References LogDebug.

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

633  {
634 
635  uint32_t unitWithMaxEnergy = 0;
636  float maxEnergy = 0.;
637 
638  MapType::iterator iter;
639  for (iter = themap.begin(); iter != themap.end(); iter++) {
640 
641  if (maxEnergy < (*iter).second) {
642  maxEnergy = (*iter).second;
643  unitWithMaxEnergy = (*iter).first;
644  }
645  }
646 
647 
648  LogDebug("EcalSimHitsValidProducer")
649  << " Max energy of " << maxEnergy
650  << " MeV was found in Unit id 0x" << std::hex
651  << unitWithMaxEnergy << std::dec;
652 
653  return unitWithMaxEnergy;
654 }
#define LogDebug(id)
const EcalSimHitsValidProducer& EcalSimHitsValidProducer::operator= ( const EcalSimHitsValidProducer )
private
void EcalSimHitsValidProducer::produce ( edm::Event e,
const edm::EventSetup  
)
virtual

Implements SimProducer.

Definition at line 46 of file EcalSimHitsValidProducer.cc.

References fillEventInfo(), label, and edm::Event::put().

47 {
48  std::auto_ptr<PEcalValidInfo> product(new PEcalValidInfo );
49  fillEventInfo(*product);
50  e.put(product,label);
51 }
void fillEventInfo(PEcalValidInfo &)
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
Definition: Event.h:84
void EcalSimHitsValidProducer::update ( const BeginOfEvent )
privatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const BeginOfEvent * >.

Definition at line 138 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, 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 python.Vispa.Gui.VispaWidget.VispaWidget::autosize(), python.Vispa.Views.LineDecayView.LineDecayContainer::createObject(), python.Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), python.Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), python.Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), python.Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), python.Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), python.Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), python.Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), python.Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), python.Vispa.Gui.FindDialog.FindDialog::reset(), python.Vispa.Gui.PortConnection.PointToPointConnection::select(), python.Vispa.Gui.VispaWidget.VispaWidget::select(), python.Vispa.Views.LineDecayView.LineDecayContainer::select(), python.Vispa.Gui.VispaWidget.VispaWidget::setText(), python.Vispa.Gui.VispaWidget.VispaWidget::setTitle(), python.Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), python.Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and python.Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().

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

This routine will be called when the appropriate signal arrives.

Implements Observer< const G4Step * >.

Definition at line 422 of file EcalSimHitsValidProducer.cc.

References eBX0, eEX0, AlCaRecoCosmics_cfg::name, csvReporter::r, mathSSE::sqrt(), ExpressReco_HICollisions_FallBack::x, ExpressReco_HICollisions_FallBack::y, and z.

Referenced by python.Vispa.Gui.VispaWidget.VispaWidget::autosize(), python.Vispa.Views.LineDecayView.LineDecayContainer::createObject(), python.Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), python.Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), python.Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), python.Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), python.Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), python.Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), python.Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), python.Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), python.Vispa.Gui.FindDialog.FindDialog::reset(), python.Vispa.Gui.PortConnection.PointToPointConnection::select(), python.Vispa.Gui.VispaWidget.VispaWidget::select(), python.Vispa.Views.LineDecayView.LineDecayContainer::select(), python.Vispa.Gui.VispaWidget.VispaWidget::setText(), python.Vispa.Gui.VispaWidget.VispaWidget::setTitle(), python.Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), python.Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and python.Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().

422  {
423  G4StepPoint* preStepPoint = aStep->GetPreStepPoint();
424  G4ThreeVector hitPoint = preStepPoint->GetPosition();
425  G4VPhysicalVolume* currentPV = preStepPoint->GetPhysicalVolume();
426  G4String name = currentPV->GetName();
427  std::string crystal;
428  crystal.assign(name,0,4);
429 
430  float Edeposit = aStep->GetTotalEnergyDeposit();
431  if ( crystal == "EFRY"&& Edeposit > 0.0){
432  float z = hitPoint.z();
433  float detz = fabs(fabs(z)-3200);
434  int x0 = (int)floor( detz/8.9 );
435  if ( x0< 26){
436  eEX0[x0] += Edeposit;
437  }
438  }
439  if(crystal == "EBRY" && Edeposit > 0.0) {
440  float x = hitPoint.x();
441  float y = hitPoint.y();
442  float r = sqrt(x*x +y*y);
443  float detr = r -1290;
444  int x0 = (int)floor( detr/8.9);
445  eBX0[x0] += Edeposit;
446  }
447 
448 }
Definition: DDAxes.h:10
T sqrt(T t)
Definition: SSEVec.h:28
void EcalSimHitsValidProducer::update ( const EndOfEvent )
privatevirtual

This routine will be called when the appropriate signal arrives.

Implements Observer< const EndOfEvent * >.

Definition at line 209 of file EcalSimHitsValidProducer.cc.

References 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(), i, EBDetId::ietaAbs(), EBDetId::iphi(), EEDetId::ix(), EEDetId::iy(), j, funct::log(), max(), min, nCrystalInEB, nCrystalInEEzm, nCrystalInEEzp, nHitsIn1ESzm, nHitsIn1ESzp, nHitsIn2ESzm, nHitsIn2ESzp, nHitsInEB, nHitsInEE, nHitsInES, npart, phiOfEBCaloG4Hit, phiOfEECaloG4Hit, ESDetId::plane(), funct::pow(), mathSSE::sqrt(), funct::tan(), theMomentum, thePID, theta(), theVertex, tOfEBCaloG4Hit, tOfEECaloG4Hit, totalEInEB, totalEInEE, totalEInEEzm, totalEInEEzp, totalEInES, totalEInESzm, totalEInESzp, totalHits, ESDetId::zside(), EBDetId::zside(), and EEDetId::zside().

Referenced by python.Vispa.Gui.VispaWidget.VispaWidget::autosize(), python.Vispa.Views.LineDecayView.LineDecayContainer::createObject(), python.Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), python.Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), python.Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), python.Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), python.Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), python.Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), python.Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), python.Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), python.Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), python.Vispa.Gui.FindDialog.FindDialog::reset(), python.Vispa.Gui.PortConnection.PointToPointConnection::select(), python.Vispa.Gui.VispaWidget.VispaWidget::select(), python.Vispa.Views.LineDecayView.LineDecayContainer::select(), python.Vispa.Gui.VispaWidget.VispaWidget::setText(), python.Vispa.Gui.VispaWidget.VispaWidget::setTitle(), python.Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), python.Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and python.Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().

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

Member Data Documentation

float EcalSimHitsValidProducer::eb1
private

Definition at line 75 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

float EcalSimHitsValidProducer::eb16
private

Definition at line 78 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

float EcalSimHitsValidProducer::eb25
private

Definition at line 79 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

float EcalSimHitsValidProducer::eb4
private

Definition at line 76 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

float EcalSimHitsValidProducer::eb9
private

Definition at line 77 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

float EcalSimHitsValidProducer::eBX0[26]
private

Definition at line 105 of file EcalSimHitsValidProducer.h.

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

float EcalSimHitsValidProducer::ee1
private

Definition at line 69 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

float EcalSimHitsValidProducer::ee16
private

Definition at line 72 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

float EcalSimHitsValidProducer::ee25
private

Definition at line 73 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

float EcalSimHitsValidProducer::ee4
private

Definition at line 70 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

float EcalSimHitsValidProducer::ee9
private

Definition at line 71 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

float EcalSimHitsValidProducer::eEX0[26]
private

Definition at line 106 of file EcalSimHitsValidProducer.h.

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

FloatVector EcalSimHitsValidProducer::eOf1ES
private

Definition at line 109 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

FloatVector EcalSimHitsValidProducer::eOf1ESzm
private

Definition at line 112 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

FloatVector EcalSimHitsValidProducer::eOf1ESzp
private

Definition at line 111 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

FloatVector EcalSimHitsValidProducer::eOf2ES
private

Definition at line 110 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

FloatVector EcalSimHitsValidProducer::eOf2ESzm
private

Definition at line 114 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

FloatVector EcalSimHitsValidProducer::eOf2ESzp
private

Definition at line 113 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

FloatVector EcalSimHitsValidProducer::eOfEBCaloG4Hit
private

Definition at line 128 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

FloatVector EcalSimHitsValidProducer::eOfEECaloG4Hit
private

Definition at line 121 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

FloatVector EcalSimHitsValidProducer::eOfEEMinusCaloG4Hit
private

Definition at line 123 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

FloatVector EcalSimHitsValidProducer::eOfEEPlusCaloG4Hit
private

Definition at line 122 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

FloatVector EcalSimHitsValidProducer::eOfESCaloG4Hit
private

Definition at line 133 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

FloatVector EcalSimHitsValidProducer::etaOfEBCaloG4Hit
private

Definition at line 126 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

FloatVector EcalSimHitsValidProducer::etaOfEECaloG4Hit
private

Definition at line 119 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

FloatVector EcalSimHitsValidProducer::etaOfESCaloG4Hit
private

Definition at line 131 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

std::string EcalSimHitsValidProducer::label
private
int EcalSimHitsValidProducer::nCrystalInEB
private

Definition at line 96 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

int EcalSimHitsValidProducer::nCrystalInEEzm
private

Definition at line 98 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

int EcalSimHitsValidProducer::nCrystalInEEzp
private

Definition at line 97 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

int EcalSimHitsValidProducer::nHitsIn1ES
private

Definition at line 94 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

int EcalSimHitsValidProducer::nHitsIn1ESzm
private

Definition at line 101 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

int EcalSimHitsValidProducer::nHitsIn1ESzp
private

Definition at line 100 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

int EcalSimHitsValidProducer::nHitsIn2ES
private

Definition at line 95 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

int EcalSimHitsValidProducer::nHitsIn2ESzm
private

Definition at line 103 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

int EcalSimHitsValidProducer::nHitsIn2ESzp
private

Definition at line 102 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

int EcalSimHitsValidProducer::nHitsInEB
private

Definition at line 92 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

int EcalSimHitsValidProducer::nHitsInEE
private

Definition at line 91 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

int EcalSimHitsValidProducer::nHitsInES
private

Definition at line 93 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

FloatVector EcalSimHitsValidProducer::phiOfEBCaloG4Hit
private

Definition at line 125 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

FloatVector EcalSimHitsValidProducer::phiOfEECaloG4Hit
private

Definition at line 118 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

FloatVector EcalSimHitsValidProducer::phiOfESCaloG4Hit
private

Definition at line 130 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

math::XYZTLorentzVector EcalSimHitsValidProducer::theMomentum
private

Definition at line 135 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

int EcalSimHitsValidProducer::thePID
private

Definition at line 138 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

math::XYZTLorentzVector EcalSimHitsValidProducer::theVertex
private

Definition at line 136 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

FloatVector EcalSimHitsValidProducer::tOfEBCaloG4Hit
private

Definition at line 127 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

FloatVector EcalSimHitsValidProducer::tOfEECaloG4Hit
private

Definition at line 120 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

FloatVector EcalSimHitsValidProducer::tOfESCaloG4Hit
private

Definition at line 132 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

float EcalSimHitsValidProducer::totalEInEB
private

Definition at line 82 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

float EcalSimHitsValidProducer::totalEInEE
private

Definition at line 81 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

float EcalSimHitsValidProducer::totalEInEEzm
private

Definition at line 86 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

float EcalSimHitsValidProducer::totalEInEEzp
private

Definition at line 85 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

float EcalSimHitsValidProducer::totalEInES
private

Definition at line 83 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

float EcalSimHitsValidProducer::totalEInESzm
private

Definition at line 88 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

float EcalSimHitsValidProducer::totalEInESzp
private

Definition at line 87 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

int EcalSimHitsValidProducer::totalHits
private

Definition at line 90 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().

FloatVector EcalSimHitsValidProducer::zOfES
private

Definition at line 117 of file EcalSimHitsValidProducer.h.

Referenced by fillEventInfo(), and update().