CMS 3D CMS Logo

ZdcSimHitStudy.h
Go to the documentation of this file.
1 // Package: ZdcSimHitStudy
3 // Class: ZdcSimHitStudy
4 //
5 /*
6  Description:
7  This code has been developed to be a check for the ZDC sim. In 2009, it was found that the ZDC Simulation was unrealistic and needed repair. The aim of this code is to show the user the input and output of a ZDC MinBias simulation.
8 
9  Implementation:
10  First a MinBias simulation should be run, it could be pythia,hijin,or hydjet. This will output a .root file which should have information about recoGenParticles, hcalunsuppresseddigis, and g4SimHits_ZDCHits. Use this .root file as the input into the cfg.py which is found in the main directory of this package. This output will be another .root file which is meant to be viewed in a TBrowser.
11 
12 */
13 //
14 // Original Author: Jaime Gomez (U. of Maryland) with SIGNIFICANT assistance of Dr. Jefferey Temple (U. of Maryland)
15 // Adapted from: E. Garcia-Solis' (CSU) original code
16 //
17 // Created: Summer 2012
19 
20 
21 
22 #ifndef SimG4CMS_ZdcSimHitStudy_H
23 #define SimG4CMS_ZdcSimHitStudy_H
24 
31 
34 
37 
40 
43 
44 
45 #include <iostream>
46 #include <fstream>
47 #include <vector>
48 #include <map>
49 #include <string>
50 #include <memory>
51 
53 public:
54 
56  ~ZdcSimHitStudy() override;
57 
58 protected:
59 
60  void endRun(const edm::Run& run, const edm::EventSetup& c) override;
61  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
62 
63  void analyze (const edm::Event& e, const edm::EventSetup& c) override;
64  void analyzeHits (std::vector<PCaloHit> &);
65  int FillHitValHist (int side,int section,int channel,double energy,double time);
66 
67 private:
70  double enetot;
71 
73  //# Below all the monitoring elements #
74  //# are simply the plots "code names" #
75  //# they will be filled in the .cc file #
77 
78 
79 
84 
103 
105 
120 
121 
122  //N counts plots
129 };
130 
131 #endif
MonitorElement * meZdcEneTHadP3_
MonitorElement * meZdcEnergyHit_
MonitorElement * meZdcEneTEmN1_
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
MonitorElement * genpart_NeutB
void analyzeHits(std::vector< PCaloHit > &)
MonitorElement * genpart_Pi0F
MonitorElement * meZdcEneTEmP1_
MonitorElement * meZdcHadL10EneP_
MonitorElement * meZdcEneEmP3_
MonitorElement * meZdcEneEmPTot_
MonitorElement * meZdcEneEmN1_
MonitorElement * meZdcEneTEmP4_
MonitorElement * meZdcEneHadN1_
MonitorElement * meZdcCorEEmNEHadN_
void endRun(const edm::Run &run, const edm::EventSetup &c) override
MonitorElement * meZdcEneEmN4_
MonitorElement * meZdcEneTHadN4_
MonitorElement * meZdcEneEmN5_
std::string outFile_
MonitorElement * meAllZdcNHit_
MonitorElement * genpart_Pi0F_energydist
MonitorElement * meZdcEneTEmN2_
MonitorElement * meZdcEneHadN4_
MonitorElement * genpart_GammaF_counts
MonitorElement * genpart_NeutF
MonitorElement * meZdcEneTHadN2_
MonitorElement * genpart_Pi0B
MonitorElement * meZdcEneEmNTot_
MonitorElement * meZdcChannelHit_
MonitorElement * meZdcEneEmP2_
MonitorElement * meZdcEneHadP1_
MonitorElement * meZdcEML10EneP_
MonitorElement * meZdcEneTEmN5_
MonitorElement * meZdcEneEmN3_
MonitorElement * meZdcNHitHad_
MonitorElement * genpart_Pi0B_counts
MonitorElement * meBadZdcDetHit_
ZdcSimHitStudy(const edm::ParameterSet &ps)
MonitorElement * genpart_GammaB_energydist
MonitorElement * meZdcEneTEmP5_
MonitorElement * genpart_Pi0F_counts
edm::EDGetTokenT< edm::PCaloHitContainer > tok_hits_
MonitorElement * meZdcEnePTot_
MonitorElement * meZdcEneTEmN4_
MonitorElement * meZdcCorEEmPEHadP_
MonitorElement * meZdcEneTHadP2_
MonitorElement * genpart_GammaF_energydist
MonitorElement * meZdcSideHit_
MonitorElement * meZdcEneHadN3_
MonitorElement * meZdcEneEmN2_
MonitorElement * meZdcEneTHadN1_
MonitorElement * meZdcEneTEmP3_
MonitorElement * genpart_NeutF_energydist
MonitorElement * meZdcDetectHit_
MonitorElement * meZdc10Ene_
edm::EDGetTokenT< reco::GenParticleCollection > tok_gen_
MonitorElement * meZdcEneHadP4_
std::string zdcHits
int FillHitValHist(int side, int section, int channel, double energy, double time)
MonitorElement * meZdcEneTot_
MonitorElement * meZdcEneHadP3_
MonitorElement * genpart_GammaF
MonitorElement * meZdcEneTEmN3_
MonitorElement * meBadZdcSecHit_
MonitorElement * meZdcEneTHadP1_
MonitorElement * genpart_GammaB
MonitorElement * meZdcNHit_
MonitorElement * meZdcTimeHit_
MonitorElement * meBadZdcIdHit_
MonitorElement * meZdcEneTHadP4_
std::string g4Label
MonitorElement * meZdcEneHadNTot_
MonitorElement * genpart_NeutB_energydist
MonitorElement * meZdcCorEtotNEtotP_
MonitorElement * genpart_NeutF_counts
MonitorElement * meZdcEneHadP2_
MonitorElement * meZdcEneEmP4_
MonitorElement * meZdcHadEnergyHit_
MonitorElement * genpart_Pi0B_energydist
MonitorElement * meZdcEneEmP5_
void analyze(const edm::Event &e, const edm::EventSetup &c) override
MonitorElement * meZdcEneTEmP2_
MonitorElement * genpart_GammaB_counts
MonitorElement * meZdcSectionHit_
MonitorElement * meZdcEneNTot_
MonitorElement * meZdcEneHadN2_
MonitorElement * meZdcEneHadPTot_
MonitorElement * meZdcEEMCh_
MonitorElement * genpart_NeutB_counts
MonitorElement * meZdcEneEmP1_
MonitorElement * meZdc10EneP_
MonitorElement * meZdcNHitEM_
MonitorElement * meZdcEneTHadN3_
MonitorElement * meZdcTimeWHit_
MonitorElement * meZdcEHadCh_
MonitorElement * meZdcETime_
Definition: Run.h:44
MonitorElement * meZdcEMEnergyHit_
MonitorElement * meZdcNHitLum_
~ZdcSimHitStudy() override