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 Member Functions | Private Attributes
HSCPValidator Class Reference

#include <HSCPValidation/HSCPValidator/src/HSCPValidator.cc>

Inheritance diagram for HSCPValidator:
edm::EDAnalyzer

Public Member Functions

 HSCPValidator (const edm::ParameterSet &)
 
 ~HSCPValidator ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Private Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginJob ()
 
virtual void endJob ()
 
bool IncreasedTreshold (const trigger::TriggerEvent &trEv, const edm::InputTag &InputPath, double NewThreshold, int NObjectAboveThreshold, bool averageThreshold)
 
std::string intToString (int num)
 
void makeGenPlots (const edm::Event &iEvent)
 
void makeHLTPlots (const edm::Event &iEvent)
 
void makeSimDigiPlotsECAL (const edm::Event &iEvent)
 
void makeSimDigiPlotsRPC (const edm::Event &iEvent)
 
void makeSimTrackPlots (const edm::Event &iEvent)
 

Private Attributes

TH1F * cluSizeDistribution_
 
TH2F * digiOccupancyMapEB_
 
TH2F * digiOccupancyMapEEM_
 
TH2F * digiOccupancyMapEEP_
 
TH1F * digisEcalNumHistEB_
 
TH1F * digisEcalNumHistEE_
 
bool doGenPlots_
 
bool doHLTPlots_
 
bool doRecoPlots_
 
bool doSimDigiPlots_
 
bool doSimTrackPlots_
 
edm::InputTag EBDigiCollection_
 
edm::InputTag ebSimHitTag_
 
edm::InputTag EEDigiCollection_
 
edm::InputTag eeSimHitTag_
 
TH1F * efficiencyRPCRecHitSimDigis_
 
TH1F * h_genhscp_met
 
TH1F * h_genhscp_met_nohscp
 
TH1F * h_genhscp_scaloret
 
TH1F * h_genhscp_scaloret_nohscp
 
TH1F * hltjet140_
 
TH1F * hltmet100_
 
TH1F * hltmu15_
 
edm::InputTag label_
 
TH1F * particleBetaHist_
 
TH1F * particleBetaInverseHist_
 
TH1F * particleEtaHist_
 
std::vector< int > particleIds_
 
std::map< int, int > particleIdsFoundMap_
 
TH1F * particleMassHist_
 
TH1F * particlePhiHist_
 
TH1F * particlePHist_
 
TH1F * particlePtHist_
 
int particleStatus_
 
TH1F * particleStatusHist_
 
TH1F * residualsRPCRecHitSimDigis_
 
TH1F * rpcBXBarrel_ [6]
 
TH1F * rpcBXEndCap_ [3]
 
edm::ESHandle< RPCGeometryrpcGeo
 
edm::InputTag RPCRecHitTag_
 
TH1F * rpcTimeOfFlightBarrel_ [6]
 
TH1F * rpcTimeOfFlightEndCap_ [3]
 
TH1F * simHitsEcalDigiMatchEnergyHistEB_
 
TH1F * simHitsEcalDigiMatchEnergyHistEE_
 
TH2F * simHitsEcalDigiMatchEnergyVsTimeHistEB_
 
TH2F * simHitsEcalDigiMatchEnergyVsTimeHistEE_
 
TH1F * simHitsEcalDigiMatchIEtaHist_
 
TH1F * simHitsEcalDigiMatchIPhiHist_
 
TH1F * simHitsEcalDigiMatchTimeHistEB_
 
TH1F * simHitsEcalDigiMatchTimeHistEE_
 
TH1F * simHitsEcalEnergyHistEB_
 
TH1F * simHitsEcalEnergyHistEE_
 
TH2F * simHitsEcalEnergyVsTimeHistEB_
 
TH2F * simHitsEcalEnergyVsTimeHistEE_
 
TH1F * simHitsEcalNumHistEB_
 
TH1F * simHitsEcalNumHistEE_
 
TH1F * simHitsEcalTimeHistEB_
 
TH1F * simHitsEcalTimeHistEE_
 
TH1F * simTrackParticleBetaHist_
 
TH1F * simTrackParticleEtaHist_
 
TH1F * simTrackParticlePhiHist_
 
TH1F * simTrackParticlePHist_
 
TH1F * simTrackParticlePtHist_
 
edm::InputTag simTrackTag_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Detailed Description

Description: [one line class summary]

Implementation: [Notes on implementation]

Definition at line 41 of file HSCPValidator.h.

Constructor & Destructor Documentation

HSCPValidator::HSCPValidator ( const edm::ParameterSet iConfig)
explicit

Definition at line 97 of file HSCPValidator.cc.

References cluSizeDistribution_, digiOccupancyMapEB_, digiOccupancyMapEEM_, digiOccupancyMapEEP_, digisEcalNumHistEB_, digisEcalNumHistEE_, efficiencyRPCRecHitSimDigis_, h_genhscp_met, h_genhscp_met_nohscp, h_genhscp_scaloret, h_genhscp_scaloret_nohscp, hltjet140_, hltmet100_, hltmu15_, TFileDirectory::make(), particleBetaHist_, particleBetaInverseHist_, particleEtaHist_, particleMassHist_, particlePhiHist_, particlePHist_, particlePtHist_, particleStatusHist_, residualsRPCRecHitSimDigis_, rpcBXBarrel_, rpcBXEndCap_, rpcTimeOfFlightBarrel_, rpcTimeOfFlightEndCap_, simHitsEcalDigiMatchEnergyHistEB_, simHitsEcalDigiMatchEnergyHistEE_, simHitsEcalDigiMatchEnergyVsTimeHistEB_, simHitsEcalDigiMatchEnergyVsTimeHistEE_, simHitsEcalDigiMatchIEtaHist_, simHitsEcalDigiMatchIPhiHist_, simHitsEcalDigiMatchTimeHistEB_, simHitsEcalDigiMatchTimeHistEE_, simHitsEcalEnergyHistEB_, simHitsEcalEnergyHistEE_, simHitsEcalEnergyVsTimeHistEB_, simHitsEcalEnergyVsTimeHistEE_, simHitsEcalNumHistEB_, simHitsEcalNumHistEE_, simHitsEcalTimeHistEB_, simHitsEcalTimeHistEE_, simTrackParticleBetaHist_, simTrackParticleEtaHist_, simTrackParticlePhiHist_, simTrackParticlePHist_, and simTrackParticlePtHist_.

97  :
98  doGenPlots_ (iConfig.getParameter<bool>("MakeGenPlots")),
99  doHLTPlots_ (iConfig.getParameter<bool>("MakeHLTPlots")),
100  doSimTrackPlots_ (iConfig.getParameter<bool>("MakeSimTrackPlots")),
101  doSimDigiPlots_ (iConfig.getParameter<bool>("MakeSimDigiPlots")),
102  doRecoPlots_ (iConfig.getParameter<bool>("MakeRecoPlots")),
103  label_ (iConfig.getParameter<edm::InputTag>("generatorLabel")),
104  particleIds_ (iConfig.getParameter< std::vector<int> >("particleIds")),
105  particleStatus_ (iConfig.getUntrackedParameter<int>("particleStatus",1)),
106  ebSimHitTag_ (iConfig.getParameter<edm::InputTag>("EBSimHitCollection")),
107  eeSimHitTag_ (iConfig.getParameter<edm::InputTag>("EESimHitCollection")),
108  simTrackTag_ (iConfig.getParameter<edm::InputTag>("SimTrackCollection")),
109  EBDigiCollection_ (iConfig.getParameter<edm::InputTag>("EBDigiCollection")),
110  EEDigiCollection_ (iConfig.getParameter<edm::InputTag>("EEDigiCollection")),
111  RPCRecHitTag_ (iConfig.getParameter<edm::InputTag>("RPCRecHitTag"))
112 {
113  //now do what ever initialization is needed
114  // GEN
115  particleEtaHist_ = fileService->make<TH1F>("particleEta","Eta of gen particle",100,-5,5);
116  particlePhiHist_ = fileService->make<TH1F>("particlePhi","Phi of gen particle",180,-3.15,3.15);
117  particlePHist_ = fileService->make<TH1F>("particleP","Momentum of gen particle",500,0,2000);
118  particlePtHist_ = fileService->make<TH1F>("particlePt","P_{T} of gen particle",500,0,2000);
119  particleMassHist_ = fileService->make<TH1F>("particleMass","Mass of gen particle",1000,0,2000);
120  particleStatusHist_ = fileService->make<TH1F>("particleStatus","Status of gen particle",10,0,10);
121  particleBetaHist_ = fileService->make<TH1F>("particleBeta","Beta of gen particle",100,0,1);
122  particleBetaInverseHist_ = fileService->make<TH1F>("particleBetaInverse","1/#beta of gen particle",100,0,5);
123 
124  h_genhscp_met = fileService->make<TH1F>( "hscp_met" , "missing E_{T} hscp" , 100, 0., 1500. );
125  h_genhscp_met_nohscp = fileService->make<TH1F>( "hscp_met_nohscp" , "missing E_{T} w/o hscp" , 100, 0., 1500. );
126  h_genhscp_scaloret = fileService->make<TH1F>( "hscp_scaloret" , "scalor E_{T} sum" , 100, 0., 1500. );
127  h_genhscp_scaloret_nohscp = fileService->make<TH1F>( "hscp_scaloret_nohscp" , "scalor E_{T} sum w/o hscp" , 100, 0., 1500. );
128 
129 
130 
131 
132  //SIM track Info
133  simTrackParticleEtaHist_ = fileService->make<TH1F>("simTrackParticleEta","Eta of simTrackParticle",100,-5,5);
134  simTrackParticlePhiHist_ = fileService->make<TH1F>("simTrackParticlePhi","Phi of simTrackParticle",180,-3.15,3.15);
135  simTrackParticlePHist_ = fileService->make<TH1F>("simTrackParticleP","Momentum of simTrackParticle",500,0,2000);
136  simTrackParticlePtHist_ = fileService->make<TH1F>("simTrackParticlePt","P_{T} of simTrackParticle",500,0,2000);
137  simTrackParticleBetaHist_ = fileService->make<TH1F>("simTrackParticleBeta","Beta of simTrackParticle",100,0,1);
138 
139 //HLT Info
140  hltmet100_ = fileService->make<TH1F>("HLT_MET100","MET100",3,-1,2);
141  hltjet140_ = fileService->make<TH1F>("HLT_JET140","JET140",3,-1,2);
142  hltmu15_ = fileService->make<TH1F>("HLT_Mu15","Mu15",3,-1,2);
143 
144 
145  // SIM-DIGI: ECAL
146  simHitsEcalEnergyHistEB_ = fileService->make<TH1F>("ecalEnergyOfSimHitsEB","HSCP SimTrack-matching SimHit energy EB [GeV]",125,-1,4);
147  simHitsEcalEnergyHistEE_ = fileService->make<TH1F>("ecalEnergyOfSimHitsEE","HSCP SimTrack-matching SimHit energy EE [GeV]",125,-1,4);
148  simHitsEcalTimeHistEB_ = fileService->make<TH1F>("ecalTimingOfSimHitsEB","HSCP SimTrack-matching SimHit time EB [ns]",115,-15,100);
149  simHitsEcalTimeHistEE_ = fileService->make<TH1F>("ecalTimingOfSimHitsEE","HSCP SimTrack-matching SimHit time EE [ns]",115,-15,100);
150  simHitsEcalNumHistEB_ = fileService->make<TH1F>("ecalNumberOfSimHitsEB","Number of HSCP SimTrack-matching EB sim hits in event",100,0,200);
151  simHitsEcalNumHistEE_ = fileService->make<TH1F>("ecalNumberOfSimHitsEE","Number of HSCP SimTrack-matching EE sim hits in event",100,0,200);
152  simHitsEcalEnergyVsTimeHistEB_ = fileService->make<TH2F>("ecalEnergyVsTimeOfSimHitsEB","Energy vs. time of HSCP SimTrack-matching EB sim hits in event",115,-15,100,125,-1,4);
153  simHitsEcalEnergyVsTimeHistEE_ = fileService->make<TH2F>("ecalEnergyVsTimeOfSimHitsEE","Energy vs. time of HSCP SimTrack-matching EE sim hits in event",115,-15,100,125,-1,4);
154  simHitsEcalDigiMatchEnergyHistEB_ = fileService->make<TH1F>("ecalEnergyOfDigiMatSimHitsEB","HSCP digi-matching SimHit energy EB [GeV]",125,-1,4);
155  simHitsEcalDigiMatchEnergyHistEE_ = fileService->make<TH1F>("ecalEnergyOfDigiMatSimHitsEE","HSCP digi-matching SimHit energy EE [GeV]",125,-1,4);
156  simHitsEcalDigiMatchTimeHistEB_ = fileService->make<TH1F>("ecalTimingOfDigiMatSimHitsEB","HSCP digi-matching SimHit time EB [ns]",115,-15,100);
157  simHitsEcalDigiMatchTimeHistEE_ = fileService->make<TH1F>("ecalTimingOfDigiMatSimHitsEE","HSCP digi-matching SimHit time EE [ns]",115,-15,100);
158  simHitsEcalDigiMatchEnergyVsTimeHistEB_ = fileService->make<TH2F>("ecalEnergyVsTimeOfDigiMatSimHitsEB","HSCP digi-matching EB SimHit energy vs. time",115,-15,100,125,-1,4);
159  simHitsEcalDigiMatchEnergyVsTimeHistEE_ = fileService->make<TH2F>("ecalEnergyVsTimeOfDigiMatSimHitsEE","HSCP digi-matching EE SimHit energy vs. time",115,-15,100,125,-1,4);
160  simHitsEcalDigiMatchIEtaHist_ = fileService->make<TH1F>("ecalIEtaOfDigiMatchSimHits","iEta of digi-matching Ecal simHits (EB)",171,-85,86);
161  simHitsEcalDigiMatchIPhiHist_ = fileService->make<TH1F>("ecalIPhiOfDigiMatchSimHits","iPhi of digi-matching Ecal simHits (EB)",360,1,361);
162  digisEcalNumHistEB_ = fileService->make<TH1F>("ecalDigisNumberEB","Number of EB digis matching simhits in event",200,0,1000);
163  digisEcalNumHistEE_ = fileService->make<TH1F>("ecalDigisNumberEE","Number of EE digis matching simhits in event",200,0,1000);
164  digiOccupancyMapEB_ = fileService->make<TH2F>("ecalDigiOccupancyMapEB","Occupancy of simhit-matching digis EB;i#phi;i#eta",360,1,361,171,-85,86);
165  digiOccupancyMapEEP_ = fileService->make<TH2F>("ecalDigiOccupancyMapEEM","Occupancy of simhit-matching digis EEM;ix;iy",100,1,100,100,1,100);
166  digiOccupancyMapEEM_ = fileService->make<TH2F>("ecalDigiOccupancyMapEEP","Occupancy of simhit-matching digis EEP;ix;iy",100,1,100,100,1,100);
167 
168  // SIM-DIGI: RPC
169  residualsRPCRecHitSimDigis_ = fileService->make<TH1F>("residualsRPCRecHitSimDigis","HSCP SimHit - Clossest RPC RecHit",100,-5,5);
170  efficiencyRPCRecHitSimDigis_ = fileService->make<TH1F>("efficiencyRPCRecHitSimDigis","HSCP SimHits RecHits Efficiency",2,-0.5,1.5);
171  cluSizeDistribution_ = fileService->make<TH1F>("RPCCluSizeDistro","RPC HSCP CluSize Distribution",11,-0.5,10.5);
172  rpcTimeOfFlightBarrel_[0] = fileService->make<TH1F>("RPCToFLayer1","RPC HSCP Time Of Flight Layer 1",50,5,100);
173  rpcTimeOfFlightBarrel_[1] = fileService->make<TH1F>("RPCToFLayer2","RPC HSCP Time Of Flight Layer 2",50,5,100);
174  rpcTimeOfFlightBarrel_[2] = fileService->make<TH1F>("RPCToFLayer3","RPC HSCP Time Of Flight Layer 3",50,5,100);
175  rpcTimeOfFlightBarrel_[3] = fileService->make<TH1F>("RPCToFLayer4","RPC HSCP Time Of Flight Layer 4",50,5,100);
176  rpcTimeOfFlightBarrel_[4] = fileService->make<TH1F>("RPCToFLayer5","RPC HSCP Time Of Flight Layer 5",50,5,100);
177  rpcTimeOfFlightBarrel_[5] = fileService->make<TH1F>("RPCToFLayer6","RPC HSCP Time Of Flight Layer 6",50,5,100);
178  rpcBXBarrel_[0] = fileService->make<TH1F>("RPCBXLayer1","RPC HSCP BX Layer 1",5,-0.5,4.5);
179  rpcBXBarrel_[1] = fileService->make<TH1F>("RPCBXLayer2","RPC HSCP BX Layer 2",5,-0.5,4.5);
180  rpcBXBarrel_[2] = fileService->make<TH1F>("RPCBXLayer3","RPC HSCP BX Layer 3",5,-0.5,4.5);
181  rpcBXBarrel_[3] = fileService->make<TH1F>("RPCBXLayer4","RPC HSCP BX Layer 4",5,-0.5,4.5);
182  rpcBXBarrel_[4] = fileService->make<TH1F>("RPCBXLayer5","RPC HSCP BX Layer 5",5,-0.5,4.5);
183  rpcBXBarrel_[5] = fileService->make<TH1F>("RPCBXLayer6","RPC HSCP BX Layer 6",5,-0.5,4.5);
184  rpcTimeOfFlightEndCap_[0]= fileService->make<TH1F>("RPCToFDisk1","RPC HSCP Time Of Flight Disk 1",50,5,100);
185  rpcTimeOfFlightEndCap_[1]= fileService->make<TH1F>("RPCToFDisk2","RPC HSCP Time Of Flight Disk 2",50,5,100);
186  rpcTimeOfFlightEndCap_[2]= fileService->make<TH1F>("RPCToFDisk3","RPC HSCP Time Of Flight Disk 3",50,5,100);
187  rpcBXEndCap_[0] = fileService->make<TH1F>("RPCBXDisk1","RPC HSCP BX Disk 1",5,-0.5,4.5);
188  rpcBXEndCap_[1] = fileService->make<TH1F>("RPCBXDisk2","RPC HSCP BX Disk 2",5,-0.5,4.5);
189  rpcBXEndCap_[2] = fileService->make<TH1F>("RPCBXDisk3","RPC HSCP BX Disk 3",5,-0.5,4.5);
190 }
bool doSimDigiPlots_
Definition: HSCPValidator.h:62
T getParameter(std::string const &) const
TH1F * particleMassHist_
Definition: HSCPValidator.h:74
TH2F * simHitsEcalDigiMatchEnergyVsTimeHistEE_
T getUntrackedParameter(std::string const &, T const &) const
TH1F * rpcTimeOfFlightBarrel_[6]
TH1F * rpcTimeOfFlightEndCap_[3]
TH1F * simHitsEcalTimeHistEE_
TH1F * particlePhiHist_
Definition: HSCPValidator.h:71
TH2F * simHitsEcalEnergyVsTimeHistEB_
TH1F * simHitsEcalEnergyHistEE_
TH1F * h_genhscp_met_nohscp
Definition: HSCPValidator.h:79
TH1F * digisEcalNumHistEE_
edm::InputTag label_
Definition: HSCPValidator.h:66
TH1F * particleBetaHist_
Definition: HSCPValidator.h:76
TH2F * digiOccupancyMapEEM_
TH1F * cluSizeDistribution_
TH1F * simHitsEcalDigiMatchTimeHistEB_
std::vector< int > particleIds_
Definition: HSCPValidator.h:67
TH1F * simTrackParticlePtHist_
Definition: HSCPValidator.h:88
TH1F * particleEtaHist_
Definition: HSCPValidator.h:70
TH1F * simHitsEcalNumHistEE_
TH2F * digiOccupancyMapEEP_
TH1F * particlePtHist_
Definition: HSCPValidator.h:73
TH1F * h_genhscp_scaloret
Definition: HSCPValidator.h:80
TH2F * digiOccupancyMapEB_
TH1F * efficiencyRPCRecHitSimDigis_
TH2F * simHitsEcalDigiMatchEnergyVsTimeHistEB_
TH1F * simHitsEcalDigiMatchEnergyHistEE_
TH1F * h_genhscp_scaloret_nohscp
Definition: HSCPValidator.h:81
edm::InputTag ebSimHitTag_
Definition: HSCPValidator.h:92
TH1F * simHitsEcalDigiMatchTimeHistEE_
TH2F * simHitsEcalEnergyVsTimeHistEE_
TH1F * rpcBXBarrel_[6]
edm::InputTag eeSimHitTag_
Definition: HSCPValidator.h:93
edm::InputTag RPCRecHitTag_
Definition: HSCPValidator.h:97
TH1F * residualsRPCRecHitSimDigis_
TH1F * simHitsEcalDigiMatchIEtaHist_
TH1F * rpcBXEndCap_[3]
TH1F * simHitsEcalNumHistEB_
edm::Service< TFileService > fileService
TH1F * digisEcalNumHistEB_
TH1F * simTrackParticleEtaHist_
Definition: HSCPValidator.h:85
bool doSimTrackPlots_
Definition: HSCPValidator.h:61
TH1F * simHitsEcalDigiMatchIPhiHist_
TH1F * simHitsEcalDigiMatchEnergyHistEB_
TH1F * particleStatusHist_
Definition: HSCPValidator.h:75
edm::InputTag EBDigiCollection_
Definition: HSCPValidator.h:95
TH1F * particlePHist_
Definition: HSCPValidator.h:72
TH1F * h_genhscp_met
Definition: HSCPValidator.h:78
edm::InputTag EEDigiCollection_
Definition: HSCPValidator.h:96
TH1F * simTrackParticlePhiHist_
Definition: HSCPValidator.h:86
T * make() const
make new ROOT object
TH1F * simTrackParticleBetaHist_
Definition: HSCPValidator.h:89
edm::InputTag simTrackTag_
Definition: HSCPValidator.h:94
TH1F * simHitsEcalEnergyHistEB_
TH1F * simTrackParticlePHist_
Definition: HSCPValidator.h:87
TH1F * particleBetaInverseHist_
Definition: HSCPValidator.h:77
TH1F * simHitsEcalTimeHistEB_
HSCPValidator::~HSCPValidator ( )

Definition at line 193 of file HSCPValidator.cc.

194 {
195 
196  // do anything here that needs to be done at desctruction time
197  // (e.g. close files, deallocate resources etc.)
198 // particleEtaHist_ = fileService->make<TH1F>("particleEta","Eta of gen particle",100,-5,5);
199 // particlePhiHist_ = fileService->make<TH1F>("particlePhi","Phi of gen particle",180,-3.15,3.15);
200 // particlePHist_ = fileService->make<TH1F>("particleP","Momentum of gen particle",500,0,2000);
201 // particlePtHist_ = fileService->make<TH1F>("particlePt","P_{T} of gen particle",500,0,2000);
202 // particleMassHist_ = fileService->make<TH1F>("particleMass","Mass of gen particle",1000,0,2000);
203 // particleStatusHist_ = fileService->make<TH1F>("particleStatus","Status of gen particle",10,0,10);
204 // particleBetaHist_ = fileService->make<TH1F>("particleBeta","Beta of gen particle",100,0,1);
205 // particleBetaInverseHist_ = fileService->make<TH1F>("particleBetaInverse","1/#beta of gen particle",100,0,5);
206 
207 }

Member Function Documentation

void HSCPValidator::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
privatevirtual

Implements edm::EDAnalyzer.

Definition at line 216 of file HSCPValidator.cc.

References doGenPlots_, doHLTPlots_, doSimDigiPlots_, doSimTrackPlots_, edm::EventSetup::get(), makeGenPlots(), makeHLTPlots(), makeSimDigiPlotsECAL(), makeSimDigiPlotsRPC(), makeSimTrackPlots(), and rpcGeo.

217 {
218  using namespace edm;
219  iSetup.get<MuonGeometryRecord>().get(rpcGeo);
220 
221 
222  if(doGenPlots_)
223  makeGenPlots(iEvent);
224  if(doSimTrackPlots_)
225  makeSimTrackPlots(iEvent);
226  if(doSimDigiPlots_){
227  makeSimDigiPlotsECAL(iEvent);
228  makeSimDigiPlotsRPC(iEvent);
229  }
230  if(doHLTPlots_){
231  makeHLTPlots(iEvent);
232  }
233 }
bool doSimDigiPlots_
Definition: HSCPValidator.h:62
void makeSimTrackPlots(const edm::Event &iEvent)
void makeSimDigiPlotsECAL(const edm::Event &iEvent)
void makeGenPlots(const edm::Event &iEvent)
bool doSimTrackPlots_
Definition: HSCPValidator.h:61
const T & get() const
Definition: EventSetup.h:55
edm::ESHandle< RPCGeometry > rpcGeo
Definition: HSCPValidator.h:98
void makeSimDigiPlotsRPC(const edm::Event &iEvent)
void makeHLTPlots(const edm::Event &iEvent)
void HSCPValidator::beginJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 238 of file HSCPValidator.cc.

239 {
240 }
void HSCPValidator::endJob ( void  )
privatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 244 of file HSCPValidator.cc.

References gather_cfg::cout, intToString(), and particleIdsFoundMap_.

245 {
246  std::string frequencies = "";
247  for(std::map<int,int>::const_iterator itr = particleIdsFoundMap_.begin();
248  itr != particleIdsFoundMap_.end(); ++itr)
249  {
250  frequencies+="PDG ID: ";
251  frequencies+=intToString(itr->first);
252  frequencies+=" Frequency: ";
253  frequencies+=intToString(itr->second);
254  frequencies+="\n";
255  }
256  std::cout << "Found PDGIds: " << "\n\n" << frequencies << std::endl;
257 
258 }
std::map< int, int > particleIdsFoundMap_
Definition: HSCPValidator.h:69
std::string intToString(int num)
tuple cout
Definition: gather_cfg.py:41
bool HSCPValidator::IncreasedTreshold ( const trigger::TriggerEvent trEv,
const edm::InputTag InputPath,
double  NewThreshold,
int  NObjectAboveThreshold,
bool  averageThreshold 
)
private

Definition at line 783 of file HSCPValidator.cc.

References trigger::TriggerEvent::filterIds(), trigger::TriggerEvent::filterIndex(), trigger::TriggerEvent::filterKeys(), trigger::TriggerEvent::getObjects(), i, max(), n, trigger::TriggerEvent::sizeFilters(), and python.multivaluedict::sort().

Referenced by makeHLTPlots().

784 {
785  unsigned int filterIndex = trEv.filterIndex(InputPath);
786  //if(filterIndex<trEv.sizeFilters())printf("SELECTED INDEX =%i --> %s XXX %s\n",filterIndex,trEv.filterTag(filterIndex).label().c_str(), trEv.filterTag(filterIndex).process().c_str());
787 
788  if (filterIndex<trEv.sizeFilters()){
789  const trigger::Vids& VIDS(trEv.filterIds(filterIndex));
790  const trigger::Keys& KEYS(trEv.filterKeys(filterIndex));
791  const int nI(VIDS.size());
792  const int nK(KEYS.size());
793  assert(nI==nK);
794  const int n(std::max(nI,nK));
795  const trigger::TriggerObjectCollection& TOC(trEv.getObjects());
796 
797 
798  if(!averageThreshold){
799  int NObjectAboveThresholdObserved = 0;
800  for (int i=0; i!=n; ++i) {
801  if(TOC[KEYS[i]].pt()> NewThreshold) NObjectAboveThresholdObserved++;
802  //cout << " " << i << " " << VIDS[i] << "/" << KEYS[i] << ": "<< TOC[KEYS[i]].id() << " " << TOC[KEYS[i]].pt() << " " << TOC[KEYS[i]].eta() << " " << TOC[KEYS[i]].phi() << " " << TOC[KEYS[i]].mass()<< endl;
803  }
804  if(NObjectAboveThresholdObserved>=NObjectAboveThreshold)return true;
805 
806  }else{
807  std::vector<double> ObjPt;
808 
809  for (int i=0; i!=n; ++i) {
810  ObjPt.push_back(TOC[KEYS[i]].pt());
811  //cout << " " << i << " " << VIDS[i] << "/" << KEYS[i] << ": "<< TOC[KEYS[i]].id() << " " << TOC[KEYS[i]].pt() << " " << TOC[KEYS[i]].eta() << " " << TOC[KEYS[i]].phi() << " " << TOC[KEYS[i]].mass()<< endl;
812  }
813  if((int)(ObjPt.size())<NObjectAboveThreshold)return false;
814  std::sort(ObjPt.begin(), ObjPt.end());
815 
816  double Average = 0;
817  for(int i=0; i<NObjectAboveThreshold;i++){
818  Average+= ObjPt[ObjPt.size()-1-i];
819  }Average/=NObjectAboveThreshold;
820  //cout << "AVERAGE = " << Average << endl;
821 
822  if(Average>NewThreshold)return true;
823  }
824  }
825  return false;
826 }
int i
Definition: DBlmapReader.cc:9
trigger::size_type sizeFilters() const
Definition: TriggerEvent.h:130
const Keys & filterKeys(trigger::size_type index) const
Definition: TriggerEvent.h:106
trigger::size_type filterIndex(const edm::InputTag &filterTag) const
find index of filter in data-member vector from filter tag
Definition: TriggerEvent.h:118
const Vids & filterIds(trigger::size_type index) const
Definition: TriggerEvent.h:105
const T & max(const T &a, const T &b)
const TriggerObjectCollection & getObjects() const
Definition: TriggerEvent.h:100
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:83
std::vector< size_type > Keys
std::vector< int > Vids
std::string HSCPValidator::intToString ( int  num)
private

Definition at line 772 of file HSCPValidator.cc.

Referenced by endJob().

773 {
774  using namespace std;
775  ostringstream myStream;
776  myStream << num << flush;
777  return(myStream.str()); //returns the string form of the stringstream object
778 }
long long int num
Definition: procUtils.cc:71
void HSCPValidator::makeGenPlots ( const edm::Event iEvent)
private

Definition at line 261 of file HSCPValidator.cc.

References abs, spr::find(), edm::Event::getByLabel(), h_genhscp_met, h_genhscp_met_nohscp, h_genhscp_scaloret, h_genhscp_scaloret_nohscp, label_, mag(), L1TEmulatorMonitor_cff::p, particleBetaHist_, particleBetaInverseHist_, particleEtaHist_, particleIds_, particleIdsFoundMap_, particleMassHist_, particlePhiHist_, particlePHist_, particlePtHist_, particleStatus_, particleStatusHist_, funct::pow(), and mathSSE::sqrt().

Referenced by analyze().

262 {
263  using namespace edm;
264 
265  double missingpx=0;
266  double missingpy=0;
267  double missingpx_nohscp=0;
268  double missingpy_nohscp=0;
269  double scalorEt=0;
270  double scalorEt_nohscp=0;
271 
272 
274  iEvent.getByLabel(label_, evt);
275 
276  HepMC::GenEvent * myGenEvent = new HepMC::GenEvent(*(evt->GetEvent()));
277  for(HepMC::GenEvent::particle_iterator p = myGenEvent->particles_begin();
278  p != myGenEvent->particles_end(); ++p )
279  {
280 
281  if((*p)->status() != particleStatus_)
282  continue;
283  //calculate MET(neutrino as MET)
284  if(abs((*p)->pdg_id())!=12 && abs((*p)->pdg_id())!=14 && abs((*p)->pdg_id())!=16){ //for non-neutrino particles.
285  missingpx-=(*p)->momentum().px();
286  missingpy-=(*p)->momentum().py();
287  scalorEt+=(*p)->momentum().perp();
288  }
289 
290  // Check if the particleId is in our R-hadron list
291  std::vector<int>::const_iterator partIdItr = find(particleIds_.begin(),particleIds_.end(),(*p)->pdg_id());
292  if(partIdItr==particleIds_.end()){
293  //calculate MET(neutrino+ HSCP as MET)
294  if(abs((*p)->pdg_id())!=12 && abs((*p)->pdg_id())!=14 && abs((*p)->pdg_id())!=16){ //for non-neutrino particles.
295  missingpx_nohscp-=(*p)->momentum().px();
296  missingpy_nohscp-=(*p)->momentum().py();
297  scalorEt_nohscp+=(*p)->momentum().perp();
298  }
299  }
300  else{
301 
302  particleStatusHist_->Fill((*p)->status());
303 
304  std::pair<std::map<int,int>::iterator,bool> pair = particleIdsFoundMap_.insert(std::make_pair<int,int>((*p)->pdg_id(),1));
305  if(!pair.second)
306  {
307  ++(pair.first->second);
308  }
309 
310  double mag = sqrt(pow((*p)->momentum().px(),2) + pow((*p)->momentum().py(),2) + pow((*p)->momentum().pz(),2) );
311  particleEtaHist_->Fill((*p)->momentum().eta());
312  particlePhiHist_->Fill((*p)->momentum().phi());
313  particlePHist_->Fill(mag);
314  particlePtHist_->Fill((*p)->momentum().perp());
315  particleMassHist_->Fill((*p)->generated_mass());
316  float particleP = mag;
317  float particleM = (*p)->generated_mass();
318  particleBetaHist_->Fill(particleP/sqrt(particleP*particleP+particleM*particleM));
319  particleBetaInverseHist_->Fill(sqrt(particleP*particleP+particleM*particleM)/particleP);
320  }
321 
322  }
323 
324  h_genhscp_met->Fill(sqrt(missingpx*missingpx+missingpy*missingpy));
325  h_genhscp_met_nohscp->Fill(sqrt(missingpx_nohscp*missingpx_nohscp+missingpy_nohscp*missingpy_nohscp));
326  h_genhscp_scaloret->Fill(scalorEt);
327  h_genhscp_scaloret_nohscp->Fill(scalorEt_nohscp);
328 
329 
330  delete myGenEvent;
331 
332 
333 
334 }
TH1F * particleMassHist_
Definition: HSCPValidator.h:74
TH1F * particlePhiHist_
Definition: HSCPValidator.h:71
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
TH1F * h_genhscp_met_nohscp
Definition: HSCPValidator.h:79
edm::InputTag label_
Definition: HSCPValidator.h:66
TH1F * particleBetaHist_
Definition: HSCPValidator.h:76
#define abs(x)
Definition: mlp_lapack.h:159
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
std::vector< int > particleIds_
Definition: HSCPValidator.h:67
std::map< int, int > particleIdsFoundMap_
Definition: HSCPValidator.h:69
TH1F * particleEtaHist_
Definition: HSCPValidator.h:70
TH1F * particlePtHist_
Definition: HSCPValidator.h:73
TH1F * h_genhscp_scaloret
Definition: HSCPValidator.h:80
T sqrt(T t)
Definition: SSEVec.h:28
TH1F * h_genhscp_scaloret_nohscp
Definition: HSCPValidator.h:81
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:355
TH1F * particleStatusHist_
Definition: HSCPValidator.h:75
TH1F * particlePHist_
Definition: HSCPValidator.h:72
TH1F * h_genhscp_met
Definition: HSCPValidator.h:78
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
TH1F * particleBetaInverseHist_
Definition: HSCPValidator.h:77
void HSCPValidator::makeHLTPlots ( const edm::Event iEvent)
private

Definition at line 364 of file HSCPValidator.cc.

References gather_cfg::cout, edm::Event::getByLabel(), hltjet140_, hltmet100_, hltmu15_, IncreasedTreshold(), and edm::Event::triggerResultsByName().

Referenced by analyze().

365 {
366  using namespace edm;
367  //get HLT infos
368 
369 
371 
372  if(!tr.isValid()){
373  std::cout<<"Tirgger Results not available"<<std::endl;
374  }
375 
376 // std::cout<<"trigger names are : ";
377 // for(unsigned int i=0;i<tr.size();i++){
378 // std::cout<<" "<<tr.triggerName(i);
379 // }
380 // std::cout<<std::endl;
381 
383  iEvent.getByLabel("hltTriggerSummaryAOD", trEvHandle);
384  trigger::TriggerEvent trEv = *trEvHandle;
385 
386 
387  unsigned int TrIndex_Unknown = tr.size();
388 
389 
390  // HLT TRIGGER BASED ON 1 MUON!
391  if(TrIndex_Unknown != tr.triggerIndex("HLT_Mu15_v1")){
392  if(tr.accept(tr.triggerIndex("HLT_Mu15_v1"))) hltmu15_->Fill(1);
393  else hltmu15_->Fill(0);
394  }else{
395  if(TrIndex_Unknown != tr.triggerIndex("HLT_Mu11")){
396  if(IncreasedTreshold(trEv, InputTag("hltSingleMu11L3Filtered11","","HLT"), 15, 1, false)) hltmu15_->Fill(1);
397  else hltmu15_->Fill(0);
398  }else{
399  if(TrIndex_Unknown != tr.triggerIndex("HLT_Mu9")){
400  if(IncreasedTreshold(trEv, InputTag("hltSingleMu9L3Filtered9","","HLT"), 15, 1, false)) hltmu15_->Fill(1);
401  else hltmu15_->Fill(0);
402  }else{ printf("BUG with HLT_Mu15\n");
403 
404  }
405  }
406  }
407 
408  // HLT TRIGGER BASED ON MET!
409  if(TrIndex_Unknown != tr.triggerIndex("HLT_MET100_v3")){
410  if(tr.accept(tr.triggerIndex("HLT_MET100_v3")))hltmet100_->Fill(1);
411  else hltmet100_->Fill(0);
412  }else{
413  if(TrIndex_Unknown != tr.triggerIndex("HLT_MET100_v2")){
414  if(tr.accept(tr.triggerIndex("HLT_MET100_v2"))) hltmet100_->Fill(1);
415  else hltmet100_->Fill(0);
416  }else{
417  if(TrIndex_Unknown != tr.triggerIndex("HLT_MET100")){
418  if(tr.accept(tr.triggerIndex("HLT_MET100"))) hltmet100_->Fill(1);
419  else hltmet100_->Fill(0);
420  }else{
421  printf("BUG with HLT_MET100\n");
422 
423  }
424  }
425  }
426 
427  // HLT TRIGGER BASED ON 1 JET!
428  if(TrIndex_Unknown != tr.triggerIndex("HLT_Jet140U_v3")){
429  if(tr.accept(tr.triggerIndex("HLT_Jet140U_v3")))hltjet140_->Fill(1);
430  else hltjet140_->Fill(0);
431  }else{
432  if(TrIndex_Unknown != tr.triggerIndex("HLT_Jet140U_v1")){
433  if(tr.accept(tr.triggerIndex("HLT_Jet140U_v1")))hltjet140_->Fill(1);
434  else hltjet140_->Fill(0);
435  }else{
436  if(TrIndex_Unknown != tr.triggerIndex("HLT_Jet100U")){
437  if(IncreasedTreshold(trEv, InputTag("hlt1jet100U","","HLT"), 140, 1, false))hltjet140_->Fill(1);
438  else hltjet140_->Fill(0);
439  }else{
440  if(TrIndex_Unknown != tr.triggerIndex("HLT_Jet70U")){
441  if(IncreasedTreshold(trEv, InputTag("hlt1jet70U","","HLT"), 140, 1, false))hltjet140_->Fill(1);
442  else hltjet140_->Fill(0);
443  }else{
444  if(TrIndex_Unknown != tr.triggerIndex("HLT_Jet50U")){
445  if(IncreasedTreshold(trEv, InputTag("hlt1jet50U","","HLT"), 140, 1, false))hltjet140_->Fill(1);
446  else hltjet140_->Fill(0);
447  }else{
448  printf("BUG with HLT_Jet140\n");
449 
450  }
451  }
452  }
453  }
454  }
455 
456 
457 
458 
459 }
virtual TriggerResultsByName triggerResultsByName(std::string const &process) const
Definition: Event.cc:219
The single EDProduct to be saved for each event (AOD case)
Definition: TriggerEvent.h:27
bool IncreasedTreshold(const trigger::TriggerEvent &trEv, const edm::InputTag &InputPath, double NewThreshold, int NObjectAboveThreshold, bool averageThreshold)
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:355
tuple cout
Definition: gather_cfg.py:41
void HSCPValidator::makeSimDigiPlotsECAL ( const edm::Event iEvent)
private

Definition at line 462 of file HSCPValidator.cc.

References EcalMGPASample::adc(), gather_cfg::cout, digiOccupancyMapEB_, digiOccupancyMapEEM_, digiOccupancyMapEEP_, digisEcalNumHistEB_, digisEcalNumHistEE_, EBDigiCollection_, ebSimHitTag_, EEDigiCollection_, eeSimHitTag_, spr::find(), edm::Event::getByLabel(), i, particleIds_, EcalDataFrame::sample(), simHitsEcalDigiMatchEnergyHistEB_, simHitsEcalDigiMatchEnergyHistEE_, simHitsEcalDigiMatchEnergyVsTimeHistEB_, simHitsEcalDigiMatchEnergyVsTimeHistEE_, simHitsEcalDigiMatchIEtaHist_, simHitsEcalDigiMatchIPhiHist_, simHitsEcalDigiMatchTimeHistEB_, simHitsEcalDigiMatchTimeHistEE_, simHitsEcalEnergyHistEB_, simHitsEcalEnergyHistEE_, simHitsEcalEnergyVsTimeHistEB_, simHitsEcalEnergyVsTimeHistEE_, simHitsEcalNumHistEB_, simHitsEcalNumHistEE_, simHitsEcalTimeHistEB_, simHitsEcalTimeHistEE_, simTrackTag_, and EcalDataFrame::size().

Referenced by analyze().

463 {
464  using namespace edm;
465  // EB SimHits
466  Handle<PCaloHitContainer> ebSimHits;
467  iEvent.getByLabel(ebSimHitTag_, ebSimHits);
468  if(!ebSimHits.isValid())
469  {
470  std::cout << "Cannot get EBSimHits from event!" << std::endl;
471  return;
472  }
473  // EE SimHits
474  Handle<PCaloHitContainer> eeSimHits;
475  iEvent.getByLabel(eeSimHitTag_, eeSimHits);
476  if(!eeSimHits.isValid())
477  {
478  std::cout << "Cannot get EESimHits from event!" << std::endl;
479  return;
480  }
481  // SimTracks
482  Handle<SimTrackContainer> simTracks;
483  iEvent.getByLabel(simTrackTag_,simTracks);
484  if(!simTracks.isValid())
485  {
486  std::cout << "Cannot get SimTracks from event!" << std::endl;
487  return;
488  }
489  // EB Digis
490  Handle<EBDigiCollection> ebDigis;
491  iEvent.getByLabel(EBDigiCollection_,ebDigis);
492  if(!ebDigis.isValid())
493  {
494  std::cout << "Cannot get EBDigis from event!" << std::endl;
495  return;
496  }
497  // EE Digis
498  Handle<EEDigiCollection> eeDigis;
499  iEvent.getByLabel(EEDigiCollection_,eeDigis);
500  if(!eeDigis.isValid())
501  {
502  std::cout << "Cannot get EEDigis from event!" << std::endl;
503  return;
504  }
505 
506  // EB first
507  // 1) Look at SimTracks, getting only the HSCP tracks
508  // 2) Match to PCaloHits
509  // 3) Match to digis
510  int numMatchedSimHitsEventEB = 0;
511  int numMatchedDigisEventEB = 0;
512  const PCaloHitContainer* phitsEB=0;
513  phitsEB = ebSimHits.product();
514  for(SimTrackContainer::const_iterator simTrack = simTracks->begin(); simTrack != simTracks->end(); ++simTrack)
515  {
516  // Check if the particleId is in our list
517  std::vector<int>::const_iterator partIdItr = find(particleIds_.begin(),particleIds_.end(),simTrack->type());
518  if(partIdItr==particleIds_.end())
519  continue;
520 
521  PCaloHitContainer mySimHitsEB;
522  std::vector<EBDataFrame> myDigisEB;
523 
524  //int particleId = simTrack->type();
525  int trackId = simTrack->trackId();
526  PCaloHitContainer::const_iterator simHitItr = phitsEB->begin();
527  while(simHitItr != phitsEB->end())
528  {
529  if(simHitItr->geantTrackId()==trackId)
530  mySimHitsEB.push_back(*simHitItr);
531  ++simHitItr;
532  }
533  if(mySimHitsEB.size()==0)
534  {
535  std::cout << "Could not find matching EB PCaloHits for SimTrack id: " << trackId << ". Skipping this SimTrack" << std::endl;
536  continue;
537  }
538 
539  // Loop over matching PCaloHits
540  for(simHitItr = mySimHitsEB.begin(); simHitItr != mySimHitsEB.end(); ++simHitItr)
541  {
542  simHitsEcalEnergyHistEB_->Fill(simHitItr->energy());
543  simHitsEcalTimeHistEB_->Fill(simHitItr->time());
544  simHitsEcalEnergyVsTimeHistEB_->Fill(simHitItr->time(),simHitItr->energy());
545  EBDetId simHitId = EBDetId(simHitItr->id());
546  std::cout << "SimHit DetId found: " << simHitId << " for PDGid: " << simTrack->type() << std::endl;
547  //std::cout << "SimHit hashedIndex: " << simHitId.hashedIndex() << std::endl;
548  std::cout << "SimHit energy: " << simHitItr->energy() << " time: " << simHitItr->time() << std::endl;
549  ++numMatchedSimHitsEventEB;
550 
551  EBDigiCollection::const_iterator digiItr = ebDigis->begin();
552  while(digiItr != ebDigis->end() && (digiItr->id() != simHitId))
553  ++digiItr;
554  if(digiItr==ebDigis->end())
555  {
556  // Commented out for debugging ease, Aug 3 2009
557  std::cout << "Could not find simHit detId: " << simHitId << "in EBDigiCollection!" << std::endl;
558  continue;
559  }
560  std::vector<EBDataFrame>::const_iterator myDigiItr = myDigisEB.begin();
561  while(myDigiItr != myDigisEB.end() && (digiItr->id() != myDigiItr->id()))
562  ++myDigiItr;
563  if(myDigiItr!=myDigisEB.end())
564  continue; // if this digi is already in the list, skip it
565 
566  ++numMatchedDigisEventEB;
567  EBDataFrame df = *digiItr;
568  myDigisEB.push_back(df);
569  std::cout << "SAMPLE ADCs: " << "\t";
570  for(int i=0; i<10;++i)
571  std::cout << i << "\t";
572  std::cout << std::endl << "\t\t";
573  for(int i=0; i < df.size(); ++i)
574  {
575  std::cout << df.sample(i).adc() << "\t";
576  }
577  std::cout << std::endl << std::endl;
578 
579  simHitsEcalDigiMatchEnergyHistEB_->Fill(simHitItr->energy());
580  simHitsEcalDigiMatchTimeHistEB_->Fill(simHitItr->time());
581  simHitsEcalDigiMatchEnergyVsTimeHistEB_->Fill(simHitItr->time(),simHitItr->energy());
582  simHitsEcalDigiMatchIEtaHist_->Fill(((EBDetId)digiItr->id()).ieta());
583  simHitsEcalDigiMatchIPhiHist_->Fill(((EBDetId)digiItr->id()).iphi());
584  digiOccupancyMapEB_->Fill(((EBDetId)digiItr->id()).iphi(),((EBDetId)digiItr->id()).ieta());
585  }
586  }
587  simHitsEcalNumHistEB_->Fill(numMatchedSimHitsEventEB);
588  digisEcalNumHistEB_->Fill(numMatchedDigisEventEB);
589 
590  // EE next
591  int numMatchedSimHitsEventEE = 0;
592  int numMatchedDigisEventEE = 0;
593  const PCaloHitContainer* phitsEE=0;
594  phitsEE = eeSimHits.product();
595  for(SimTrackContainer::const_iterator simTrack = simTracks->begin(); simTrack != simTracks->end(); ++simTrack)
596  {
597  // Check if the particleId is in our list
598  std::vector<int>::const_iterator partIdItr = find(particleIds_.begin(),particleIds_.end(),simTrack->type());
599  if(partIdItr==particleIds_.end())
600  continue;
601 
602  PCaloHitContainer mySimHitsEE;
603  std::vector<EEDataFrame> myDigisEE;
604 
605  //int particleId = simTrack->type();
606  int trackId = simTrack->trackId();
607  PCaloHitContainer::const_iterator simHitItr = phitsEE->begin();
608  while(simHitItr != phitsEE->end())
609  {
610  if(simHitItr->geantTrackId()==trackId)
611  mySimHitsEE.push_back(*simHitItr);
612  ++simHitItr;
613  }
614  if(mySimHitsEE.size()==0)
615  {
616  std::cout << "Could not find matching EE PCaloHits for SimTrack id: " << trackId << ". Skipping this SimTrack" << std::endl;
617  continue;
618  }
619 
620  // Loop over matching PCaloHits
621  for(simHitItr = mySimHitsEE.begin(); simHitItr != mySimHitsEE.end(); ++simHitItr)
622  {
623  simHitsEcalEnergyHistEE_->Fill(simHitItr->energy());
624  simHitsEcalTimeHistEE_->Fill(simHitItr->time());
625  simHitsEcalEnergyVsTimeHistEE_->Fill(simHitItr->time(),simHitItr->energy());
626  EEDetId simHitId = EEDetId(simHitItr->id());
627  std::cout << "SimHit DetId found: " << simHitId << " for PDGid: " << simTrack->type() << std::endl;
628  //std::cout << "SimHit hashedIndex: " << simHitId.hashedIndex() << std::endl;
629  std::cout << "SimHit energy: " << simHitItr->energy() << " time: " << simHitItr->time() << std::endl;
630  ++numMatchedSimHitsEventEE;
631 
632  EEDigiCollection::const_iterator digiItr = eeDigis->begin();
633  while(digiItr != eeDigis->end() && (digiItr->id() != simHitId))
634  ++digiItr;
635  if(digiItr==eeDigis->end())
636  {
637  // Commented out for debugging ease, Aug 3 2009
638  std::cout << "Could not find simHit detId: " << simHitId << "in EEDigiCollection!" << std::endl;
639  continue;
640  }
641  std::vector<EEDataFrame>::const_iterator myDigiItr = myDigisEE.begin();
642  while(myDigiItr != myDigisEE.end() && (digiItr->id() != myDigiItr->id()))
643  ++myDigiItr;
644  if(myDigiItr!=myDigisEE.end())
645  continue; // if this digi is already in the list, skip it
646 
647  ++numMatchedDigisEventEE;
648  EEDataFrame df = *digiItr;
649  myDigisEE.push_back(df);
650  std::cout << "SAMPLE ADCs: " << "\t";
651  for(int i=0; i<10;++i)
652  std::cout << i << "\t";
653  std::cout << std::endl << "\t\t";
654  for(int i=0; i < df.size(); ++i)
655  {
656  std::cout << df.sample(i).adc() << "\t";
657  }
658  std::cout << std::endl << std::endl;
659 
660  simHitsEcalDigiMatchEnergyHistEE_->Fill(simHitItr->energy());
661  simHitsEcalDigiMatchTimeHistEE_->Fill(simHitItr->time());
662  simHitsEcalDigiMatchEnergyVsTimeHistEE_->Fill(simHitItr->time(),simHitItr->energy());
663  if(((EEDetId)digiItr->id()).zside() > 0)
664  digiOccupancyMapEEP_->Fill(((EEDetId)digiItr->id()).ix(),((EEDetId)digiItr->id()).iy());
665  else if(((EEDetId)digiItr->id()).zside() < 0)
666  digiOccupancyMapEEM_->Fill(((EEDetId)digiItr->id()).ix(),((EEDetId)digiItr->id()).iy());
667  }
668  }
669  simHitsEcalNumHistEE_->Fill(numMatchedSimHitsEventEE);
670  digisEcalNumHistEE_->Fill(numMatchedDigisEventEE);
671 
672 }
TH2F * simHitsEcalDigiMatchEnergyVsTimeHistEE_
int i
Definition: DBlmapReader.cc:9
std::vector< PCaloHit > PCaloHitContainer
TH1F * simHitsEcalTimeHistEE_
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
TH2F * simHitsEcalEnergyVsTimeHistEB_
TH1F * simHitsEcalEnergyHistEE_
TH1F * digisEcalNumHistEE_
TH2F * digiOccupancyMapEEM_
EcalMGPASample sample(int i) const
Definition: EcalDataFrame.h:28
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
TH1F * simHitsEcalDigiMatchTimeHistEB_
std::vector< int > particleIds_
Definition: HSCPValidator.h:67
int size() const
Definition: EcalDataFrame.h:25
TH1F * simHitsEcalNumHistEE_
TH2F * digiOccupancyMapEEP_
TH2F * digiOccupancyMapEB_
TH2F * simHitsEcalDigiMatchEnergyVsTimeHistEB_
TH1F * simHitsEcalDigiMatchEnergyHistEE_
edm::InputTag ebSimHitTag_
Definition: HSCPValidator.h:92
TH1F * simHitsEcalDigiMatchTimeHistEE_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:355
TH2F * simHitsEcalEnergyVsTimeHistEE_
edm::InputTag eeSimHitTag_
Definition: HSCPValidator.h:93
TH1F * simHitsEcalDigiMatchIEtaHist_
TH1F * simHitsEcalNumHistEB_
TH1F * digisEcalNumHistEB_
TH1F * simHitsEcalDigiMatchIPhiHist_
TH1F * simHitsEcalDigiMatchEnergyHistEB_
edm::InputTag EBDigiCollection_
Definition: HSCPValidator.h:95
edm::InputTag EEDigiCollection_
Definition: HSCPValidator.h:96
tuple cout
Definition: gather_cfg.py:41
edm::InputTag simTrackTag_
Definition: HSCPValidator.h:94
TH1F * simHitsEcalEnergyHistEB_
int adc() const
get the ADC sample (12 bits)
TH1F * simHitsEcalTimeHistEB_
void HSCPValidator::makeSimDigiPlotsRPC ( const edm::Event iEvent)
private

Definition at line 675 of file HSCPValidator.cc.

References cluSizeDistribution_, gather_cfg::cout, efficiencyRPCRecHitSimDigis_, PV3DBase< T, PVType, FrameType >::eta(), HcalObjRepresent::Fill(), spr::find(), edm::Event::getByLabel(), edm::Event::getManyByType(), i, RPCDetId::layer(), PV3DBase< T, PVType, FrameType >::mag(), DetId::Muon, RPCGeomServ::name(), particleIds_, PV3DBase< T, PVType, FrameType >::phi(), RPCDetId::region(), residualsRPCRecHitSimDigis_, MuonSubdetId::RPC, rpcBXBarrel_, rpcBXEndCap_, rpcGeo, python.rpcRecHits_cfi::rpcRecHits, rpcTimeOfFlightBarrel_, rpcTimeOfFlightEndCap_, RPCDetId::station(), GeomDet::surface(), Surface::toGlobal(), and PV3DBase< T, PVType, FrameType >::x().

Referenced by analyze().

676 {
677  using namespace edm;
678 
679  //std::cout << " Getting the SimHits " <<std::endl;
680  std::vector<Handle<edm::PSimHitContainer> > theSimHitContainers;
681  iEvent.getManyByType(theSimHitContainers);
682  //std::cout << " The Number of sim Hits is " << theSimHitContainers.size() <<std::endl;
683 
685  iEvent.getByLabel("rpcRecHits","",rpcRecHits);
686 
687  //SimTrack Stuff
688  std::vector<PSimHit> theSimHits;
689 
690  for (int i = 0; i < int(theSimHitContainers.size()); i++){
691  theSimHits.insert(theSimHits.end(),theSimHitContainers.at(i)->begin(),theSimHitContainers.at(i)->end());
692  }
693 
694 
695  for (std::vector<PSimHit>::const_iterator iHit = theSimHits.begin(); iHit != theSimHits.end(); iHit++){
696 
697  std::vector<int>::const_iterator partIdItr = find(particleIds_.begin(),particleIds_.end(),(*iHit).particleType());
698  if(partIdItr==particleIds_.end())
699  continue;
700 
701  DetId theDetUnitId((*iHit).detUnitId());
702 
703  DetId simdetid= DetId((*iHit).detUnitId());
704 
705  if(simdetid.det()==DetId::Muon && simdetid.subdetId()== MuonSubdetId::RPC){//Only RPCs
706 
707  RPCDetId rollId(theDetUnitId);
708  RPCGeomServ rpcsrv(rollId);
709 
710  //std::cout << " Reading the Roll"<<std::endl;
711  const RPCRoll* rollasociated = rpcGeo->roll(rollId);
712 
713  //std::cout << " Getting the Surface"<<std::endl;
714  const BoundPlane & RPCSurface = rollasociated->surface();
715 
716  GlobalPoint SimHitInGlobal = RPCSurface.toGlobal((*iHit).localPosition());
717 
718  std::cout<<"\t\t We have an RPC Sim Hit! in t="<<(*iHit).timeOfFlight()<<"ns "<<rpcsrv.name()<<" Global postition="<<SimHitInGlobal<<std::endl;
719 
720  int layer = 0;
721 
722  if(rollId.station()==1&&rollId.layer()==1) layer = 1;
723  else if(rollId.station()==1&&rollId.layer()==2) layer = 2;
724  else if(rollId.station()==2&&rollId.layer()==1) layer = 3;
725  else if(rollId.station()==2&&rollId.layer()==2) layer = 4;
726  else if(rollId.station()==3) layer = 5;
727  else if(rollId.station()==4) layer = 6;
728 
729  if(rollId.region()==0){
730  rpcTimeOfFlightBarrel_[layer-1]->Fill((*iHit).timeOfFlight());
731  }else{
732  rpcTimeOfFlightEndCap_[rollId.station()-1]->Fill((*iHit).timeOfFlight());
733  }
734 
735  std::cout<<"\t\t r="<<SimHitInGlobal.mag()<<" phi="<<SimHitInGlobal.phi()<<" eta="<<SimHitInGlobal.eta()<<std::endl;
736 
737  int cluSize = 0;
738  int bx = 100;
739  float minres = 3000.;
740 
741  std::cout<<"\t \t \t \t Getting RecHits in Roll Asociated"<<std::endl;
742 
743  typedef std::pair<RPCRecHitCollection::const_iterator, RPCRecHitCollection::const_iterator> rangeRecHits;
744  rangeRecHits recHitCollection = rpcRecHits->get(rollId);
746 
748 
749  for(recHit = recHitCollection.first; recHit != recHitCollection.second ; recHit++){
750  LocalPoint recHitPos=recHit->localPosition();
751  float res=(*iHit).localPosition().x()- recHitPos.x();
752  if(fabs(res)<fabs(minres)){
753  minres=res;
754  cluSize = recHit->clusterSize();
755  bx=recHit->BunchX();
756  std::cout<<"\t New Min Res "<<res<<"cm."<<std::endl;
757  }
758  }
759 
760  if(minres<3000.){
761  residualsRPCRecHitSimDigis_->Fill(minres);
763  cluSizeDistribution_->Fill(cluSize);
764  if(rollId.region()==0) rpcBXBarrel_[layer-1]->Fill(bx);
765  else rpcBXEndCap_[rollId.station()-1]->Fill(bx);
766  }
767  }
768  }
769 }
void getManyByType(std::vector< Handle< PROD > > &results) const
Definition: Event.h:407
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:78
int i
Definition: DBlmapReader.cc:9
TH1F * rpcTimeOfFlightBarrel_[6]
TH1F * rpcTimeOfFlightEndCap_[3]
Geom::Phi< T > phi() const
Definition: PV3DBase.h:63
TH1F * cluSizeDistribution_
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
std::vector< int > particleIds_
Definition: HSCPValidator.h:67
C::const_iterator const_iterator
constant access iterator type
Definition: RangeMap.h:46
T mag() const
Definition: PV3DBase.h:61
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
TH1F * efficiencyRPCRecHitSimDigis_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:355
TH1F * rpcBXBarrel_[6]
TH1F * residualsRPCRecHitSimDigis_
Definition: DetId.h:20
TH1F * rpcBXEndCap_[3]
T eta() const
Definition: PV3DBase.h:70
static const int RPC
Definition: MuonSubdetId.h:16
edm::ESHandle< RPCGeometry > rpcGeo
Definition: HSCPValidator.h:98
tuple cout
Definition: gather_cfg.py:41
T x() const
Definition: PV3DBase.h:56
virtual const BoundPlane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
void HSCPValidator::makeSimTrackPlots ( const edm::Event iEvent)
private

Definition at line 337 of file HSCPValidator.cc.

References spr::find(), edm::Event::getByLabel(), particleIds_, simTrackParticleBetaHist_, simTrackParticleEtaHist_, simTrackParticlePhiHist_, simTrackParticlePHist_, and simTrackParticlePtHist_.

Referenced by analyze().

338 { using namespace edm;
339  //get sim track infos
340  Handle<edm::SimTrackContainer> simTracksHandle;
341  iEvent.getByLabel("g4SimHits",simTracksHandle);
342  const SimTrackContainer simTracks = *(simTracksHandle.product());
343 
344  SimTrackContainer::const_iterator simTrack;
345 
346  for (simTrack = simTracks.begin(); simTrack != simTracks.end(); ++simTrack){
347  // Check if the particleId is in our list
348  std::vector<int>::const_iterator partIdItr = find(particleIds_.begin(),particleIds_.end(),simTrack->type());
349  if(partIdItr==particleIds_.end()) continue;
350 
351  simTrackParticleEtaHist_->Fill((*simTrack).momentum().eta());
352  simTrackParticlePhiHist_->Fill((*simTrack).momentum().phi());
353  simTrackParticlePHist_->Fill((*simTrack).momentum().P());
354 
355  simTrackParticlePtHist_->Fill((*simTrack).momentum().pt());
356 
357  simTrackParticleBetaHist_->Fill((*simTrack).momentum().P()/(*simTrack).momentum().e());
358 
359 
360 
361  }
362 }
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
std::vector< int > particleIds_
Definition: HSCPValidator.h:67
TH1F * simTrackParticlePtHist_
Definition: HSCPValidator.h:88
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:355
TH1F * simTrackParticleEtaHist_
Definition: HSCPValidator.h:85
TH1F * simTrackParticlePhiHist_
Definition: HSCPValidator.h:86
TH1F * simTrackParticleBetaHist_
Definition: HSCPValidator.h:89
std::vector< SimTrack > SimTrackContainer
TH1F * simTrackParticlePHist_
Definition: HSCPValidator.h:87

Member Data Documentation

TH1F* HSCPValidator::cluSizeDistribution_
private

Definition at line 124 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsRPC().

TH2F* HSCPValidator::digiOccupancyMapEB_
private

Definition at line 118 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsECAL().

TH2F* HSCPValidator::digiOccupancyMapEEM_
private

Definition at line 120 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsECAL().

TH2F* HSCPValidator::digiOccupancyMapEEP_
private

Definition at line 119 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsECAL().

TH1F* HSCPValidator::digisEcalNumHistEB_
private

Definition at line 116 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsECAL().

TH1F* HSCPValidator::digisEcalNumHistEE_
private

Definition at line 117 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsECAL().

bool HSCPValidator::doGenPlots_
private

Definition at line 59 of file HSCPValidator.h.

Referenced by analyze().

bool HSCPValidator::doHLTPlots_
private

Definition at line 60 of file HSCPValidator.h.

Referenced by analyze().

bool HSCPValidator::doRecoPlots_
private

Definition at line 63 of file HSCPValidator.h.

bool HSCPValidator::doSimDigiPlots_
private

Definition at line 62 of file HSCPValidator.h.

Referenced by analyze().

bool HSCPValidator::doSimTrackPlots_
private

Definition at line 61 of file HSCPValidator.h.

Referenced by analyze().

edm::InputTag HSCPValidator::EBDigiCollection_
private

Definition at line 95 of file HSCPValidator.h.

Referenced by makeSimDigiPlotsECAL().

edm::InputTag HSCPValidator::ebSimHitTag_
private

Definition at line 92 of file HSCPValidator.h.

Referenced by makeSimDigiPlotsECAL().

edm::InputTag HSCPValidator::EEDigiCollection_
private

Definition at line 96 of file HSCPValidator.h.

Referenced by makeSimDigiPlotsECAL().

edm::InputTag HSCPValidator::eeSimHitTag_
private

Definition at line 93 of file HSCPValidator.h.

Referenced by makeSimDigiPlotsECAL().

TH1F* HSCPValidator::efficiencyRPCRecHitSimDigis_
private

Definition at line 123 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsRPC().

TH1F* HSCPValidator::h_genhscp_met
private

Definition at line 78 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeGenPlots().

TH1F* HSCPValidator::h_genhscp_met_nohscp
private

Definition at line 79 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeGenPlots().

TH1F* HSCPValidator::h_genhscp_scaloret
private

Definition at line 80 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeGenPlots().

TH1F* HSCPValidator::h_genhscp_scaloret_nohscp
private

Definition at line 81 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeGenPlots().

TH1F* HSCPValidator::hltjet140_
private

Definition at line 131 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeHLTPlots().

TH1F* HSCPValidator::hltmet100_
private

Definition at line 130 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeHLTPlots().

TH1F* HSCPValidator::hltmu15_
private

Definition at line 132 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeHLTPlots().

edm::InputTag HSCPValidator::label_
private
TH1F* HSCPValidator::particleBetaHist_
private

Definition at line 76 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeGenPlots().

TH1F* HSCPValidator::particleBetaInverseHist_
private

Definition at line 77 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeGenPlots().

TH1F* HSCPValidator::particleEtaHist_
private

Definition at line 70 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeGenPlots().

std::vector<int> HSCPValidator::particleIds_
private
std::map<int,int> HSCPValidator::particleIdsFoundMap_
private

Definition at line 69 of file HSCPValidator.h.

Referenced by endJob(), and makeGenPlots().

TH1F* HSCPValidator::particleMassHist_
private

Definition at line 74 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeGenPlots().

TH1F* HSCPValidator::particlePhiHist_
private

Definition at line 71 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeGenPlots().

TH1F* HSCPValidator::particlePHist_
private

Definition at line 72 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeGenPlots().

TH1F* HSCPValidator::particlePtHist_
private

Definition at line 73 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeGenPlots().

int HSCPValidator::particleStatus_
private

Definition at line 68 of file HSCPValidator.h.

Referenced by makeGenPlots().

TH1F* HSCPValidator::particleStatusHist_
private

Definition at line 75 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeGenPlots().

TH1F* HSCPValidator::residualsRPCRecHitSimDigis_
private

Definition at line 122 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsRPC().

TH1F* HSCPValidator::rpcBXBarrel_[6]
private

Definition at line 126 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsRPC().

TH1F* HSCPValidator::rpcBXEndCap_[3]
private

Definition at line 128 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsRPC().

edm::ESHandle<RPCGeometry> HSCPValidator::rpcGeo
private

Definition at line 98 of file HSCPValidator.h.

Referenced by analyze(), and makeSimDigiPlotsRPC().

edm::InputTag HSCPValidator::RPCRecHitTag_
private

Definition at line 97 of file HSCPValidator.h.

TH1F* HSCPValidator::rpcTimeOfFlightBarrel_[6]
private

Definition at line 125 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsRPC().

TH1F* HSCPValidator::rpcTimeOfFlightEndCap_[3]
private

Definition at line 127 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsRPC().

TH1F* HSCPValidator::simHitsEcalDigiMatchEnergyHistEB_
private

Definition at line 108 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsECAL().

TH1F* HSCPValidator::simHitsEcalDigiMatchEnergyHistEE_
private

Definition at line 111 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsECAL().

TH2F* HSCPValidator::simHitsEcalDigiMatchEnergyVsTimeHistEB_
private

Definition at line 110 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsECAL().

TH2F* HSCPValidator::simHitsEcalDigiMatchEnergyVsTimeHistEE_
private

Definition at line 113 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsECAL().

TH1F* HSCPValidator::simHitsEcalDigiMatchIEtaHist_
private

Definition at line 114 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsECAL().

TH1F* HSCPValidator::simHitsEcalDigiMatchIPhiHist_
private

Definition at line 115 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsECAL().

TH1F* HSCPValidator::simHitsEcalDigiMatchTimeHistEB_
private

Definition at line 109 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsECAL().

TH1F* HSCPValidator::simHitsEcalDigiMatchTimeHistEE_
private

Definition at line 112 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsECAL().

TH1F* HSCPValidator::simHitsEcalEnergyHistEB_
private

Definition at line 100 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsECAL().

TH1F* HSCPValidator::simHitsEcalEnergyHistEE_
private

Definition at line 104 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsECAL().

TH2F* HSCPValidator::simHitsEcalEnergyVsTimeHistEB_
private

Definition at line 103 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsECAL().

TH2F* HSCPValidator::simHitsEcalEnergyVsTimeHistEE_
private

Definition at line 107 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsECAL().

TH1F* HSCPValidator::simHitsEcalNumHistEB_
private

Definition at line 102 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsECAL().

TH1F* HSCPValidator::simHitsEcalNumHistEE_
private

Definition at line 106 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsECAL().

TH1F* HSCPValidator::simHitsEcalTimeHistEB_
private

Definition at line 101 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsECAL().

TH1F* HSCPValidator::simHitsEcalTimeHistEE_
private

Definition at line 105 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimDigiPlotsECAL().

TH1F* HSCPValidator::simTrackParticleBetaHist_
private

Definition at line 89 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimTrackPlots().

TH1F* HSCPValidator::simTrackParticleEtaHist_
private

Definition at line 85 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimTrackPlots().

TH1F* HSCPValidator::simTrackParticlePhiHist_
private

Definition at line 86 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimTrackPlots().

TH1F* HSCPValidator::simTrackParticlePHist_
private

Definition at line 87 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimTrackPlots().

TH1F* HSCPValidator::simTrackParticlePtHist_
private

Definition at line 88 of file HSCPValidator.h.

Referenced by HSCPValidator(), and makeSimTrackPlots().

edm::InputTag HSCPValidator::simTrackTag_
private

Definition at line 94 of file HSCPValidator.h.

Referenced by makeSimDigiPlotsECAL().