CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
HFPMTHitAnalyzer Class Reference
Inheritance diagram for HFPMTHitAnalyzer:
edm::one::EDAnalyzer< edm::one::WatchRuns, edm::one::SharedResources > edm::one::EDAnalyzerBase edm::EDConsumerBase

Public Member Functions

 HFPMTHitAnalyzer (const edm::ParameterSet &)
 
 ~HFPMTHitAnalyzer () override
 
- Public Member Functions inherited from edm::one::EDAnalyzer< edm::one::WatchRuns, edm::one::SharedResources >
 EDAnalyzer ()=default
 
 EDAnalyzer (const EDAnalyzer &)=delete
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
const EDAnalyzeroperator= (const EDAnalyzer &)=delete
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDAnalyzerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDAnalyzerBase () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::array< std::vector< ModuleDescription const * > *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::one::EDAnalyzerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void analyzeHits (std::vector< PCaloHit > &, const std::vector< SimTrack > &)
 
void beginJob () override
 
void beginRun (edm::Run const &, edm::EventSetup const &) override
 
void endJob () override
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 

Private Attributes

int event_no
 
std::string g4Label
 
TH1F * h_HFDepHit
 
TH1F * h_HFEta [3]
 
TH1F * h_HFPhi [3]
 
std::string hcalHits
 
TH1F * hHF12_time [3]
 
TH1F * hHF12_time_Ewt [3]
 
TH1F * hHF1_time [3]
 
TH1F * hHF1_time_Ewt [3]
 
TH1F * hHF2_time [3]
 
TH1F * hHF2_time_Ewt [3]
 
TH1F * hHF_e_1 [3]
 
TH1F * hHF_e_12 [3]
 
TH1F * hHF_e_2 [3]
 
TH1F * hHF_em_1 [3]
 
TH1F * hHF_em_12 [3]
 
TH1F * hHF_em_2 [3]
 
TH1F * hHF_had_1 [3]
 
TH1F * hHF_had_12 [3]
 
TH1F * hHF_had_2 [3]
 
TH1F * hHF_MC_e
 
edm::EDGetTokenT< edm::PCaloHitContainertok_calo_
 
edm::EDGetTokenT< edm::HepMCProducttok_evt_
 
edm::EDGetTokenT< edm::SimTrackContainertok_track_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDAnalyzerBase
typedef EDAnalyzerBase ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Definition at line 34 of file HFPMTHitAnalyzer.cc.

Constructor & Destructor Documentation

◆ HFPMTHitAnalyzer()

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

Definition at line 68 of file HFPMTHitAnalyzer.cc.

68  {
69  usesResource(TFileService::kSharedResource);
70 
71  tok_evt_ = consumes<edm::HepMCProduct>(
72  edm::InputTag(iConfig.getUntrackedParameter<std::string>("SourceLabel", "VtxSmeared")));
73  g4Label = iConfig.getUntrackedParameter<std::string>("ModuleLabel", "g4SimHits");
74  hcalHits = iConfig.getUntrackedParameter<std::string>("HitCollection", "HcalHits");
75 
76  tok_calo_ = consumes<edm::PCaloHitContainer>(edm::InputTag(g4Label, hcalHits));
77  tok_track_ = consumes<edm::SimTrackContainer>(edm::InputTag(g4Label));
78 }

References g4Label, edm::ParameterSet::getUntrackedParameter(), hcalHits, TFileService::kSharedResource, AlCaHLTBitMon_QueryRunRegistry::string, tok_calo_, tok_evt_, and tok_track_.

◆ ~HFPMTHitAnalyzer()

HFPMTHitAnalyzer::~HFPMTHitAnalyzer ( )
inlineoverride

Definition at line 37 of file HFPMTHitAnalyzer.cc.

37 {}

Member Function Documentation

◆ analyze()

void HFPMTHitAnalyzer::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::one::EDAnalyzerBase.

Definition at line 203 of file HFPMTHitAnalyzer.cc.

203  {
204  ++event_no;
205  if (event_no % 500 == 0)
206  std::cout << "Event # " << event_no << " processed.\n";
207 
208  std::vector<PCaloHit> caloHits;
210  iEvent.getByToken(tok_calo_, hitsHcal);
211  std::vector<SimTrack> simTracks;
213  iEvent.getByToken(tok_track_, Tracks);
214 
216  iEvent.getByToken(tok_evt_, EvtHandle);
217  const HepMC::GenEvent *myGenEvent = EvtHandle->GetEvent();
218 
219  float orig_energy = 0;
220  for (HepMC::GenEvent::particle_const_iterator p = myGenEvent->particles_begin(); p != myGenEvent->particles_end();
221  ++p) {
222  orig_energy = (*p)->momentum().e();
223  hHF_MC_e->Fill(orig_energy);
224  }
225 
226  caloHits.insert(caloHits.end(), hitsHcal->begin(), hitsHcal->end());
227  analyzeHits(caloHits, *Tracks);
228 }

References analyzeHits(), gather_cfg::cout, event_no, edm::HepMCProduct::GetEvent(), hHF_MC_e, iEvent, AlCaHLTBitMon_ParallelJobs::p, TrackCandidateProducer_cfi::simTracks, tok_calo_, tok_evt_, tok_track_, and gather_cfg::Tracks.

◆ analyzeHits()

void HFPMTHitAnalyzer::analyzeHits ( std::vector< PCaloHit > &  hits,
const std::vector< SimTrack > &  tracks1 
)
private

Definition at line 230 of file HFPMTHitAnalyzer.cc.

230  {
231  int nHit = hits.size();
232  float energy1[3], energy2[3], energy12[3];
233  float em1[3], had1[3], em2[3], had2[3], em12[3], had12[3];
234  for (int i = 0; i < 3; i++) {
235  energy1[i] = energy2[i] = energy12[i] = 0;
236  em1[i] = em2[i] = em12[i] = 0;
237  had1[i] = had2[i] = had12[i] = 0;
238  }
239  edm::LogVerbatim("HFShower") << "HFPMTHitAnalyser::Entry " << event_no << " with " << nHit << " hits";
240  for (int i = 0; i < nHit; i++) {
241  double energy = hits[i].energy();
242  double em = hits[i].energyEM();
243  double had = hits[i].energyHad();
244  double time = hits[i].time();
245  uint32_t id_ = hits[i].id();
246  uint16_t pmtHit = hits[i].depth();
247  uint16_t depthX = pmtHit;
248  edm::LogVerbatim("HFShower") << "HFPMTHitAnalyser::Hit " << i << " ID " << std::hex << id_ << std::dec << " PMT "
249  << pmtHit << " E (e|h|t) " << em << " " << had << " " << energy << " Time " << time;
250 
251  HcalDetId id = HcalDetId(id_);
252  int det = id.det();
253  int subdet = id.subdet();
254  int depth = id.depth();
255  if (pmtHit != 0)
256  pmtHit = 1;
257 
258  if (det == 4) {
259  if (subdet == static_cast<int>(HcalForward)) {
260  h_HFDepHit->Fill(double(depth + 10 * depthX));
261  if (depthX > 0) {
262  int ieta = id.ietaAbs();
263  int iphi = id.iphi();
264  if (depth != 1) {
265  ieta += 50;
266  iphi += 50;
267  }
268  if (depthX <= 3) {
269  h_HFEta[depthX - 1]->Fill(double(ieta));
270  h_HFPhi[depthX - 1]->Fill(double(iphi));
271  }
272  }
273  if (depth == 1) {
274  energy1[pmtHit] += energy;
275  energy12[pmtHit] += energy;
276  em1[pmtHit] += em;
277  em12[pmtHit] += em;
278  had1[pmtHit] += had;
279  had12[pmtHit] += had;
280  energy1[2] += energy;
281  energy12[2] += energy;
282  em1[2] += em;
283  em12[2] += em;
284  had1[2] += had;
285  had12[2] += had;
286  hHF1_time[pmtHit]->Fill(time);
287  hHF1_time[2]->Fill(time);
288  hHF1_time_Ewt[pmtHit]->Fill(time, energy);
289  hHF1_time_Ewt[2]->Fill(time, energy);
290  }
291  if (depth == 2) {
292  energy2[pmtHit] += energy;
293  energy12[pmtHit] += energy;
294  em2[pmtHit] += em;
295  em12[pmtHit] += em;
296  had2[pmtHit] += had;
297  had12[pmtHit] += had;
298  energy2[2] += energy;
299  energy12[2] += energy;
300  em2[2] += em;
301  em12[2] += em;
302  had2[2] += had;
303  had12[2] += had;
304  hHF2_time[pmtHit]->Fill(time);
305  hHF2_time[2]->Fill(time);
306  hHF2_time_Ewt[pmtHit]->Fill(time, energy);
307  hHF2_time_Ewt[2]->Fill(time, energy);
308  }
309  }
310  }
311  }
312  for (int i = 0; i < 3; i++) {
313  hHF_e_1[i]->Fill(energy1[i]);
314  hHF_e_2[i]->Fill(energy2[i]);
315  hHF_e_12[i]->Fill(energy12[i]);
316  hHF_em_1[i]->Fill(em1[i]);
317  hHF_em_2[i]->Fill(em2[i]);
318  hHF_em_12[i]->Fill(em12[i]);
319  hHF_had_1[i]->Fill(had1[i]);
320  hHF_had_2[i]->Fill(had2[i]);
321  hHF_had_12[i]->Fill(had12[i]);
322  edm::LogVerbatim("HFShower") << "HFPMTHitAnalyser:: Type " << i << " Energy 1|2| " << energy1[i] << " "
323  << energy2[i] << " " << energy12[i] << " EM Energy 1|2| " << em1[i] << " " << em2[i]
324  << " " << em12[i] << " Had Energy 1|2| " << had1[i] << " " << had2[i] << " "
325  << had12[i];
326  }
327 }

References TauDecayModes::dec, LEDCalibrationChannels::depth, HCALHighEnergyHPDFilter_cfi::energy, event_no, h_HFDepHit, h_HFEta, h_HFPhi, HcalForward, hHF1_time, hHF1_time_Ewt, hHF2_time, hHF2_time_Ewt, hHF_e_1, hHF_e_12, hHF_e_2, hHF_em_1, hHF_em_12, hHF_em_2, hHF_had_1, hHF_had_12, hHF_had_2, hfClusterShapes_cfi::hits, mps_fire::i, LEDCalibrationChannels::ieta, LEDCalibrationChannels::iphi, and protons_cff::time.

Referenced by analyze().

◆ beginJob()

void HFPMTHitAnalyzer::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 88 of file HFPMTHitAnalyzer.cc.

88  {
89  event_no = 0;
90  char name[20], title[120], sub[11];
91 
93  if (!fs.isAvailable())
94  throw cms::Exception("BadConfig") << "TFileService unavailable: "
95  << "please add it to config file";
96 
97  TFileDirectory HFHitsDir = fs->mkdir("HFPMTHits");
98  h_HFDepHit = HFHitsDir.make<TH1F>("Hit20", "Depths in HF", 50, 0., 50.);
99  h_HFDepHit->GetXaxis()->SetTitle("Depths in HF");
100  for (int i = 0; i < 3; i++) {
101  if (i == 0)
102  sprintf(sub, "(PMT)");
103  else if (i == 1)
104  sprintf(sub, "(Bundle)");
105  else
106  sprintf(sub, "(Jungle)");
107  sprintf(name, "Eta%d", i);
108  sprintf(title, "Eta Index of hits in %s", sub);
109  h_HFEta[i] = HFHitsDir.make<TH1F>(name, title, 100, 0, 100.);
110  h_HFEta[i]->GetXaxis()->SetTitle(title);
111  sprintf(name, "Phi%d", i);
112  sprintf(title, "Phi Index of hits in %s", sub);
113  h_HFPhi[i] = HFHitsDir.make<TH1F>(name, title, 100, 0, 100.);
114  h_HFPhi[i]->GetXaxis()->SetTitle(title);
115  }
116  TFileDirectory HFSourcePart = fs->mkdir("HFMCinfo");
117  hHF_MC_e = HFSourcePart.make<TH1F>("MCEnergy", "Energy of Generated Particle", 1000, 0., 500.);
118  hHF_MC_e->GetXaxis()->SetTitle("Energy of Generated Particle");
119 
120  //energy Histograms
121  TFileDirectory HFPCaloHitEnergyDir = fs->mkdir("HFPCaloHitEnergy");
122  for (int i = 0; i < 3; i++) {
123  if (i == 0)
124  sprintf(sub, "(Absorber)");
125  else if (i == 1)
126  sprintf(sub, "(PMT)");
127  else
128  sprintf(sub, "(All)");
129  sprintf(name, "Energy1%d", i);
130  sprintf(title, "Energy in depth 1 %s", sub);
131  hHF_e_1[i] = HFPCaloHitEnergyDir.make<TH1F>(name, title, 1000, 0., 500.);
132  hHF_e_1[i]->GetXaxis()->SetTitle(title);
133  sprintf(name, "Energy2%d", i);
134  sprintf(title, "Energy in depth 2 %s", sub);
135  hHF_e_2[i] = HFPCaloHitEnergyDir.make<TH1F>(name, title, 1000, 0., 500.);
136  hHF_e_2[i]->GetXaxis()->SetTitle(title);
137  sprintf(name, "Energy12%d", i);
138  sprintf(title, "Energy in depths 1,2 %s", sub);
139  hHF_e_12[i] = HFPCaloHitEnergyDir.make<TH1F>(name, title, 1000, 0., 500.);
140  hHF_e_12[i]->GetXaxis()->SetTitle(title);
141  sprintf(name, "Em1%d", i);
142  sprintf(title, "EM energy in depth 1 %s", sub);
143  hHF_em_1[i] = HFPCaloHitEnergyDir.make<TH1F>(name, title, 1000, 0., 500.);
144  hHF_em_1[i]->GetXaxis()->SetTitle(title);
145  sprintf(name, "Em2%d", i);
146  sprintf(title, "EM energy in depth 2 %s", sub);
147  hHF_em_2[i] = HFPCaloHitEnergyDir.make<TH1F>(name, title, 1000, 0., 500.);
148  hHF_em_2[i]->GetXaxis()->SetTitle(title);
149  sprintf(name, "Em12%d", i);
150  sprintf(title, "EM energy in depths 1,2 %s", sub);
151  hHF_em_12[i] = HFPCaloHitEnergyDir.make<TH1F>(name, title, 1000, 0., 500.);
152  hHF_em_12[i]->GetXaxis()->SetTitle(title);
153  sprintf(name, "Had1%d", i);
154  sprintf(title, "Had energy in depth 1 %s", sub);
155  hHF_had_1[i] = HFPCaloHitEnergyDir.make<TH1F>(name, title, 1000, 0., 0.1);
156  hHF_had_1[i]->GetXaxis()->SetTitle(title);
157  sprintf(name, "Had2%d", i);
158  sprintf(title, "Had energy in depth 2 %s", sub);
159  hHF_had_2[i] = HFPCaloHitEnergyDir.make<TH1F>(name, title, 1000, 0., 0.1);
160  hHF_had_2[i]->GetXaxis()->SetTitle(title);
161  sprintf(name, "Had12%d", i);
162  sprintf(title, "Had energy in depths 1,2 %s", sub);
163  hHF_had_12[i] = HFPCaloHitEnergyDir.make<TH1F>(name, title, 1000, 0., 0.1);
164  hHF_had_12[i]->GetXaxis()->SetTitle(title);
165  }
166 
167  //Timing Histograms
168  TFileDirectory HFPCaloHitTimeDir = fs->mkdir("HFPCaloHitTime");
169  for (int i = 0; i < 3; i++) {
170  if (i == 0)
171  sprintf(sub, "(Absorber)");
172  else if (i == 1)
173  sprintf(sub, "(PMT)");
174  else
175  sprintf(sub, "(All)");
176  sprintf(name, "Time1Ewt%d", i);
177  sprintf(title, "Time (energy weighted) in depth 1 %s", sub);
178  hHF1_time_Ewt[i] = HFPCaloHitTimeDir.make<TH1F>(name, title, 400, 0., 400.);
179  hHF1_time_Ewt[i]->GetXaxis()->SetTitle(title);
180  sprintf(name, "Time2Ewt%d", i);
181  sprintf(title, "Time (energy weighted) in depth 2 %s", sub);
182  hHF2_time_Ewt[i] = HFPCaloHitTimeDir.make<TH1F>(name, title, 400, 0., 400.);
183  hHF2_time_Ewt[i]->GetXaxis()->SetTitle(title);
184  sprintf(name, "Time12Ewt%d", i);
185  sprintf(title, "Time (energy weighted) in depths 1,2 %s", sub);
186  hHF12_time_Ewt[i] = HFPCaloHitTimeDir.make<TH1F>(name, title, 400, 0., 400.);
187  hHF12_time_Ewt[i]->GetXaxis()->SetTitle(title);
188  sprintf(name, "Time1%d", i);
189  sprintf(title, "Time in depth 1 %s", sub);
190  hHF1_time[i] = HFPCaloHitTimeDir.make<TH1F>(name, title, 400, 0., 400.);
191  hHF1_time[i]->GetXaxis()->SetTitle(title);
192  sprintf(name, "Time2%d", i);
193  sprintf(title, "Time in depth 2 %s", sub);
194  hHF2_time[i] = HFPCaloHitTimeDir.make<TH1F>(name, title, 400, 0., 400.);
195  hHF2_time[i]->GetXaxis()->SetTitle(title);
196  sprintf(name, "Time12%d", i);
197  sprintf(title, "Time in depths 1,2 %s", sub);
198  hHF12_time[i] = HFPCaloHitTimeDir.make<TH1F>(name, title, 400, 0., 400.);
199  hHF12_time[i]->GetXaxis()->SetTitle(title);
200  }
201 }

References event_no, h_HFDepHit, h_HFEta, h_HFPhi, hHF12_time, hHF12_time_Ewt, hHF1_time, hHF1_time_Ewt, hHF2_time, hHF2_time_Ewt, hHF_e_1, hHF_e_12, hHF_e_2, hHF_em_1, hHF_em_12, hHF_em_2, hHF_had_1, hHF_had_12, hHF_had_2, hHF_MC_e, mps_fire::i, edm::Service< T >::isAvailable(), TFileDirectory::make(), TFileService::mkdir(), Skims_PA_cff::name, and runGCPTkAlMap::title.

◆ beginRun()

void HFPMTHitAnalyzer::beginRun ( edm::Run const &  ,
edm::EventSetup const &   
)
inlineoverrideprivate

Definition at line 42 of file HFPMTHitAnalyzer.cc.

42 {}

◆ endJob()

void HFPMTHitAnalyzer::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::one::EDAnalyzerBase.

Definition at line 329 of file HFPMTHitAnalyzer.cc.

329 {}

◆ endRun()

void HFPMTHitAnalyzer::endRun ( edm::Run const &  ,
edm::EventSetup const &   
)
inlineoverrideprivate

Definition at line 45 of file HFPMTHitAnalyzer.cc.

45 {}

◆ fillDescriptions()

void HFPMTHitAnalyzer::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 80 of file HFPMTHitAnalyzer.cc.

80  {
82  desc.addUntracked<std::string>("SourceLabel", "generatorSmeared");
83  desc.addUntracked<std::string>("ModuleLabel", "g4SimHits");
84  desc.addUntracked<std::string>("HitCollection", "HcalHits");
85  descriptions.add("HFPMTHitAnalyzer", desc);
86 }

References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, and AlCaHLTBitMon_QueryRunRegistry::string.

Member Data Documentation

◆ event_no

int HFPMTHitAnalyzer::event_no
private

Definition at line 54 of file HFPMTHitAnalyzer.cc.

Referenced by analyze(), analyzeHits(), and beginJob().

◆ g4Label

std::string HFPMTHitAnalyzer::g4Label
private

Definition at line 49 of file HFPMTHitAnalyzer.cc.

Referenced by HFPMTHitAnalyzer().

◆ h_HFDepHit

TH1F* HFPMTHitAnalyzer::h_HFDepHit
private

Definition at line 57 of file HFPMTHitAnalyzer.cc.

Referenced by analyzeHits(), and beginJob().

◆ h_HFEta

TH1F * HFPMTHitAnalyzer::h_HFEta[3]
private

Definition at line 57 of file HFPMTHitAnalyzer.cc.

Referenced by analyzeHits(), and beginJob().

◆ h_HFPhi

TH1F * HFPMTHitAnalyzer::h_HFPhi[3]
private

Definition at line 57 of file HFPMTHitAnalyzer.cc.

Referenced by analyzeHits(), and beginJob().

◆ hcalHits

std::string HFPMTHitAnalyzer::hcalHits
private

Definition at line 49 of file HFPMTHitAnalyzer.cc.

Referenced by HFPMTHitAnalyzer().

◆ hHF12_time

TH1F* HFPMTHitAnalyzer::hHF12_time[3]
private

Definition at line 65 of file HFPMTHitAnalyzer.cc.

Referenced by beginJob().

◆ hHF12_time_Ewt

TH1F * HFPMTHitAnalyzer::hHF12_time_Ewt[3]
private

Definition at line 65 of file HFPMTHitAnalyzer.cc.

Referenced by beginJob().

◆ hHF1_time

TH1F* HFPMTHitAnalyzer::hHF1_time[3]
private

Definition at line 63 of file HFPMTHitAnalyzer.cc.

Referenced by analyzeHits(), and beginJob().

◆ hHF1_time_Ewt

TH1F * HFPMTHitAnalyzer::hHF1_time_Ewt[3]
private

Definition at line 63 of file HFPMTHitAnalyzer.cc.

Referenced by analyzeHits(), and beginJob().

◆ hHF2_time

TH1F* HFPMTHitAnalyzer::hHF2_time[3]
private

Definition at line 64 of file HFPMTHitAnalyzer.cc.

Referenced by analyzeHits(), and beginJob().

◆ hHF2_time_Ewt

TH1F * HFPMTHitAnalyzer::hHF2_time_Ewt[3]
private

Definition at line 64 of file HFPMTHitAnalyzer.cc.

Referenced by analyzeHits(), and beginJob().

◆ hHF_e_1

TH1F* HFPMTHitAnalyzer::hHF_e_1[3]
private

Definition at line 59 of file HFPMTHitAnalyzer.cc.

Referenced by analyzeHits(), and beginJob().

◆ hHF_e_12

TH1F* HFPMTHitAnalyzer::hHF_e_12[3]
private

Definition at line 61 of file HFPMTHitAnalyzer.cc.

Referenced by analyzeHits(), and beginJob().

◆ hHF_e_2

TH1F* HFPMTHitAnalyzer::hHF_e_2[3]
private

Definition at line 60 of file HFPMTHitAnalyzer.cc.

Referenced by analyzeHits(), and beginJob().

◆ hHF_em_1

TH1F * HFPMTHitAnalyzer::hHF_em_1[3]
private

Definition at line 59 of file HFPMTHitAnalyzer.cc.

Referenced by analyzeHits(), and beginJob().

◆ hHF_em_12

TH1F * HFPMTHitAnalyzer::hHF_em_12[3]
private

Definition at line 61 of file HFPMTHitAnalyzer.cc.

Referenced by analyzeHits(), and beginJob().

◆ hHF_em_2

TH1F * HFPMTHitAnalyzer::hHF_em_2[3]
private

Definition at line 60 of file HFPMTHitAnalyzer.cc.

Referenced by analyzeHits(), and beginJob().

◆ hHF_had_1

TH1F * HFPMTHitAnalyzer::hHF_had_1[3]
private

Definition at line 59 of file HFPMTHitAnalyzer.cc.

Referenced by analyzeHits(), and beginJob().

◆ hHF_had_12

TH1F * HFPMTHitAnalyzer::hHF_had_12[3]
private

Definition at line 61 of file HFPMTHitAnalyzer.cc.

Referenced by analyzeHits(), and beginJob().

◆ hHF_had_2

TH1F * HFPMTHitAnalyzer::hHF_had_2[3]
private

Definition at line 60 of file HFPMTHitAnalyzer.cc.

Referenced by analyzeHits(), and beginJob().

◆ hHF_MC_e

TH1F * HFPMTHitAnalyzer::hHF_MC_e
private

Definition at line 57 of file HFPMTHitAnalyzer.cc.

Referenced by analyze(), and beginJob().

◆ tok_calo_

edm::EDGetTokenT<edm::PCaloHitContainer> HFPMTHitAnalyzer::tok_calo_
private

Definition at line 51 of file HFPMTHitAnalyzer.cc.

Referenced by analyze(), and HFPMTHitAnalyzer().

◆ tok_evt_

edm::EDGetTokenT<edm::HepMCProduct> HFPMTHitAnalyzer::tok_evt_
private

Definition at line 50 of file HFPMTHitAnalyzer.cc.

Referenced by analyze(), and HFPMTHitAnalyzer().

◆ tok_track_

edm::EDGetTokenT<edm::SimTrackContainer> HFPMTHitAnalyzer::tok_track_
private

Definition at line 52 of file HFPMTHitAnalyzer.cc.

Referenced by analyze(), and HFPMTHitAnalyzer().

HFPMTHitAnalyzer::hHF_had_1
TH1F * hHF_had_1[3]
Definition: HFPMTHitAnalyzer.cc:59
runGCPTkAlMap.title
string title
Definition: runGCPTkAlMap.py:94
mps_fire.i
i
Definition: mps_fire.py:428
hfClusterShapes_cfi.hits
hits
Definition: hfClusterShapes_cfi.py:5
HFPMTHitAnalyzer::hHF2_time
TH1F * hHF2_time[3]
Definition: HFPMTHitAnalyzer.cc:64
gather_cfg.cout
cout
Definition: gather_cfg.py:144
HFPMTHitAnalyzer::hHF_e_12
TH1F * hHF_e_12[3]
Definition: HFPMTHitAnalyzer.cc:61
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
HFPMTHitAnalyzer::event_no
int event_no
Definition: HFPMTHitAnalyzer.cc:54
HFPMTHitAnalyzer::hHF1_time_Ewt
TH1F * hHF1_time_Ewt[3]
Definition: HFPMTHitAnalyzer.cc:63
protons_cff.time
time
Definition: protons_cff.py:35
TrackCandidateProducer_cfi.simTracks
simTracks
Definition: TrackCandidateProducer_cfi.py:15
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
TFileDirectory
Definition: TFileDirectory.h:24
HFPMTHitAnalyzer::hcalHits
std::string hcalHits
Definition: HFPMTHitAnalyzer.cc:49
HFPMTHitAnalyzer::hHF_had_2
TH1F * hHF_had_2[3]
Definition: HFPMTHitAnalyzer.cc:60
edm::Handle
Definition: AssociativeIterator.h:50
edm::Service::isAvailable
bool isAvailable() const
Definition: Service.h:40
HFPMTHitAnalyzer::tok_calo_
edm::EDGetTokenT< edm::PCaloHitContainer > tok_calo_
Definition: HFPMTHitAnalyzer.cc:51
HepMC::GenEvent
Definition: hepmc_rootio.cc:9
LEDCalibrationChannels.iphi
iphi
Definition: LEDCalibrationChannels.py:64
HFPMTHitAnalyzer::h_HFEta
TH1F * h_HFEta[3]
Definition: HFPMTHitAnalyzer.cc:57
HFPMTHitAnalyzer::hHF12_time_Ewt
TH1F * hHF12_time_Ewt[3]
Definition: HFPMTHitAnalyzer.cc:65
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
HFPMTHitAnalyzer::tok_track_
edm::EDGetTokenT< edm::SimTrackContainer > tok_track_
Definition: HFPMTHitAnalyzer.cc:52
HCALHighEnergyHPDFilter_cfi.energy
energy
Definition: HCALHighEnergyHPDFilter_cfi.py:5
LEDCalibrationChannels.depth
depth
Definition: LEDCalibrationChannels.py:65
TFileService::mkdir
TFileDirectory mkdir(const std::string &dir, const std::string &descr="")
create a new subdirectory
Definition: TFileService.h:69
LEDCalibrationChannels.ieta
ieta
Definition: LEDCalibrationChannels.py:63
HFPMTHitAnalyzer::hHF1_time
TH1F * hHF1_time[3]
Definition: HFPMTHitAnalyzer.cc:63
HFPMTHitAnalyzer::h_HFDepHit
TH1F * h_HFDepHit
Definition: HFPMTHitAnalyzer.cc:57
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
HFPMTHitAnalyzer::hHF2_time_Ewt
TH1F * hHF2_time_Ewt[3]
Definition: HFPMTHitAnalyzer.cc:64
HcalDetId
Definition: HcalDetId.h:12
edm::Service< TFileService >
iEvent
int iEvent
Definition: GenABIO.cc:224
gather_cfg.Tracks
Tracks
Definition: gather_cfg.py:251
HFPMTHitAnalyzer::hHF_had_12
TH1F * hHF_had_12[3]
Definition: HFPMTHitAnalyzer.cc:61
HFPMTHitAnalyzer::analyzeHits
void analyzeHits(std::vector< PCaloHit > &, const std::vector< SimTrack > &)
Definition: HFPMTHitAnalyzer.cc:230
edm::HepMCProduct::GetEvent
const HepMC::GenEvent * GetEvent() const
Definition: HepMCProduct.h:37
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HFPMTHitAnalyzer::hHF_em_2
TH1F * hHF_em_2[3]
Definition: HFPMTHitAnalyzer.cc:60
HcalForward
Definition: HcalAssistant.h:36
HFPMTHitAnalyzer::hHF_em_12
TH1F * hHF_em_12[3]
Definition: HFPMTHitAnalyzer.cc:61
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
HFPMTHitAnalyzer::g4Label
std::string g4Label
Definition: HFPMTHitAnalyzer.cc:49
HFPMTHitAnalyzer::h_HFPhi
TH1F * h_HFPhi[3]
Definition: HFPMTHitAnalyzer.cc:57
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
TFileService::kSharedResource
static const std::string kSharedResource
Definition: TFileService.h:76
HFPMTHitAnalyzer::hHF_em_1
TH1F * hHF_em_1[3]
Definition: HFPMTHitAnalyzer.cc:59
TFileDirectory::make
T * make(const Args &...args) const
make new ROOT object
Definition: TFileDirectory.h:53
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
HFPMTHitAnalyzer::hHF_e_1
TH1F * hHF_e_1[3]
Definition: HFPMTHitAnalyzer.cc:59
cms::Exception
Definition: Exception.h:70
HFPMTHitAnalyzer::tok_evt_
edm::EDGetTokenT< edm::HepMCProduct > tok_evt_
Definition: HFPMTHitAnalyzer.cc:50
TauDecayModes.dec
dec
Definition: TauDecayModes.py:142
edm::InputTag
Definition: InputTag.h:15
HFPMTHitAnalyzer::hHF12_time
TH1F * hHF12_time[3]
Definition: HFPMTHitAnalyzer.cc:65
HFPMTHitAnalyzer::hHF_MC_e
TH1F * hHF_MC_e
Definition: HFPMTHitAnalyzer.cc:57
HFPMTHitAnalyzer::hHF_e_2
TH1F * hHF_e_2[3]
Definition: HFPMTHitAnalyzer.cc:60