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 Attributes
HcalTB04Histo Class Reference

#include <SimG4CMS/HcalTestBeam/interface/HcalTB04Histo.h>

Public Member Functions

void fillEdep (double etots, double eecals, double ehcals, double etotq, double eecalq, double ehcalq)
 
void fillLongProf (const std::vector< double > &es, const std::vector< double > &eq)
 
void fillPrimary (double energy, double eta, double phi)
 
void fillTrnsProf (const std::vector< double > &es1, const std::vector< double > &eq1, const std::vector< double > &es2, const std::vector< double > &eq2)
 
 HcalTB04Histo (const edm::ParameterSet &ps)
 
virtual ~HcalTB04Histo ()
 

Private Attributes

TH1D * edecQ
 
TH1D * edecS
 
TH2D * edehQ
 
TH2D * edehS
 
TH1D * edepQ
 
TH1D * edepS
 
TH1D * edhcQ
 
TH1D * edhcS
 
double eHcalMax
 
double eTotMax
 
TH1D * iEta
 
TH1D * iniE
 
TH1D * iPhi
 
TProfile * latqe
 
TProfile * latqf
 
TProfile * latse
 
TProfile * latsf
 
TProfile * lngq
 
TProfile * lngs
 
bool verbose
 

Detailed Description

Description: Histogram handling for Hcal Test Beam 2004 studies

Usage: Sets up histograms and stores in a file

Definition at line 31 of file HcalTB04Histo.h.

Constructor & Destructor Documentation

HcalTB04Histo::HcalTB04Histo ( const edm::ParameterSet ps)

Definition at line 25 of file HcalTB04Histo.cc.

References edecQ, edecS, edehQ, edehS, edepQ, edepS, edhcQ, edhcS, edm::ParameterSet::getUntrackedParameter(), iEta, iniE, iPhi, edm::Service< T >::isAvailable(), latqe, latqf, latse, latsf, lngq, lngs, and TFileService::make().

25  :
26  iniE(0), iEta(0), iPhi(0), edepS(0), edecS(0), edhcS(0), edepQ(0),
27  edecQ(0), edhcQ(0), edehS(0), edehQ(0), latse(0), latqe(0), latsf(0),
28  latqf(0), lngs(0), lngq(0) {
29 
30  verbose = ps.getUntrackedParameter<bool>("Verbose", false);
31  double em1 = ps.getUntrackedParameter<double>("ETtotMax", 400.);
32  double em2 = ps.getUntrackedParameter<double>("EHCalMax", 4.0);
33 
34  // Book histograms
36 
37  if ( !tfile.isAvailable() )
38  throw cms::Exception("BadConfig") << "TFileService unavailable: "
39  << "please add it to config file";
40  iniE = tfile->make<TH1D>("iniE", "Incident Energy (GeV)", 4000, 0., em1);
41  iEta = tfile->make<TH1D>("iEta", "Eta at incidence ", 300, 0., 3.);
42  iPhi = tfile->make<TH1D>("iPhi", "Phi at incidence ", 300, -1., 1.);
43  edepS= tfile->make<TH1D>("edepS", "Energy deposit == Total (Simhit)",4000, 0., em1);
44  edecS= tfile->make<TH1D>("edecS", "Energy deposit == ECal (Simhit)",4000, 0., em1);
45  edhcS= tfile->make<TH1D>("edhcS", "Energy deposit == HCal (Simhit)",4000, 0., em2);
46  edepQ= tfile->make<TH1D>("edepQ", "Energy deposit == Total (QIE)", 4000, 0., em1);
47  edecQ= tfile->make<TH1D>("edecQ", "Energy deposit == ECal (QIE)", 4000, 0., em1);
48  edhcQ= tfile->make<TH1D>("edhcQ", "Energy deposit == HCal (QIE)", 4000, 0., em2);
49  edehS= tfile->make<TH2D>("edehS", "Hcal vs Ecal (Simhit)", 100,0.,em1, 100, 0.,em2);
50  edehQ= tfile->make<TH2D>("edehQ", "Hcal vs Ecal (QIE)", 100,0.,em1, 100, 0.,em2);
51  latse= tfile->make<TProfile>("latse","Lat Prof (Eta Sim)",10,0.,10.);
52  latqe= tfile->make<TProfile>("latqe","Lat Prof (Eta QIE)",10,0.,10.);
53  latsf= tfile->make<TProfile>("latsf","Lat Prof (Phi Sim)",10,0.,10.);
54  latqf= tfile->make<TProfile>("latqf","Lat Prof (Phi QIE)",10,0.,10.);
55  lngs = tfile->make<TProfile>("lngs", "Long. Prof (Sim)", 20,0.,20.);
56  lngq = tfile->make<TProfile>("lngq", "Long. Prof (QIE)", 20,0.,20.);
57 }
T getUntrackedParameter(std::string const &, T const &) const
TProfile * lngq
Definition: HcalTB04Histo.h:56
T * make(const Args &...args) const
make new ROOT object
Definition: TFileService.h:64
TProfile * lngs
Definition: HcalTB04Histo.h:56
TProfile * latse
Definition: HcalTB04Histo.h:56
TProfile * latqf
Definition: HcalTB04Histo.h:56
bool isAvailable() const
Definition: Service.h:46
TProfile * latsf
Definition: HcalTB04Histo.h:56
TProfile * latqe
Definition: HcalTB04Histo.h:56
HcalTB04Histo::~HcalTB04Histo ( )
virtual

Definition at line 59 of file HcalTB04Histo.cc.

59 {}

Member Function Documentation

void HcalTB04Histo::fillEdep ( double  etots,
double  eecals,
double  ehcals,
double  etotq,
double  eecalq,
double  ehcalq 
)

Definition at line 74 of file HcalTB04Histo.cc.

References edecQ, edecS, edehQ, edehS, edepQ, edepS, edhcQ, edhcS, and LogDebug.

Referenced by HcalTB04Analysis::finalAnalysis().

75  {
76 
77  LogDebug("HcalTBSim") << "HcalTB04Histo:::fillEdep: Simulated Total "
78  << etots << " ECal " << eecals << " HCal " << ehcals
79  << " Digitised Total " << etotq << " ECal " << eecalq
80  << " HCal " << ehcalq;
81  edepS->Fill(etots);
82  edecS->Fill(eecals);
83  edhcS->Fill(ehcals);
84  edepQ->Fill(etotq);
85  edecQ->Fill(eecalq);
86  edhcQ->Fill(ehcalq);
87  edehS->Fill(eecals, ehcals);
88  edehQ->Fill(eecalq, ehcalq);
89 }
#define LogDebug(id)
void HcalTB04Histo::fillLongProf ( const std::vector< double > &  es,
const std::vector< double > &  eq 
)

Definition at line 121 of file HcalTB04Histo.cc.

References i, lngq, lngs, LogDebug, min(), and gen::n.

Referenced by HcalTB04Analysis::finalAnalysis().

122  {
123 
124  unsigned int n = std::min(es.size(),eq.size());
125  for (unsigned int i = 0; i < n; i++)
126  LogDebug("HcalTBSim") << "HcalTB04Histo::fillLongProf [" << i
127  << "] Sim " << es[i] << " Dig " << eq[i];
128  for (unsigned int i=0; i<(es.size()); i++) {
129  double lay = i+0.5;
130  lngs->Fill(lay, es[i]);
131  }
132  for (unsigned int i=0; i<(eq.size()); i++) {
133  double lay = i+0.5;
134  lngq->Fill(lay, eq[i]);
135  }
136 }
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
TProfile * lngq
Definition: HcalTB04Histo.h:56
TProfile * lngs
Definition: HcalTB04Histo.h:56
T min(T a, T b)
Definition: MathUtil.h:58
void HcalTB04Histo::fillPrimary ( double  energy,
double  eta,
double  phi 
)

Definition at line 65 of file HcalTB04Histo.cc.

References iEta, iniE, iPhi, LogDebug, and phi.

Referenced by HcalTB04Analysis::finalAnalysis().

65  {
66 
67  LogDebug("HcalTBSim") << "HcalTB04Histo::fillPrimary: Energy "
68  << energy << " Eta " << eta << " Phi " << phi;
69  iniE->Fill(energy);
70  iEta->Fill(eta);
71  iPhi->Fill(phi);
72 }
#define LogDebug(id)
void HcalTB04Histo::fillTrnsProf ( const std::vector< double > &  es1,
const std::vector< double > &  eq1,
const std::vector< double > &  es2,
const std::vector< double > &  eq2 
)

Definition at line 91 of file HcalTB04Histo.cc.

References i, latqe, latqf, latse, latsf, LogDebug, min(), and gen::n.

Referenced by HcalTB04Analysis::finalAnalysis().

94  {
95 
96  unsigned int n1 = std::min(es1.size(),eq1.size());
97  unsigned int n2 = std::min(es2.size(),eq2.size());
98  unsigned int n = std::min(n1,n2);
99  for (unsigned int i = 0; i < n; i++)
100  LogDebug("HcalTBSim") << "HcalTB04Histo::fillTrnsProf [" << i
101  << "] SimEta " << es1[i] << " DigEta " << eq1[i]
102  << " SimPhi " << es2[i] << " DigPhi " << eq2[i];
103  for (unsigned int i=0; i<(es1.size()); i++) {
104  double tow = i+0.5;
105  latse->Fill(tow, es1[i]);
106  }
107  for (unsigned int i=0; i<(eq1.size()); i++) {
108  double tow = i+0.5;
109  latqe->Fill(tow, eq1[i]);
110  }
111  for (unsigned int i=0; i<(es2.size()); i++) {
112  double tow = i+0.5;
113  latsf->Fill(tow, es2[i]);
114  }
115  for (unsigned int i=0; i<(eq2.size()); i++) {
116  double tow = i+0.5;
117  latqf->Fill(tow, eq2[i]);
118  }
119 }
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
TProfile * latse
Definition: HcalTB04Histo.h:56
TProfile * latqf
Definition: HcalTB04Histo.h:56
T min(T a, T b)
Definition: MathUtil.h:58
TProfile * latsf
Definition: HcalTB04Histo.h:56
TProfile * latqe
Definition: HcalTB04Histo.h:56

Member Data Documentation

TH1D * HcalTB04Histo::edecQ
private

Definition at line 54 of file HcalTB04Histo.h.

Referenced by fillEdep(), and HcalTB04Histo().

TH1D * HcalTB04Histo::edecS
private

Definition at line 54 of file HcalTB04Histo.h.

Referenced by fillEdep(), and HcalTB04Histo().

TH2D * HcalTB04Histo::edehQ
private

Definition at line 55 of file HcalTB04Histo.h.

Referenced by fillEdep(), and HcalTB04Histo().

TH2D* HcalTB04Histo::edehS
private

Definition at line 55 of file HcalTB04Histo.h.

Referenced by fillEdep(), and HcalTB04Histo().

TH1D * HcalTB04Histo::edepQ
private

Definition at line 54 of file HcalTB04Histo.h.

Referenced by fillEdep(), and HcalTB04Histo().

TH1D* HcalTB04Histo::edepS
private

Definition at line 54 of file HcalTB04Histo.h.

Referenced by fillEdep(), and HcalTB04Histo().

TH1D * HcalTB04Histo::edhcQ
private

Definition at line 54 of file HcalTB04Histo.h.

Referenced by fillEdep(), and HcalTB04Histo().

TH1D * HcalTB04Histo::edhcS
private

Definition at line 54 of file HcalTB04Histo.h.

Referenced by fillEdep(), and HcalTB04Histo().

double HcalTB04Histo::eHcalMax
private

Definition at line 51 of file HcalTB04Histo.h.

double HcalTB04Histo::eTotMax
private

Definition at line 51 of file HcalTB04Histo.h.

TH1D * HcalTB04Histo::iEta
private

Definition at line 53 of file HcalTB04Histo.h.

Referenced by fillPrimary(), and HcalTB04Histo().

TH1D* HcalTB04Histo::iniE
private

Definition at line 53 of file HcalTB04Histo.h.

Referenced by fillPrimary(), and HcalTB04Histo().

TH1D * HcalTB04Histo::iPhi
private

Definition at line 53 of file HcalTB04Histo.h.

Referenced by fillPrimary(), and HcalTB04Histo().

TProfile * HcalTB04Histo::latqe
private

Definition at line 56 of file HcalTB04Histo.h.

Referenced by fillTrnsProf(), and HcalTB04Histo().

TProfile * HcalTB04Histo::latqf
private

Definition at line 56 of file HcalTB04Histo.h.

Referenced by fillTrnsProf(), and HcalTB04Histo().

TProfile* HcalTB04Histo::latse
private

Definition at line 56 of file HcalTB04Histo.h.

Referenced by fillTrnsProf(), and HcalTB04Histo().

TProfile * HcalTB04Histo::latsf
private

Definition at line 56 of file HcalTB04Histo.h.

Referenced by fillTrnsProf(), and HcalTB04Histo().

TProfile * HcalTB04Histo::lngq
private

Definition at line 56 of file HcalTB04Histo.h.

Referenced by fillLongProf(), and HcalTB04Histo().

TProfile * HcalTB04Histo::lngs
private

Definition at line 56 of file HcalTB04Histo.h.

Referenced by fillLongProf(), and HcalTB04Histo().

bool HcalTB04Histo::verbose
private

Definition at line 50 of file HcalTB04Histo.h.