CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1TGCTClient.cc
Go to the documentation of this file.
2 
11 
12 using namespace edm;
13 using namespace std;
14 
15 // Define statics for bins etc.
16 const unsigned int ETABINS = 22;
17 const float ETAMIN = -0.5;
18 const float ETAMAX = 21.5;
19 
20 const unsigned int PHIBINS = 18;
21 const float PHIMIN = -0.5;
22 const float PHIMAX = 17.5;
23 
25  monitorDir_(ps.getUntrackedParameter<string>("monitorDir","")),
26  counterLS_(0),
27  counterEvt_(0),
28  prescaleLS_(ps.getUntrackedParameter<int>("prescaleLS", -1)),
29  prescaleEvt_(ps.getUntrackedParameter<int>("prescaleEvt", -1))
30 {
31 }
32 
34 
36 {
37  // Get backendinterface
39 
40  // Set to directory with ME in
42 
43  l1GctIsoEmOccEta_ = dbe_->book1D("IsoEmOccEta","ISO EM #eta OCCUPANCY", ETABINS, ETAMIN, ETAMAX);
44  l1GctIsoEmOccPhi_ = dbe_->book1D("IsoEmOccPhi","ISO EM #phi OCCUPANCY", PHIBINS, PHIMIN, PHIMAX);
45  l1GctNonIsoEmOccEta_ = dbe_->book1D("NonIsoEmOccEta","NON-ISO EM #eta OCCUPANCY", ETABINS, ETAMIN, ETAMAX);
46  l1GctNonIsoEmOccPhi_ = dbe_->book1D("NonIsoEmOccPhi","NON-ISO EM #phi OCCUPANCY", PHIBINS, PHIMIN, PHIMAX);
47  l1GctAllJetsOccEta_ = dbe_->book1D("AllJetsOccEta","CENTRAL AND FORWARD JET #eta OCCUPANCY", ETABINS, ETAMIN, ETAMAX);
48  l1GctAllJetsOccPhi_ = dbe_->book1D("AllJetsOccPhi","CENTRAL AND FORWARD JET #phi OCCUPANCY", PHIBINS, PHIMIN, PHIMAX);
49  l1GctCenJetsOccEta_ = dbe_->book1D("CenJetsOccEta","CENTRAL JET #eta OCCUPANCY", ETABINS, ETAMIN, ETAMAX);
50  l1GctCenJetsOccPhi_ = dbe_->book1D("CenJetsOccPhi","CENTRAL JET #phi OCCUPANCY", PHIBINS, PHIMIN, PHIMAX);
51  l1GctForJetsOccEta_ = dbe_->book1D("ForJetsOccEta","FORWARD JET #eta OCCUPANCY", ETABINS, ETAMIN, ETAMAX);
52  l1GctForJetsOccPhi_ = dbe_->book1D("ForJetsOccPhi","FORWARD JET #phi OCCUPANCY", PHIBINS, PHIMIN, PHIMAX);
53  l1GctTauJetsOccEta_ = dbe_->book1D("TauJetsOccEta","TAU JET #eta OCCUPANCY", ETABINS, ETAMIN, ETAMAX);
54  l1GctTauJetsOccPhi_ = dbe_->book1D("TauJetsOccPhi","TAU JET #phi OCCUPANCY", PHIBINS, PHIMIN, PHIMAX);
55 }
56 
57 void L1TGCTClient::beginRun(const Run& r, const EventSetup& context) {}
58 
59 void L1TGCTClient::beginLuminosityBlock(const LuminosityBlock& lumiSeg, const EventSetup& context) {}
60 
62 {
63  if (dbe_->get("L1T/L1TGCT/IsoEmOccEtaPhi")!=NULL){
64  makeXProjection(dbe_->get("L1T/L1TGCT/IsoEmOccEtaPhi")->getTH2F(),l1GctIsoEmOccEta_);
65  makeYProjection(dbe_->get("L1T/L1TGCT/IsoEmOccEtaPhi")->getTH2F(),l1GctIsoEmOccPhi_);
66  }
67 
68  if (dbe_->get("L1T/L1TGCT/NonIsoEmOccEtaPhi")!=NULL){
69  makeXProjection(dbe_->get("L1T/L1TGCT/NonIsoEmOccEtaPhi")->getTH2F(),l1GctNonIsoEmOccEta_);
70  makeYProjection(dbe_->get("L1T/L1TGCT/NonIsoEmOccEtaPhi")->getTH2F(),l1GctNonIsoEmOccPhi_);
71  }
72 
73  if (dbe_->get("L1T/L1TGCT/AllJetsOccEtaPhi")!=NULL){
74  makeXProjection(dbe_->get("L1T/L1TGCT/AllJetsOccEtaPhi")->getTH2F(),l1GctAllJetsOccEta_);
75  makeYProjection(dbe_->get("L1T/L1TGCT/AllJetsOccEtaPhi")->getTH2F(),l1GctAllJetsOccPhi_);
76  }
77 
78  if (dbe_->get("L1T/L1TGCT/CenJetsOccEtaPhi")!=NULL){
79  makeXProjection(dbe_->get("L1T/L1TGCT/CenJetsOccEtaPhi")->getTH2F(),l1GctCenJetsOccEta_);
80  makeYProjection(dbe_->get("L1T/L1TGCT/CenJetsOccEtaPhi")->getTH2F(),l1GctCenJetsOccPhi_);
81  }
82 
83  if (dbe_->get("L1T/L1TGCT/ForJetsOccEtaPhi")!=NULL){
84  makeXProjection(dbe_->get("L1T/L1TGCT/ForJetsOccEtaPhi")->getTH2F(),l1GctForJetsOccEta_);
85  makeYProjection(dbe_->get("L1T/L1TGCT/ForJetsOccEtaPhi")->getTH2F(),l1GctForJetsOccPhi_);
86  }
87 
88  if (dbe_->get("L1T/L1TGCT/TauJetsOccEtaPhi")!=NULL){
89  makeXProjection(dbe_->get("L1T/L1TGCT/TauJetsOccEtaPhi")->getTH2F(),l1GctTauJetsOccEta_);
90  makeYProjection(dbe_->get("L1T/L1TGCT/TauJetsOccEtaPhi")->getTH2F(),l1GctTauJetsOccPhi_);
91  }
92 }
93 
94 void L1TGCTClient::analyze(const Event& e, const EventSetup& context){}
95 
96 void L1TGCTClient::endRun(const Run& r, const EventSetup& context)
97 {
98  if (dbe_->get("L1T/L1TGCT/IsoEmOccEtaPhi")!=NULL){
99  makeXProjection(dbe_->get("L1T/L1TGCT/IsoEmOccEtaPhi")->getTH2F(),l1GctIsoEmOccEta_);
100  makeYProjection(dbe_->get("L1T/L1TGCT/IsoEmOccEtaPhi")->getTH2F(),l1GctIsoEmOccPhi_);
101  }
102 
103  if (dbe_->get("L1T/L1TGCT/NonIsoEmOccEtaPhi")!=NULL){
104  makeXProjection(dbe_->get("L1T/L1TGCT/NonIsoEmOccEtaPhi")->getTH2F(),l1GctNonIsoEmOccEta_);
105  makeYProjection(dbe_->get("L1T/L1TGCT/NonIsoEmOccEtaPhi")->getTH2F(),l1GctNonIsoEmOccPhi_);
106  }
107 
108  if (dbe_->get("L1T/L1TGCT/AllJetsOccEtaPhi")!=NULL){
109  makeXProjection(dbe_->get("L1T/L1TGCT/AllJetsOccEtaPhi")->getTH2F(),l1GctAllJetsOccEta_);
110  makeYProjection(dbe_->get("L1T/L1TGCT/AllJetsOccEtaPhi")->getTH2F(),l1GctAllJetsOccPhi_);
111  }
112 
113  if (dbe_->get("L1T/L1TGCT/CenJetsOccEtaPhi")!=NULL){
114  makeXProjection(dbe_->get("L1T/L1TGCT/CenJetsOccEtaPhi")->getTH2F(),l1GctCenJetsOccEta_);
115  makeYProjection(dbe_->get("L1T/L1TGCT/CenJetsOccEtaPhi")->getTH2F(),l1GctCenJetsOccPhi_);
116  }
117 
118  if (dbe_->get("L1T/L1TGCT/ForJetsOccEtaPhi")!=NULL){
119  makeXProjection(dbe_->get("L1T/L1TGCT/ForJetsOccEtaPhi")->getTH2F(),l1GctForJetsOccEta_);
120  makeYProjection(dbe_->get("L1T/L1TGCT/ForJetsOccEtaPhi")->getTH2F(),l1GctForJetsOccPhi_);
121  }
122 
123  if (dbe_->get("L1T/L1TGCT/TauJetsOccEtaPhi")!=NULL){
124  makeXProjection(dbe_->get("L1T/L1TGCT/TauJetsOccEtaPhi")->getTH2F(),l1GctTauJetsOccEta_);
125  makeYProjection(dbe_->get("L1T/L1TGCT/TauJetsOccEtaPhi")->getTH2F(),l1GctTauJetsOccPhi_);
126  }
127 }
128 
130 
132 {
133  // Are the provided input and output consistent
134  if (input->GetNbinsX() != output->getNbinsX()) return;
135 
136  // Make the projection
137  TH1D* projX = input->ProjectionX();
138 
139  for (Int_t i=0; i<projX->GetNbinsX(); i++) {
140  output->setBinContent(i+1,projX->GetBinContent(i+1));
141  }
142  delete projX;
143 }
144 
146 {
147  // Are the provided input and output consistent
148  if (input->GetNbinsY() != output->getNbinsX()) return;
149 
150  // Make the projection
151  TH1D* projY = input->ProjectionY();
152 
153  for (Int_t i=0; i<projY->GetNbinsX(); i++) {
154  output->setBinContent(i+1,projY->GetBinContent(i+1));
155  }
156  delete projY;
157 }
158 
159 
#define PHIMAX
int i
Definition: DBlmapReader.cc:9
L1TGCTClient(const edm::ParameterSet &ps)
Constructor.
Definition: L1TGCTClient.cc:24
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * l1GctForJetsOccPhi_
Definition: L1TGCTClient.h:73
void beginJob(void)
BeginJob.
Definition: L1TGCTClient.cc:35
MonitorElement * l1GctTauJetsOccEta_
Definition: L1TGCTClient.h:74
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:514
std::string monitorDir_
Definition: L1TGCTClient.h:58
void endJob()
Endjob.
#define NULL
Definition: scimark2.h:8
MonitorElement * l1GctTauJetsOccPhi_
Definition: L1TGCTClient.h:75
MonitorElement * l1GctIsoEmOccEta_
prescale on number of events
Definition: L1TGCTClient.h:64
DQMStore * dbe_
Definition: L1TGCTClient.h:57
MonitorElement * l1GctAllJetsOccPhi_
Definition: L1TGCTClient.h:69
MonitorElement * l1GctForJetsOccEta_
Definition: L1TGCTClient.h:72
MonitorElement * l1GctCenJetsOccPhi_
Definition: L1TGCTClient.h:71
#define ETAMAX
#define ETAMIN
void beginRun(const edm::Run &r, const edm::EventSetup &c)
BeginRun.
Definition: L1TGCTClient.cc:57
void makeXProjection(TH2F *input, MonitorElement *output)
void beginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &context)
Definition: L1TGCTClient.cc:59
MonitorElement * l1GctAllJetsOccEta_
Definition: L1TGCTClient.h:68
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1265
#define PHIMIN
MonitorElement * l1GctNonIsoEmOccPhi_
Definition: L1TGCTClient.h:67
tuple input
Definition: collect_tpl.py:10
void analyze(const edm::Event &e, const edm::EventSetup &c)
Analyze.
Definition: L1TGCTClient.cc:94
MonitorElement * l1GctIsoEmOccPhi_
Definition: L1TGCTClient.h:65
virtual ~L1TGCTClient()
Destructor.
Definition: L1TGCTClient.cc:33
#define ETABINS
void makeYProjection(TH2F *input, MonitorElement *output)
void endLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
DQM Client Diagnostic.
Definition: L1TGCTClient.cc:61
MonitorElement * l1GctNonIsoEmOccEta_
Definition: L1TGCTClient.h:66
int getNbinsX(void) const
get # of bins in X-axis
#define PHIBINS
TH2F * getTH2F(void) const
MonitorElement * l1GctCenJetsOccEta_
Definition: L1TGCTClient.h:70
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:232
void endRun(const edm::Run &r, const edm::EventSetup &c)
EndRun.
Definition: L1TGCTClient.cc:96
Definition: Run.h:32