CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
L1TDTTFClient Class Reference

#include <L1TDTTFClient.h>

Inheritance diagram for L1TDTTFClient:
edm::EDAnalyzer

Public Member Functions

 L1TDTTFClient (const edm::ParameterSet &ps)
 Constructor. More...
 
virtual ~L1TDTTFClient ()
 Destructor. More...
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Protected Member Functions

void analyze (const edm::Event &e, const edm::EventSetup &c)
 Fake Analyze. More...
 
void beginJob (void)
 BeginJob. More...
 
void beginLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &context)
 
void beginRun (const edm::Run &r, const edm::EventSetup &c)
 BeginRun. More...
 
void endJob ()
 Endjob. More...
 
void endLuminosityBlock (const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
 DQM Client Diagnostic. More...
 
void endRun (const edm::Run &r, const edm::EventSetup &c)
 EndRun. More...
 
void makeSummary ()
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Private Member Functions

void buildHighQualityPlot (TH2F *occupancySummary, MonitorElement *highQual_Summary, const std::string &path)
 
void buildPhiEtaPlotO (MonitorElement *phi_eta_integ, const std::string &path, int wh)
 
void buildPhiEtaPlotOFC (MonitorElement *phi_eta_fine_integ, MonitorElement *phi_eta_coarse_integ, MonitorElement *phi_eta_integ, const std::string &path_fine, const std::string &path_coarse, int wh)
 
void buildSummaries ()
 
TH1F * getTH1F (const char *hname)
 
TH2F * getTH2F (const char *hname)
 
template<typename T >
void normalize (T *me)
 
template<typename T >
void normalize (T *me, const double &scale)
 
template<typename T >
void normalize (T *me, const double &scale, const double &entries)
 
void setGMTsummary ()
 
void setMapLabel (MonitorElement *me)
 
void setQualLabel (MonitorElement *me, int axis)
 
void setWheelLabel (MonitorElement *me)
 

Private Attributes

int counterLS_
 
DQMStoredbe_
 
MonitorElementdttf_2ndTrack_Summary
 
MonitorElementdttf_bx_integ
 
MonitorElementdttf_bx_integ_2ndTrack
 
MonitorElementdttf_bx_summary
 
MonitorElementdttf_bx_summary_2ndTrack
 
MonitorElementdttf_bx_wheel_integ [6]
 
MonitorElementdttf_bx_wheel_integ_2ndTrack [6]
 
MonitorElementdttf_bx_wheel_summary [6]
 
MonitorElementdttf_bx_wheel_summary_2ndTrack [6]
 
MonitorElementdttf_eta_fine_fraction
 
MonitorElementdttf_eta_fine_integ
 
MonitorElementdttf_eta_integ
 
MonitorElementdttf_eta_integ_2ndTrack
 
MonitorElementdttf_eta_wheel [6]
 
MonitorElementdttf_fine_fraction_wh [6]
 
MonitorElementdttf_gmt_matching
 
MonitorElementdttf_highQual_Summary
 
MonitorElementdttf_highQual_Summary_2ndTrack
 
MonitorElementdttf_nTracks_integ
 
MonitorElementdttf_nTracks_integ_2ndTrack
 
MonitorElementdttf_nTracks_wheel [6]
 
MonitorElementdttf_nTracks_wheel_2ndTrack [6]
 
MonitorElementdttf_occupancySummary
 
MonitorElementdttf_occupancySummary_2ndTrack
 
MonitorElementdttf_phi_eta_coarse_integ
 
MonitorElementdttf_phi_eta_fine_integ
 
MonitorElementdttf_phi_eta_integ
 
MonitorElementdttf_phi_eta_integ_2ndTrack
 
MonitorElementdttf_phi_integ
 
MonitorElementdttf_phi_integ_2ndTrack
 
MonitorElementdttf_phi_wheel [6]
 
MonitorElementdttf_pt_integ
 
MonitorElementdttf_pt_integ_2ndTrack
 
MonitorElementdttf_pt_wheel [6]
 
MonitorElementdttf_q_integ
 
MonitorElementdttf_q_integ_2ndTrack
 
MonitorElementdttf_q_wheel [6]
 
MonitorElementdttf_quality_integ
 
MonitorElementdttf_quality_integ_2ndTrack
 
MonitorElementdttf_quality_summary
 
MonitorElementdttf_quality_summary_2ndTrack
 
MonitorElementdttf_quality_summary_wheel [6]
 
MonitorElementdttf_quality_wheel [6]
 
edm::InputTag dttfSource_
 
std::string gmtpath_
 
std::string inclusivepath_
 
std::string l1tdttffolder_
 
TH2F * occupancy_r_
 counter More...
 
bool online_
 
int resetafterlumi_
 
bool verbose_
 
std::string wheel_ [6]
 
std::string wheelpath_ [6]
 

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)
 
static void prevalidate (ConfigurationDescriptions &)
 

Detailed Description

Definition at line 21 of file L1TDTTFClient.h.

Constructor & Destructor Documentation

L1TDTTFClient::L1TDTTFClient ( const edm::ParameterSet ps)

Constructor.

base services

Definition at line 21 of file L1TDTTFClient.cc.

22  : l1tdttffolder_ ( ps.getUntrackedParameter<std::string> ("l1tSourceFolder", "L1T/L1TDTTF") ),
23  dttfSource_( ps.getParameter< edm::InputTag >("dttfSource") ),
24  online_( ps.getUntrackedParameter<bool>("online", true) ),
25  resetafterlumi_( ps.getUntrackedParameter<int>("resetAfterLumi", 3) ),
27 {
28  edm::LogInfo( "L1TDTTFClient");
29 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
TH2F * occupancy_r_
counter
Definition: L1TDTTFClient.h:65
std::string l1tdttffolder_
Definition: L1TDTTFClient.h:59
edm::InputTag dttfSource_
Definition: L1TDTTFClient.h:60
L1TDTTFClient::~L1TDTTFClient ( )
virtual

Destructor.

Definition at line 33 of file L1TDTTFClient.cc.

33  {
34  edm::LogInfo("L1TDTTFClient")<<"[L1TDTTFClient]: ending... ";
35 }

Member Function Documentation

void L1TDTTFClient::analyze ( const edm::Event e,
const edm::EventSetup c 
)
protectedvirtual

Fake Analyze.

Implements edm::EDAnalyzer.

Definition at line 442 of file L1TDTTFClient.cc.

444 {
445 
446 
447 }
void L1TDTTFClient::beginJob ( void  )
protectedvirtual

BeginJob.

get backendinterface

occupancy summary

SUMMARY

DTTF Tracks per Wheel ditribution

DTTF Tracks distribution by Sector and Wheel

RESET 04

DTTF Tracks BX Distribution by Wheel

Fraction of DTTF Tracks BX w.r.t. Tracks with BX=0

DTTF Tracks Quality distribution

DTTF Tracks Quality distribution by Wheel

Fraction of DTTF Tracks with Quality>4 by Sector and Wheel

eta-phi Distribution of DTTF Tracks with coarse eta assignment

eta-phi Distribution of DTTF Tracks with fine eta assignment

eta-phi Distribution of DTTF Tracks

Fraction of DTTF Tracks with Fine eta Assignment

DTTF Tracks eta distribution (Packed values)

DTTF Tracks Phi distribution (Packed values)

DTTF Tracks p_{T} distribution (Packed values)

DTTF Tracks Charge distribution

DTTF 2nd Tracks Only Distribution by Sector and Wheel w.r.t. the total Number of tracks

GMT matching

DTTF 2nd Tracks per Wheel distribution

DTTF 2nd Tracks distribution by Sector and Wheel

DTTF 2nd Tracks BX Distribution by Wheel

Fraction of DTTF Tracks BX w.r.t. Tracks with BX=0

Quality

DTTF 2nd Tracks Tracks Quality distribution by Wheel

Fraction of DTTF 2nd Tracks with Quality>4 by Sector and Wheel

eta-phi Distribution of DTTF 2nd Tracks

eta Distribution of DTTF 2nd Tracks

phi Distribution of DTTF 2nd Tracks

pt Distribution of DTTF 2nd Tracks

charge Distribution of DTTF 2nd Tracks

number of tracks per wheel

Tracks BX distribution by Sector for each wheel

bx for each wheel

quality per wheel

quality per wheel 2D

eta assigment for each wheel

DTTF Tracks eta distribution (Packed values)

DTTF Tracks Phi distribution (Packed values)

DTTF Tracks p_{T} distribution (Packed values)

DTTF Tracks Charge distribution

number of 2nd tracks per wheel

bx for each wheel

bx for each wheel

Reimplemented from edm::EDAnalyzer.

Definition at line 39 of file L1TDTTFClient.cc.

References DQMStore::book1D(), DQMStore::book2D(), dbe_, dttf_2ndTrack_Summary, dttf_bx_integ, dttf_bx_integ_2ndTrack, dttf_bx_summary, dttf_bx_summary_2ndTrack, dttf_bx_wheel_integ, dttf_bx_wheel_integ_2ndTrack, dttf_bx_wheel_summary, dttf_bx_wheel_summary_2ndTrack, dttf_eta_fine_fraction, dttf_eta_integ, dttf_eta_integ_2ndTrack, dttf_eta_wheel, dttf_fine_fraction_wh, dttf_gmt_matching, dttf_highQual_Summary, dttf_highQual_Summary_2ndTrack, dttf_nTracks_integ, dttf_nTracks_integ_2ndTrack, dttf_nTracks_wheel, dttf_nTracks_wheel_2ndTrack, dttf_occupancySummary, dttf_occupancySummary_2ndTrack, dttf_phi_eta_coarse_integ, dttf_phi_eta_fine_integ, dttf_phi_eta_integ, dttf_phi_eta_integ_2ndTrack, dttf_phi_integ, dttf_phi_integ_2ndTrack, dttf_phi_wheel, dttf_pt_integ, dttf_pt_integ_2ndTrack, dttf_pt_wheel, dttf_q_integ, dttf_q_integ_2ndTrack, dttf_q_wheel, dttf_quality_integ, dttf_quality_integ_2ndTrack, dttf_quality_summary, dttf_quality_summary_2ndTrack, dttf_quality_summary_wheel, dttf_quality_wheel, gmtpath_, inclusivepath_, l1tdttffolder_, cppFunctionSkipper::operator, MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::setCurrentFolder(), setQualLabel(), setWheelLabel(), wheel_, and wheelpath_.

40 {
41 
42  edm::LogInfo("L1TDTTFClient")<<"[L1TDTTFClient]: Begin Job";
43 
46 
47  wheelpath_[0] = l1tdttffolder_ + "/02-WHEEL_N2";
48  wheelpath_[1] = l1tdttffolder_ + "/03-WHEEL_N1";
49  wheelpath_[2] = l1tdttffolder_ + "/04-WHEEL_N0";
50  wheelpath_[3] = l1tdttffolder_ + "/05-WHEEL_P0";
51  wheelpath_[4] = l1tdttffolder_ + "/06-WHEEL_P1";
52  wheelpath_[5] = l1tdttffolder_ + "/07-WHEEL_P2";
53 
54  wheel_[0] = "N2";
55  wheel_[1] = "N1";
56  wheel_[2] = "N0";
57  wheel_[3] = "P0";
58  wheel_[4] = "P1";
59  wheel_[5] = "P2";
60 
61  inclusivepath_ = l1tdttffolder_ + "/01-INCLUSIVE";
62  gmtpath_ = l1tdttffolder_ + "/08-GMT_MATCH";
63 
65  char hname[100];//histo name
66  char mename[100];//ME name
67 
70 
72  sprintf(hname, "dttf_02_nTracks");
73  sprintf(mename, "DTTF Tracks by Wheel");
74  dttf_nTracks_integ = dbe_->book1D(hname, mename, 6, 0, 6);
76 
78  sprintf(hname, "dttf_03_tracks_occupancy_summary");
79  sprintf(mename, "DTTF Tracks Occupancy");
80  dttf_occupancySummary = dbe_->book2D( hname, mename, 6, 0, 6, 12, 1, 13 );
82  dttf_occupancySummary->setAxisTitle("Sector", 2);
83 
85 
87  sprintf(hname, "dttf_05_bx_occupancy");
88  sprintf(mename, "DTTF Tracks BX Distribution by Wheel");
89  dttf_bx_summary = dbe_->book2D( hname, mename, 6, 0, 6, 3, -1, 2 );
91  dttf_bx_summary->setAxisTitle("BX", 2 );
92 
94  sprintf(hname, "dttf_06_bx");
95  sprintf(mename, "DTTF Tracks BX w.r.t. Tracks with BX=0");
96  dttf_bx_integ = dbe_->book1D( hname, mename, 3, -1.5, 1.5 );
97  dttf_bx_integ->setAxisTitle("BX", 1);
98 
100  sprintf(hname, "dttf_07_quality");
101  sprintf(mename, "DTTF Tracks Quality distribution");
102  dttf_quality_integ = dbe_->book1D(hname, mename, 7, 1, 8);
104 
106  sprintf(hname, "dttf_08_quality_occupancy");
107  sprintf(mename, "DTTF Tracks Quality distribution by Wheel");
108  dttf_quality_summary = dbe_->book2D( hname, mename, 6, 0, 6, 7, 1, 8 );
109  dttf_quality_summary->setAxisTitle("Wheel", 1);
112 
114  sprintf(hname, "dttf_09_highQuality_Tracks");
115  sprintf(mename, "Fraction of DTTF Tracks with Quality>3");
116  dttf_highQual_Summary = dbe_->book2D( hname, mename, 6, 0, 6, 12, 1, 13 );
118  dttf_highQual_Summary->setAxisTitle("Sector", 2);
119 
120 
122  sprintf(hname, "dttf_10_phi_vs_etaCoarse");
123  sprintf(mename, "#eta-#phi DTTF Tracks occupancy (coarse #eta only, packed values)");
124  dttf_phi_eta_coarse_integ = dbe_->book2D( hname, mename, 64, 0, 64,
125  144, -6, 138. );
128 
130  sprintf(hname, "dttf_11_phi_vs_etaFine");
131  sprintf(mename, "#eta-#phi DTTF Tracks occupancy (fine #eta only, packed values)");
132  dttf_phi_eta_fine_integ = dbe_->book2D( hname, mename, 64, 0, 64,
133  144, -6, 138. );
136 
138  sprintf(hname, "dttf_12_phi_vs_eta");
139  sprintf(mename, "#eta-#phi DTTF Tracks occupancy");
140  dttf_phi_eta_integ = dbe_->book2D( hname, mename, 64, -1.2, 1.2,
141  144, -15, 345. );
142  dttf_phi_eta_integ->setAxisTitle("#eta", 1);
143  dttf_phi_eta_integ->setAxisTitle("#phi", 2);
144 
146  sprintf(hname, "dttf_13_eta_fine_fraction");
147  sprintf(mename, "Fraction of DTTF Tracks with Fine #eta Assignment");
148  dttf_eta_fine_fraction = dbe_->book1D( hname, mename, 6, 0, 6 );
151 
153 
155  sprintf(hname, "dttf_14_eta");
156  sprintf(mename, "DTTF Tracks #eta distribution (Packed values)");
157  dttf_eta_integ = dbe_->book1D(hname, mename, 64, -0.5, 63.5);
158  dttf_eta_integ->setAxisTitle("#eta", 1);
159 
161  sprintf(hname, "dttf_15_phi");
162  sprintf(mename, "DTTF Tracks Phi distribution (Packed values)");
163  dttf_phi_integ = dbe_->book1D(hname, mename, 144, -6, 138. );
164  dttf_phi_integ->setAxisTitle("#phi", 1);
165 
167  sprintf(hname, "dttf_16_pt");
168  sprintf(mename, "DTTF Tracks p_{T} distribution (Packed values)");
169  dttf_pt_integ = dbe_->book1D(hname, mename, 32, -0.5, 31.5);
170  dttf_pt_integ->setAxisTitle("p_{T}", 1);
171 
173  sprintf(hname, "dttf_17_charge");
174  sprintf(mename, "DTTF Tracks Charge distribution");
175  dttf_q_integ = dbe_->book1D(hname, mename, 2, -0.5, 1.5);
176  dttf_q_integ->setAxisTitle("Charge", 1);
177 
178 
179 
181  sprintf(hname, "dttf_18_2ndTrack_occupancy_summary");
182  sprintf(mename, "DTTF 2nd Tracks occupancy w.r.t. Tracks with BX=0");
183  dttf_2ndTrack_Summary = dbe_->book2D( hname, mename, 6, 0, 6, 12, 1, 13 );
185 
186 
187 
192  sprintf(hname, "dttf_gmt_fract_matching" );
193  sprintf(mename, "Fraction of DTTF tracks matching with GMT tracks" );
194  dttf_gmt_matching = dbe_->book1D( hname, mename, 3, 1, 4);
195  dttf_gmt_matching->setBinLabel(1, "GMT Only", 1);
196  dttf_gmt_matching->setBinLabel(2, "Matching", 1);
197  dttf_gmt_matching->setBinLabel(3, "DTTF Only", 1);
198 
199 
203  dbe_->setCurrentFolder( inclusivepath_ + "/2ND_TRACK_ONLY");
204 
206  sprintf(hname, "dttf_01_nTracks_2ndTrack");
207  sprintf(mename, "DTTF 2nd Tracks per Wheel distribution");
208  dttf_nTracks_integ_2ndTrack = dbe_->book1D(hname, mename, 6, 0, 6);
210 
212  sprintf(hname, "dttf_02_occupancy_summary_2ndTrack");
213  sprintf(mename, "DTTF 2nd Tracks distribution by Sector and Wheel");
214  dttf_occupancySummary_2ndTrack = dbe_->book2D( hname, mename, 6, 0, 6,
215  12, 1, 13 );
217 
219  sprintf(hname, "dttf_03_bx_occupancy_2ndTrack");
220  sprintf(mename, "DTTF 2nd Tracks BX Distribution by Wheel");
221  dttf_bx_summary_2ndTrack = dbe_->book2D( hname, mename, 6, 0, 6, 3, -1, 2 );
224 
226  sprintf(hname, "dttf_04_bx_2ndTrack");
227  sprintf(mename, "Fraction of DTTF Tracks BX w.r.t. Tracks with BX=0");
228  dttf_bx_integ_2ndTrack = dbe_->book1D( hname, mename, 3, -1.5, 1.5 );
230 
232  sprintf(hname, "dttf_05_quality_2ndTrack");
233  sprintf(mename, "DTTF 2nd Tracks Quality distribution");
234  dttf_quality_integ_2ndTrack = dbe_->book1D(hname, mename, 7, 0.5, 7.5);
237 
239  sprintf(hname, "dttf_06_quality_occupancy_2ndTrack");
240  sprintf(mename, "DTTF 2nd Tracks Quality distribution by Wheel");
241  dttf_quality_summary_2ndTrack = dbe_->book2D( hname, mename,
242  6, 0, 6, 7, 1, 8 );
246 
248  sprintf(hname, "dttf_07_highQuality_Tracks_2ndTrack");
249  sprintf(mename, "Fraction of DTTF 2nd Tracks with Quality>3");
250  dttf_highQual_Summary_2ndTrack = dbe_->book2D( hname, mename, 6, 0, 6,
251  12, 1, 13 );
254 
256  sprintf(hname, "dttf_08_phi_vs_eta_2ndTrack");
257  sprintf(mename, "#eta-#phi DTTF Tracks occupancy for 2nd Tracks");
258  dttf_phi_eta_integ_2ndTrack = dbe_->book2D( hname, mename, 64, 0, 64,
259  144, -6, 138. );
262 
264  sprintf(hname, "dttf_09_eta_2ndTrack");
265  sprintf(mename, "DTTF 2nd Tracks #eta distribution (Packed values)");
266  dttf_eta_integ_2ndTrack = dbe_->book1D(hname, mename, 64, -0.5, 63.5);
268 
270  sprintf(hname, "dttf_10_phi_2ndTrack");
271  sprintf(mename, "DTTF 2nd Tracks Phi distribution (Packed values)");
272  dttf_phi_integ_2ndTrack = dbe_->book1D(hname, mename, 144, -6, 138 );
274 
276  sprintf(hname, "dttf_11_pt_2ndTrack");
277  sprintf(mename, "DTTF 2nd Tracks p_{T} distribution (Packed values)");
278  dttf_pt_integ_2ndTrack = dbe_->book1D(hname, mename, 32, -0.5, 31.5);
280 
282  sprintf(hname, "dttf_12_charge_2ndTrack");
283  sprintf(mename, "DTTF 2nd Tracks Charge distribution");
284  dttf_q_integ_2ndTrack = dbe_->book1D(hname, mename, 2, -0.5, 1.5);
285  dttf_q_integ_2ndTrack->setAxisTitle("Charge", 1);
286 
287 
288  for ( unsigned int wh = 0; wh < 6 ; ++wh ) {
290 
292  sprintf( hname, "dttf_02_nTracks_wh%s", wheel_[wh].c_str() );
293  sprintf( mename, "Wheel %s - Number of Tracks", wheel_[wh].c_str() );
294  dttf_nTracks_wheel[wh] = dbe_->book1D( hname, mename, 12, 1, 13);
295  dttf_nTracks_wheel[wh]->setAxisTitle("sector", 1);
296 
298  sprintf(hname, "dttf_03_bx_occupancy_wh%s", wheel_[wh].c_str() );
299  sprintf(mename, "Wheel %s - DTTF Tracks BX distribution by Sector",
300  wheel_[wh].c_str());
301  dttf_bx_wheel_summary[wh] = dbe_->book2D( hname, mename, 12, 1, 13, 3, -1, 2);
302  dttf_bx_wheel_summary[wh]->setAxisTitle("BX", 2 );
303  dttf_bx_wheel_summary[wh]->setAxisTitle("Sector", 1 );
304 
306  sprintf(hname, "dttf_04_bx_wh%s", wheel_[wh].c_str());
307  sprintf(mename, "Wheel %s - DTTF Tracks BX w.r.t. Tracks with BX=0", wheel_[wh].c_str());
308  dttf_bx_wheel_integ[wh] = dbe_->book1D(hname, mename, 3, -1.5, 1.5);
309  dttf_bx_wheel_integ[wh]->setAxisTitle("BX", 1);
310 
312  sprintf(hname, "dttf_05_quality_wh%s", wheel_[wh].c_str() );
313  sprintf(mename, "Wheel %s - Tracks Quality Distribution", wheel_[wh].c_str() );
314  dttf_quality_wheel[wh] = dbe_->book1D(hname, mename, 7, 1, 8);
315  dttf_quality_wheel[wh]->setAxisTitle("Quality", 1);
317 
319  sprintf(hname, "dttf_06_quality_summary_wh%s", wheel_[wh].c_str() );
320  sprintf(mename, "Wheel %s - Tracks Quality Distribution by Sector",
321  wheel_[wh].c_str() );
322  dttf_quality_summary_wheel[wh] = dbe_->book2D(hname, mename, 12, 1, 13, 7, 1, 8);
323  dttf_quality_summary_wheel[wh]->setAxisTitle("Sector", 1);
324  // dttf_quality_summary_wheel[wh]->setAxisTitle("Quality", 2);
326 
328  sprintf(hname, "dttf_09_etaFine_fraction_wh%s", wheel_[wh].c_str() );
329  sprintf(mename, "Wheel %s - Fraction of DTTF Tracks with fine #eta assignment",
330  wheel_[wh].c_str());
331  dttf_fine_fraction_wh[wh] = dbe_->book1D( hname, mename, 12, 1, 13);
332  dttf_fine_fraction_wh[wh]->setAxisTitle("Sector", 1 );
333 
334 
336  sprintf(hname, "dttf_10_eta_wh%s", wheel_[wh].c_str() );
337  sprintf(mename, "Wheel %s - DTTF Tracks #eta distribution (Packed values)",
338  wheel_[wh].c_str() );
339  dttf_eta_wheel[wh] = dbe_->book1D(hname, mename, 64, -0.5, 63.5 );
340  dttf_eta_wheel[wh]->setAxisTitle("#eta", 1 );
341 
343  sprintf(hname, "dttf_11_phi_wh%s", wheel_[wh].c_str() );
344  sprintf(mename, "Wheel %s - DTTF Tracks Phi distribution (Packed values)",
345  wheel_[wh].c_str() );
346  dttf_phi_wheel[wh] = dbe_->book1D(hname, mename, 144, -6, 138. );
347  dttf_phi_wheel[wh]->setAxisTitle("#phi", 1);
348 
350  sprintf(hname, "dttf_12_pt_wh%s", wheel_[wh].c_str() );
351  sprintf(mename, "Wheel %s - DTTF Tracks p_{T} distribution (Packed values)",
352  wheel_[wh].c_str() );
353  dttf_pt_wheel[wh] = dbe_->book1D(hname, mename, 32, -0.5, 31.5);
354  dttf_pt_wheel[wh]->setAxisTitle("p_{T}", 1);
355 
357  sprintf(hname, "dttf_13_charge_wh%s", wheel_[wh].c_str() );
358  sprintf(mename, "Wheel %s - DTTF Tracks Charge distribution",
359  wheel_[wh].c_str() );
360  dttf_q_wheel[wh] = dbe_->book1D(hname, mename, 2, -0.5, 1.5);
361  dttf_q_wheel[wh]->setAxisTitle("Charge", 1);
362 
363  }
364 
365 
367  for ( unsigned int wh = 0; wh < 6 ; ++wh ) {
368  dbe_->setCurrentFolder( wheelpath_[wh] + "/2ND_TRACK_ONLY" );
369 
371  sprintf( hname, "dttf_01_nTracks_wh%s_2ndTrack", wheel_[wh].c_str() );
372  sprintf( mename, "Wheel %s - DTTF Number of 2nd Tracks with BX=0",
373  wheel_[wh].c_str() );
374  dttf_nTracks_wheel_2ndTrack[wh] = dbe_->book1D( hname, mename,
375  12, 1, 13);
376  dttf_nTracks_wheel_2ndTrack[wh]->setAxisTitle("sector", 1);
377 
379  sprintf(hname, "dttf_02_bx_occupancy_wh%s_2ndTrack", wheel_[wh].c_str() );
380  sprintf(mename, "Wheel %s - DTTF 2nd Tracks BX distribution by Sector",
381  wheel_[wh].c_str());
382  dttf_bx_wheel_summary_2ndTrack[wh] = dbe_->book2D( hname, mename, 12, 1, 13, 3, -1, 2);
384  dttf_bx_wheel_summary_2ndTrack[wh]->setAxisTitle("Sector", 1 );
385 
387  sprintf(hname, "dttf_03_bx_wh%s_2ndTrack", wheel_[wh].c_str());
388  sprintf(mename, "Wheel %s - 2nd Tracks BX Distribution", wheel_[wh].c_str());
389  dttf_bx_wheel_integ_2ndTrack[wh] = dbe_->book1D(hname, mename, 3, -1.5, 1.5);
391 
392 
393  }
394 
395 
396 
397 }
MonitorElement * dttf_bx_integ_2ndTrack
Definition: L1TDTTFClient.h:97
MonitorElement * dttf_gmt_matching
Definition: L1TDTTFClient.h:90
MonitorElement * dttf_occupancySummary
Definition: L1TDTTFClient.h:74
MonitorElement * dttf_quality_summary
Definition: L1TDTTFClient.h:79
MonitorElement * dttf_q_wheel[6]
MonitorElement * dttf_eta_integ_2ndTrack
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:717
MonitorElement * dttf_quality_integ_2ndTrack
Definition: L1TDTTFClient.h:98
MonitorElement * dttf_eta_wheel[6]
MonitorElement * dttf_nTracks_integ
Definition: L1TDTTFClient.h:73
MonitorElement * dttf_quality_integ
Definition: L1TDTTFClient.h:78
std::string wheelpath_[6]
Definition: L1TDTTFClient.h:69
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
MonitorElement * dttf_bx_wheel_integ_2ndTrack[6]
MonitorElement * dttf_bx_wheel_summary[6]
MonitorElement * dttf_pt_integ_2ndTrack
MonitorElement * dttf_bx_integ
Definition: L1TDTTFClient.h:76
MonitorElement * dttf_phi_eta_fine_integ
Definition: L1TDTTFClient.h:82
MonitorElement * dttf_highQual_Summary_2ndTrack
MonitorElement * dttf_phi_wheel[6]
MonitorElement * dttf_phi_eta_integ
Definition: L1TDTTFClient.h:83
MonitorElement * dttf_quality_summary_wheel[6]
MonitorElement * dttf_pt_integ
Definition: L1TDTTFClient.h:86
MonitorElement * dttf_phi_eta_coarse_integ
Definition: L1TDTTFClient.h:81
MonitorElement * dttf_occupancySummary_2ndTrack
Definition: L1TDTTFClient.h:95
MonitorElement * dttf_eta_integ
Definition: L1TDTTFClient.h:87
MonitorElement * dttf_2ndTrack_Summary
Definition: L1TDTTFClient.h:91
std::string gmtpath_
Definition: L1TDTTFClient.h:71
MonitorElement * dttf_q_integ_2ndTrack
MonitorElement * dttf_bx_wheel_summary_2ndTrack[6]
DQMStore * dbe_
Definition: L1TDTTFClient.h:66
MonitorElement * dttf_bx_summary
Definition: L1TDTTFClient.h:75
MonitorElement * dttf_quality_wheel[6]
MonitorElement * dttf_eta_fine_fraction
Definition: L1TDTTFClient.h:84
std::string l1tdttffolder_
Definition: L1TDTTFClient.h:59
MonitorElement * dttf_fine_fraction_wh[6]
void setQualLabel(MonitorElement *me, int axis)
MonitorElement * dttf_nTracks_wheel[6]
MonitorElement * dttf_bx_summary_2ndTrack
Definition: L1TDTTFClient.h:96
MonitorElement * dttf_nTracks_integ_2ndTrack
Definition: L1TDTTFClient.h:94
MonitorElement * dttf_phi_integ_2ndTrack
MonitorElement * dttf_pt_wheel[6]
MonitorElement * dttf_nTracks_wheel_2ndTrack[6]
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:845
MonitorElement * dttf_phi_integ
Definition: L1TDTTFClient.h:85
MonitorElement * dttf_highQual_Summary
Definition: L1TDTTFClient.h:80
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * dttf_q_integ
Definition: L1TDTTFClient.h:88
MonitorElement * dttf_bx_wheel_integ[6]
std::string inclusivepath_
Definition: L1TDTTFClient.h:70
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:429
void setWheelLabel(MonitorElement *me)
std::string wheel_[6]
Definition: L1TDTTFClient.h:68
MonitorElement * dttf_quality_summary_2ndTrack
Definition: L1TDTTFClient.h:99
MonitorElement * dttf_phi_eta_integ_2ndTrack
void L1TDTTFClient::beginLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup context 
)
protectedvirtual

optionally reset histograms here

Reimplemented from edm::EDAnalyzer.

Definition at line 405 of file L1TDTTFClient.cc.

References counterLS_, getTH2F(), inclusivepath_, occupancy_r_, online_, and resetafterlumi_.

407 {
409  ++counterLS_;
410 
411  if ( online_ && !( counterLS_ % resetafterlumi_ ) ) {
412  char hname[60];
413  sprintf( hname, "%s/dttf_04_tracks_occupancy_by_lumi",
414  inclusivepath_.c_str() );
415 
416  occupancy_r_ = getTH2F(hname);
417  if ( ! occupancy_r_ ) {
418  edm::LogError("L1TDTTFClient::beginLuminosityBlock:ME")
419  << "Failed to get TH2D " << std::string(hname);
420  } else {
421  edm::LogInfo("L1TDTTFClient::beginLuminosityBlock:RESET") << "Reseting plots by lumi!";
422  occupancy_r_->Reset();
423  }
424  }
425 
426 }
TH2F * getTH2F(const char *hname)
TH2F * occupancy_r_
counter
Definition: L1TDTTFClient.h:65
std::string inclusivepath_
Definition: L1TDTTFClient.h:70
void L1TDTTFClient::beginRun ( const edm::Run r,
const edm::EventSetup c 
)
protectedvirtual

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 400 of file L1TDTTFClient.cc.

401 {
402 }
void L1TDTTFClient::buildHighQualityPlot ( TH2F *  occupancySummary,
MonitorElement highQual_Summary,
const std::string &  path 
)
private

high quality TOBE IMPROVED

Definition at line 1056 of file L1TDTTFClient.cc.

References getTH2F(), MonitorElement::setBinContent(), wheel_, and wheelpath_.

Referenced by makeSummary().

1059 {
1060 
1061  char hname[150];
1062 
1066  for ( unsigned int wh = 0; wh < 6 ; ++wh ) {
1067  sprintf( hname, path.c_str(), wheelpath_[wh].c_str(), wheel_[wh].c_str() );
1068 
1069  TH2F * quality = getTH2F(hname);
1070  if ( ! quality ) {
1071  edm::LogError("L1TDTTFClient::buildHighQualityPlot")
1072  << "Failed to get TH2F " << std::string(hname);
1073  } else {
1074 
1075  for ( unsigned int sec = 1; sec < 13 ; ++sec ) {
1076  double denHighQual = occupancySummary->GetBinContent( wh+1, sec );
1077  double val = 0;
1078  if ( denHighQual > 0 ) {
1079  for ( unsigned int qual = 4; qual < 8 ; ++qual ) {
1080  val += quality->GetBinContent( qual, sec );
1081  }
1082  val /= denHighQual;
1083  }
1084  highQual_Summary->setBinContent( wh+1, sec, val );
1085  }
1086  }
1087  }
1088 }
void setBinContent(int binx, double content)
set content of bin (1-D)
TH2F * getTH2F(const char *hname)
std::string wheelpath_[6]
Definition: L1TDTTFClient.h:69
list path
Definition: scaleCards.py:51
std::string wheel_[6]
Definition: L1TDTTFClient.h:68
void L1TDTTFClient::buildPhiEtaPlotO ( MonitorElement phi_eta_integ,
const std::string &  path,
int  wh 
)
private

Definition at line 1177 of file L1TDTTFClient.cc.

References eta(), MonitorElement::getBinContent(), getTH2F(), pileupCalc::nbins, phi, MonitorElement::setBinContent(), errorMatrix2Lands_multiChannel::start, wheel_, and wheelpath_.

Referenced by buildSummaries().

1180 {
1181  char hname[100];
1182  sprintf( hname, path.c_str(),
1183  wheelpath_[wh].c_str(), wheel_[wh].c_str() );
1184 
1185  TH2F * phi_vs_eta = getTH2F(hname);
1186  if ( ! phi_vs_eta ) {
1187  edm::LogError("L1TDTTFClient::buildPhiEtaPlotO:ME") << "Failed to get TH1D "
1188  << std::string(hname);
1189  } else {
1190 
1191  for ( unsigned int phi = 1; phi < 145 ; ++phi ) {
1192  float start = 0;
1193  int nbins = 0;
1194  switch ( wh ) {
1195  case 0 : start = 0; nbins = 18; break; // N2
1196  case 1 : start = 8; nbins = 20; break; // N1
1197  case 2 : start = 22; nbins = 10; break; // N0
1198  case 3 : start = 22; nbins = 20; break; // P0
1199  case 4 : start = 36; nbins = 20; break; // P1
1200  case 5 : start = 46; nbins = 18; break; // P2
1201  default : start = 0; nbins = 0; break; // BOH
1202  }
1203 
1204  for ( int eta = 1; eta <= nbins ; ++eta ) {
1205  double setbin = eta + start;
1206  double val = phi_vs_eta->GetBinContent( eta, phi )
1207  + phi_eta_integ->getBinContent( setbin, phi );
1208  phi_eta_integ->setBinContent( setbin, phi, val );
1209  }
1210 
1211  double underflow = phi_vs_eta->GetBinContent( 0, phi )
1212  + phi_eta_integ->getBinContent( 1, phi );
1213  phi_eta_integ->setBinContent( 1, phi, underflow );
1214 
1215  double overflow = phi_vs_eta->GetBinContent( nbins+1, phi )
1216  + phi_eta_integ->getBinContent( 64 );
1217  phi_eta_integ->setBinContent( 64, phi, overflow );
1218 
1219  }
1220  }
1221 }
void setBinContent(int binx, double content)
set content of bin (1-D)
TH2F * getTH2F(const char *hname)
std::string wheelpath_[6]
Definition: L1TDTTFClient.h:69
T eta() const
list path
Definition: scaleCards.py:51
double getBinContent(int binx) const
get content of bin (1-D)
std::string wheel_[6]
Definition: L1TDTTFClient.h:68
Definition: DDAxes.h:10
void L1TDTTFClient::buildPhiEtaPlotOFC ( MonitorElement phi_eta_fine_integ,
MonitorElement phi_eta_coarse_integ,
MonitorElement phi_eta_integ,
const std::string &  path_fine,
const std::string &  path_coarse,
int  wh 
)
private

Definition at line 1091 of file L1TDTTFClient.cc.

References eta(), MonitorElement::getBinContent(), getTH2F(), pileupCalc::nbins, phi, MonitorElement::setBinContent(), errorMatrix2Lands_multiChannel::start, wheel_, and wheelpath_.

Referenced by buildSummaries().

1097 {
1098 
1099  char hname[150];
1100  sprintf( hname, path_fine.c_str(),
1101  wheelpath_[wh].c_str(), wheel_[wh].c_str() );
1102 
1103  TH2F * phi_vs_eta_fine = getTH2F(hname);
1104  if ( ! phi_vs_eta_fine ) {
1105  edm::LogError("L1TDTTFClient::buildPhiEtaPloOtFC")
1106  << "Failed to get TH1D " << std::string(hname);
1107  }
1108 
1109  sprintf( hname, path_coarse.c_str(),
1110  wheelpath_[wh].c_str(), wheel_[wh].c_str() );
1111  TH2F * phi_vs_eta_coarse = getTH2F(hname);
1112  if ( ! phi_vs_eta_coarse ) {
1113  edm::LogError("L1TDTTFClient::buildPhiEtaPlotOFC")
1114  << "Failed to get TH1D " << std::string(hname);
1115  }
1116 
1117  if ( ! phi_vs_eta_fine || ! phi_vs_eta_coarse ) {
1118  return;
1119  }
1120 
1121  for ( unsigned int phi = 1; phi < 145 ; ++phi ) {
1122  float start = 0;
1123  int nbins = 0;
1124  switch ( wh ) {
1125  case 0 : start = 0; nbins = 18; break; // N2
1126  case 1 : start = 8; nbins = 20; break; // N1
1127  case 2 : start = 22; nbins = 10; break; // N0
1128  case 3 : start = 22; nbins = 20; break; // P0
1129  case 4 : start = 36; nbins = 20; break; // P1
1130  case 5 : start = 46; nbins = 18; break; // P2
1131  default : start = 0; nbins = 0; break; // BOH
1132  }
1133 
1134  for ( int eta = 1; eta <= nbins ; ++eta ) {
1135  double setbin = eta + start;
1136 
1137  double valfine = phi_vs_eta_fine->GetBinContent( eta, phi )
1138  + phi_eta_fine_integ->getBinContent( setbin, phi );
1139 
1140  double valcoarse = phi_vs_eta_coarse->GetBinContent( eta, phi )
1141  + phi_eta_coarse_integ->getBinContent( setbin, phi );
1142 
1143  phi_eta_fine_integ->setBinContent( setbin, phi, valfine );
1144  phi_eta_coarse_integ->setBinContent( setbin, phi, valcoarse );
1145  phi_eta_integ->setBinContent( setbin, phi, valfine+valcoarse );
1146 
1147  }
1148 
1149  // double underflow_f = phi_vs_eta_fine->GetBinContent( 0, phi )
1150  // + phi_eta_fine_integ->getBinContent( 1, phi );
1151  // phi_eta_fine_integ->setBinContent( 1, phi, underflow_f );
1152  //
1153  // double underflow_c = phi_vs_eta_coarse->GetBinContent( 0, phi )
1154  // + phi_eta_coarse_integ->getBinContent( 1, phi );
1155  // phi_eta_coarse_integ->setBinContent( 1, phi, underflow_c );
1156  //
1157  // double overflow_f = phi_vs_eta_fine->GetBinContent( nbins+1, phi )
1158  // + phi_eta_fine_integ->getBinContent( 64 );
1159  // phi_eta_fine_integ->setBinContent( 64, phi, overflow_f );
1160  //
1161  // double overflow_c = phi_vs_eta_coarse->GetBinContent( nbins+1, phi )
1162  // + phi_eta_coarse_integ->getBinContent( 64, phi );
1163  // phi_eta_coarse_integ->setBinContent( 64, phi, overflow_c );
1164  //
1165  // double underflow = underflow_f + underflow_c;
1166  // phi_eta_integ->setBinContent( 1, phi, underflow );
1167  //
1168  // double overflow = overflow_f + overflow_c;
1169  // phi_eta_integ->setBinContent( 64, phi, overflow );
1170 
1171  }
1172 
1173 }
void setBinContent(int binx, double content)
set content of bin (1-D)
TH2F * getTH2F(const char *hname)
std::string wheelpath_[6]
Definition: L1TDTTFClient.h:69
T eta() const
double getBinContent(int binx) const
get content of bin (1-D)
std::string wheel_[6]
Definition: L1TDTTFClient.h:68
Definition: DDAxes.h:10
void L1TDTTFClient::buildSummaries ( )
private

needed for bx_integ

needed for bx_summary 2nd

needed for bx_integ

needed for bx_summary 2nd

needed for by wheel qualities

reset histograms

????

needed for fine fraction

needed for fine fraction

for quality

PHI vs Eta

Loop over sectors

Charge by sector

PT by sector

Phi by sector

Quality by sector

needed for high quality plot

needed for high quality plot (denominator)

eta fine by sector

eta fine fraction by sector

still eta: fraction by wheel

integ summary

still bx: wheel summary & inclusive

by wheel quality: integ summary

by wheel rescaling bx by wheel and number of tracks distribution

by wheel rescaling bx distributions

MORE ON 2ND TRACKS

eta by sector

Phi by wheel 2nd Tracks

PT by wheel 2nd Tracks

Charge by wheel 2nd Tracks

Quality by wheel 2nd Tracks

still bx: scaling integrals

rescaling bx distributions

Definition at line 549 of file L1TDTTFClient.cc.

References buildPhiEtaPlotO(), buildPhiEtaPlotOFC(), dttf_2ndTrack_Summary, dttf_bx_integ, dttf_bx_integ_2ndTrack, dttf_bx_summary, dttf_bx_summary_2ndTrack, dttf_bx_wheel_integ, dttf_bx_wheel_integ_2ndTrack, dttf_bx_wheel_summary, dttf_bx_wheel_summary_2ndTrack, dttf_eta_fine_fraction, dttf_eta_integ, dttf_eta_integ_2ndTrack, dttf_eta_wheel, dttf_fine_fraction_wh, dttf_highQual_Summary, dttf_nTracks_integ, dttf_nTracks_integ_2ndTrack, dttf_nTracks_wheel, dttf_nTracks_wheel_2ndTrack, dttf_occupancySummary, dttf_occupancySummary_2ndTrack, dttf_phi_eta_coarse_integ, dttf_phi_eta_fine_integ, dttf_phi_eta_integ, dttf_phi_eta_integ_2ndTrack, dttf_phi_integ, dttf_phi_integ_2ndTrack, dttf_phi_wheel, dttf_pt_integ, dttf_pt_integ_2ndTrack, dttf_pt_wheel, dttf_q_integ, dttf_q_integ_2ndTrack, dttf_q_wheel, dttf_quality_integ, dttf_quality_integ_2ndTrack, dttf_quality_summary, dttf_quality_summary_2ndTrack, dttf_quality_summary_wheel, dttf_quality_wheel, getTH1F(), MonitorElement::getTH1F(), getTH2F(), normalize(), MonitorElement::Reset(), pileupReCalc_HLTpaths::scale, MonitorElement::setBinContent(), tmp, wheel_, and wheelpath_.

Referenced by makeSummary().

550 {
551 
552  char hname[100];
553  int wheelBx[4];
554  int wheelBx2nd[4];
555  int wheelSumBx[4];
556  int wheelSumBx2nd[4];
557  int qualities[8];
558 
559  memset( wheelSumBx, 0, 4 * sizeof(int) );
560  memset( wheelSumBx2nd, 0, 4 * sizeof(int) );
561 
564  dttf_q_integ->Reset();
565  dttf_pt_integ->Reset();
575 
579 
580  for ( unsigned int wh = 0; wh < 6 ; ++wh ) {
581 
582  dttf_eta_wheel[wh]->Reset();
583  dttf_q_wheel[wh]->Reset();
584  dttf_pt_wheel[wh]->Reset();
585  dttf_phi_wheel[wh]->Reset();
586  dttf_quality_wheel[wh]->Reset();
588 
589  double wheelEtaAll = 0;
590  double wheelEtaFine = 0;
591  memset( wheelBx, 0, 4 * sizeof(int) );
592  memset( wheelBx2nd, 0, 4 * sizeof(int) );
593 
595  memset( qualities, 0, 8 * sizeof(int) );
596 
602  "%s/dttf_07_phi_vs_etaFine_wh%s",
603  "%s/dttf_08_phi_vs_etaCoarse_wh%s", wh );
604 
606  "%s/2ND_TRACK_ONLY/dttf_06_phi_vs_eta_wh%s_2ndTrack",
607  wh );
608 
609 
613  for ( unsigned int sector = 1; sector < 13; ++sector ) {
614 
618  sprintf( hname, "%s/BX_BySector/dttf_bx_wh%s_se%d",
619  wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector );
620 
621  TH1F * bxsector = getTH1F(hname);
622  if ( ! bxsector ) {
623  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
624  << std::string(hname);
625  } else {
626 
627  for ( unsigned int bx = 1; bx < 4 ; ++bx ) {
628 
629  int bxval = bxsector->GetBinContent( bx );
630 
631  if ( bx == 2 ) {
632  // if ( wh == 2 )
633  // dttf_occupancySummary->setBinContent( wh+1, sector, bxval*14 );
634  // else
635  // dttf_occupancySummary->setBinContent( wh+1, sector, bxval );
636  dttf_occupancySummary->setBinContent( wh+1, sector, bxval );
637  dttf_nTracks_wheel[wh]->setBinContent(sector, bxval );
638  }
639  wheelBx[bx] += bxval;
640  dttf_bx_wheel_summary[wh]->setBinContent( sector, bx, bxval );
641  }
642  }
643 
644 
648  sprintf( hname, "%s/BX_BySector/2ND_TRACK_ONLY/dttf_bx_2ndTrack_wh%s_se%d",
649  wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector );
650 
651  TH1F * bxsector2nd = getTH1F(hname);
652  if ( ! bxsector2nd ) {
653  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
654  << std::string(hname);
655  } else {
656 
657  for ( unsigned int bx = 1; bx < 4 ; ++bx ) {
658  int bxval = bxsector2nd->GetBinContent( bx );
659 
660  if ( bx == 2 ) {
661  dttf_2ndTrack_Summary->setBinContent( wh+1, sector, bxval );
662  dttf_occupancySummary_2ndTrack->setBinContent(wh+1, sector, bxval);
663  dttf_nTracks_wheel_2ndTrack[wh]->setBinContent(sector, bxval );
664  }
665  wheelBx2nd[bx] += bxval;
666  dttf_bx_wheel_summary_2ndTrack[wh]->setBinContent(sector, bx, bxval);
667  }
668  }
669 
673  sprintf( hname, "%s/Charge/dttf_charge_wh%s_se%d",
674  wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector );
675  TH1F * tmp = getTH1F(hname);
676  if ( ! tmp ) {
677  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
678  << std::string(hname);
679  } else {
680  dttf_q_integ->getTH1F()->Add( tmp );
681  dttf_q_wheel[wh]->getTH1F()->Add( tmp );
682  }
683 
687  sprintf( hname, "%s/PT/dttf_pt_wh%s_se%d",
688  wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector );
689  tmp = getTH1F(hname);
690  if ( ! tmp ) {
691  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
692  << std::string(hname);
693  } else {
694  dttf_pt_integ->getTH1F()->Add( tmp );
695  dttf_pt_wheel[wh]->getTH1F()->Add( tmp );
696  }
697 
698 
702  sprintf( hname, "%s/Phi/dttf_phi_wh%s_se%d",
703  wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector );
704  tmp = getTH1F(hname);
705  if ( ! tmp ) {
706  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
707  << std::string(hname);
708  } else {
709  dttf_phi_integ->getTH1F()->Add( tmp );
710  dttf_phi_wheel[wh]->getTH1F()->Add( tmp );
711  }
712 
713 
717  double highQual = 0;
718  double denHighQual = 0;
719  sprintf( hname, "%s/Quality/dttf_qual_wh%s_se%d",
720  wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector );
721  tmp = getTH1F(hname);
722  if ( ! tmp ) {
723  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
724  << std::string(hname);
725  } else {
726 
727  dttf_quality_wheel[wh]->getTH1F()->Add( tmp );
728 
729 
730  for ( unsigned int qual = 1; qual < 4 ; ++qual ) {
731  double bincontent = tmp->GetBinContent( qual );
732  qualities[qual] += bincontent;
733  denHighQual += bincontent;
734  dttf_quality_summary_wheel[wh]->setBinContent(sector, qual, bincontent);
735  }
736 
737  for ( unsigned int qual = 4; qual < 8 ; ++qual ) {
738  double bincontent = tmp->GetBinContent( qual );
739  qualities[qual] += bincontent;
740  dttf_quality_summary_wheel[wh]->setBinContent(sector, qual, bincontent);
741  denHighQual += bincontent;
742  highQual += bincontent;
743  }
744 
745  }
746  if ( denHighQual > 0 ) highQual /= denHighQual;
747  dttf_highQual_Summary->setBinContent( wh+1, sector, highQual );
748 
749 
753  sprintf( hname, "%s/Eta/dttf_eta_wh%s_se%d",
754  wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector );
755  tmp = getTH1F(hname);
756  if ( ! tmp ) {
757  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
758  << std::string(hname);
759  } else {
760  dttf_eta_integ->getTH1F()->Add( tmp );
761  dttf_eta_wheel[wh]->getTH1F()->Add( tmp );
762  }
763 
764 
768  sprintf( hname, "%s/EtaFineFraction/dttf_etaFine_fraction_wh%s_se%d",
769  wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector );
770  tmp = getTH1F(hname);
771  if ( ! tmp ) {
772  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
773  << std::string(hname);
774  } else {
775  double fine = tmp->GetBinContent( 1 );
776  double coarse = tmp->GetBinContent( 2 );
777  double tot = fine + coarse;
778  wheelEtaAll += tot;
779  wheelEtaFine += fine;
780  if ( tot > 0 ) {
781  dttf_fine_fraction_wh[wh]->setBinContent( sector, fine/tot );
782  }
783  }
784 
785  }
786 
790  if ( wheelEtaAll > 0 ) {
791  dttf_eta_fine_fraction->setBinContent( wh+1, wheelEtaFine/wheelEtaAll );
792  }
793 
797  dttf_nTracks_integ->setBinContent( wh+1, wheelBx[2] );
798  dttf_nTracks_integ_2ndTrack->setBinContent( wh+1, wheelBx2nd[2] );
799 
803  for ( unsigned int bx = 1; bx < 4; ++bx ) {
804 
805  dttf_bx_wheel_integ[wh]->setBinContent( bx, wheelBx[bx] );
806  dttf_bx_summary->setBinContent( wh+1, bx, wheelBx[bx] );
807  wheelSumBx[bx] += wheelBx[bx];
808 
809  dttf_bx_wheel_integ_2ndTrack[wh]->setBinContent( bx, wheelBx2nd[bx] );
810  dttf_bx_summary_2ndTrack->setBinContent( wh+1, bx, wheelBx2nd[bx] );
811  wheelSumBx2nd[bx] += wheelBx2nd[bx];
812 
813  }
814 
815 
819  for ( unsigned int qual = 1; qual < 8 ; ++qual ) {
820  dttf_quality_summary->setBinContent( wh+1, qual, qualities[qual] );
821  dttf_quality_integ->getTH1F()->AddBinContent( qual, qualities[qual] );
822  }
823 
824 
834  normalize( dttf_eta_wheel[wh]->getTH1F() );
835  normalize( dttf_q_wheel[wh]->getTH1F() );
836  normalize( dttf_pt_wheel[wh]->getTH1F() );
837  normalize( dttf_phi_wheel[wh]->getTH1F() );
838 
842  double scale = wheelBx[2];
843  if ( scale > 0 ) {
844  scale = 1/scale;
845  normalize( dttf_bx_wheel_integ[wh]->getTH1F(), scale );
846  }
847 
848  scale = wheelBx2nd[2];
849  if ( scale > 0 ) {
850  scale = 1/scale;
852  }
853 
854 
855 
856 
862 
863 
867  sprintf( hname, "%s/2ND_TRACK_ONLY/dttf_07_eta_wh%s_2ndTrack",
868  wheelpath_[wh].c_str(), wheel_[wh].c_str() );
869 
870  TH1F * tmp = getTH1F(hname);
871  if ( ! tmp ) {
872  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
873  << std::string(hname);
874  } else {
875  dttf_eta_integ_2ndTrack->getTH1F()->Add( tmp );
876  }
877 
881  sprintf( hname, "%s/2ND_TRACK_ONLY/dttf_08_phi_wh%s_2ndTrack",
882  wheelpath_[wh].c_str(), wheel_[wh].c_str() );
883  tmp = getTH1F(hname);
884  if ( ! tmp ) {
885  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
886  << std::string(hname);
887  } else {
888  dttf_phi_integ_2ndTrack->getTH1F()->Add( tmp );
889  }
890 
891 
895  sprintf( hname, "%s/2ND_TRACK_ONLY/dttf_09_pt_wh%s_2ndTrack",
896  wheelpath_[wh].c_str(), wheel_[wh].c_str() );
897  tmp = getTH1F(hname);
898  if ( ! tmp ) {
899  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
900  << std::string(hname);
901  } else {
902  dttf_pt_integ_2ndTrack->getTH1F()->Add( tmp );
903  }
904 
908  sprintf( hname, "%s/2ND_TRACK_ONLY/dttf_10_charge_wh%s_2ndTrack",
909  wheelpath_[wh].c_str(), wheel_[wh].c_str() );
910  tmp = getTH1F(hname);
911  if ( ! tmp ) {
912  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
913  << std::string(hname);
914  } else {
915  dttf_q_integ_2ndTrack->getTH1F()->Add( tmp );
916  }
917 
921  sprintf( hname, "%s/2ND_TRACK_ONLY/dttf_04_quality_wh%s_2ndTrack",
922  wheelpath_[wh].c_str(), wheel_[wh].c_str() );
923  tmp = getTH1F(hname);
924  if ( ! tmp ) {
925  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
926  << std::string(hname);
927  } else {
928  for ( unsigned int qual = 1; qual < 8; ++qual ) {
929  double binqual = tmp->GetBinContent( qual );
930  dttf_quality_integ_2ndTrack->getTH1F()->AddBinContent( qual, binqual );
931  dttf_quality_summary_2ndTrack->setBinContent( wh+1, qual, binqual );
932  }
933  }
934 
935 
936  }
937 
941  for ( unsigned int bx = 1; bx < 4; ++bx ) {
942  dttf_bx_integ->setBinContent( bx, wheelSumBx[bx] );
943  dttf_bx_integ_2ndTrack->setBinContent( bx, wheelSumBx2nd[bx] );
944  }
945 
949  double scale = wheelSumBx[2];
950  if ( scale > 0 ) {
951  scale = 1./scale;
953  }
954 
955  scale = wheelSumBx2nd[2];
956  if ( scale > 0 ) {
957  scale = 1./scale;
959  }
960 
961 
962 }
MonitorElement * dttf_bx_integ_2ndTrack
Definition: L1TDTTFClient.h:97
MonitorElement * dttf_occupancySummary
Definition: L1TDTTFClient.h:74
MonitorElement * dttf_quality_summary
Definition: L1TDTTFClient.h:79
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * dttf_q_wheel[6]
TH2F * getTH2F(const char *hname)
MonitorElement * dttf_eta_integ_2ndTrack
void buildPhiEtaPlotO(MonitorElement *phi_eta_integ, const std::string &path, int wh)
MonitorElement * dttf_quality_integ_2ndTrack
Definition: L1TDTTFClient.h:98
MonitorElement * dttf_eta_wheel[6]
MonitorElement * dttf_nTracks_integ
Definition: L1TDTTFClient.h:73
MonitorElement * dttf_quality_integ
Definition: L1TDTTFClient.h:78
std::string wheelpath_[6]
Definition: L1TDTTFClient.h:69
MonitorElement * dttf_bx_wheel_integ_2ndTrack[6]
MonitorElement * dttf_bx_wheel_summary[6]
MonitorElement * dttf_pt_integ_2ndTrack
MonitorElement * dttf_bx_integ
Definition: L1TDTTFClient.h:76
MonitorElement * dttf_phi_eta_fine_integ
Definition: L1TDTTFClient.h:82
MonitorElement * dttf_phi_wheel[6]
MonitorElement * dttf_phi_eta_integ
Definition: L1TDTTFClient.h:83
MonitorElement * dttf_quality_summary_wheel[6]
MonitorElement * dttf_pt_integ
Definition: L1TDTTFClient.h:86
MonitorElement * dttf_phi_eta_coarse_integ
Definition: L1TDTTFClient.h:81
MonitorElement * dttf_occupancySummary_2ndTrack
Definition: L1TDTTFClient.h:95
MonitorElement * dttf_eta_integ
Definition: L1TDTTFClient.h:87
MonitorElement * dttf_2ndTrack_Summary
Definition: L1TDTTFClient.h:91
MonitorElement * dttf_q_integ_2ndTrack
MonitorElement * dttf_bx_wheel_summary_2ndTrack[6]
MonitorElement * dttf_bx_summary
Definition: L1TDTTFClient.h:75
MonitorElement * dttf_quality_wheel[6]
TH1F * getTH1F(void) const
TH1F * getTH1F(const char *hname)
MonitorElement * dttf_eta_fine_fraction
Definition: L1TDTTFClient.h:84
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
MonitorElement * dttf_fine_fraction_wh[6]
MonitorElement * dttf_nTracks_wheel[6]
void buildPhiEtaPlotOFC(MonitorElement *phi_eta_fine_integ, MonitorElement *phi_eta_coarse_integ, MonitorElement *phi_eta_integ, const std::string &path_fine, const std::string &path_coarse, int wh)
MonitorElement * dttf_bx_summary_2ndTrack
Definition: L1TDTTFClient.h:96
MonitorElement * dttf_nTracks_integ_2ndTrack
Definition: L1TDTTFClient.h:94
MonitorElement * dttf_phi_integ_2ndTrack
MonitorElement * dttf_pt_wheel[6]
MonitorElement * dttf_nTracks_wheel_2ndTrack[6]
MonitorElement * dttf_phi_integ
Definition: L1TDTTFClient.h:85
MonitorElement * dttf_highQual_Summary
Definition: L1TDTTFClient.h:80
void Reset(void)
reset ME (ie. contents, errors, etc)
MonitorElement * dttf_q_integ
Definition: L1TDTTFClient.h:88
MonitorElement * dttf_bx_wheel_integ[6]
void normalize(T *me)
std::string wheel_[6]
Definition: L1TDTTFClient.h:68
MonitorElement * dttf_quality_summary_2ndTrack
Definition: L1TDTTFClient.h:99
MonitorElement * dttf_phi_eta_integ_2ndTrack
void L1TDTTFClient::endJob ( void  )
protectedvirtual

Endjob.

Reimplemented from edm::EDAnalyzer.

Definition at line 456 of file L1TDTTFClient.cc.

457 {
458 }
void L1TDTTFClient::endLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup c 
)
protectedvirtual

DQM Client Diagnostic.

Processing by Luminosity Block

Reimplemented from edm::EDAnalyzer.

Definition at line 429 of file L1TDTTFClient.cc.

References makeSummary(), normalize(), occupancy_r_, and online_.

431 {
432 
434  if ( online_ ) {
435  makeSummary();
437  }
438 
439 }
TH2F * occupancy_r_
counter
Definition: L1TDTTFClient.h:65
void normalize(T *me)
void L1TDTTFClient::endRun ( const edm::Run r,
const edm::EventSetup c 
)
protectedvirtual

EndRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 450 of file L1TDTTFClient.cc.

References makeSummary().

451 {
452  makeSummary();
453 }
TH1F * L1TDTTFClient::getTH1F ( const char *  hname)
private

Definition at line 1014 of file L1TDTTFClient.cc.

References dbe_, DQMStore::get(), MonitorElement::getTH1F(), and NULL.

Referenced by buildSummaries().

1015 {
1016 
1017  MonitorElement * me = dbe_->get(hname);
1018  if ( ! me ) {
1019  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get ME "
1020  << std::string(hname);
1021  return NULL;
1022  }
1023 
1024 
1025  // edm::LogInfo("L1TDTTFClient::getTH1F") << "#################### "
1026  // << std::string(hname);
1027 
1028  return me->getTH1F();
1029 
1030 }
#define NULL
Definition: scimark2.h:8
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1468
DQMStore * dbe_
Definition: L1TDTTFClient.h:66
TH1F * getTH1F(void) const
TH2F * L1TDTTFClient::getTH2F ( const char *  hname)
private

Definition at line 1034 of file L1TDTTFClient.cc.

References dbe_, DQMStore::get(), MonitorElement::getTH2F(), and NULL.

Referenced by beginLuminosityBlock(), buildHighQualityPlot(), buildPhiEtaPlotO(), buildPhiEtaPlotOFC(), buildSummaries(), and setGMTsummary().

1035 {
1036 
1037  MonitorElement * me = dbe_->get(hname);
1038  if ( ! me ) {
1039  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get ME "
1040  << std::string(hname);
1041  return NULL;
1042  }
1043 
1044 
1045  // edm::LogInfo("L1TDTTFClient::getTH2F") << "#################### "
1046  // << std::string(hname);
1047 
1048  return me->getTH2F();
1049 
1050 }
#define NULL
Definition: scimark2.h:8
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1468
DQMStore * dbe_
Definition: L1TDTTFClient.h:66
TH2F * getTH2F(void) const
void L1TDTTFClient::makeSummary ( )
protected

Build Summariy plots

RESCALE PLOTS

BX has simply all entries

Scale plots with all entries

Scale plots with only physical entries (no N0 duplicates)

RESCALE PLOTS FOR 2nd tracks

BX has simply all entries

buildHigh Quality Summary Plot

Scale plots with all entries

Scale plots with only physical entries (no N0 duplicates)

GMT

Definition at line 462 of file L1TDTTFClient.cc.

References buildHighQualityPlot(), buildSummaries(), dttf_2ndTrack_Summary, dttf_bx_summary, dttf_bx_summary_2ndTrack, dttf_eta_integ, dttf_eta_integ_2ndTrack, dttf_highQual_Summary_2ndTrack, dttf_nTracks_integ, dttf_nTracks_integ_2ndTrack, dttf_occupancySummary, dttf_occupancySummary_2ndTrack, dttf_phi_eta_coarse_integ, dttf_phi_eta_fine_integ, dttf_phi_eta_integ, dttf_phi_eta_integ_2ndTrack, dttf_phi_integ, dttf_phi_integ_2ndTrack, dttf_pt_integ, dttf_pt_integ_2ndTrack, dttf_q_integ, dttf_q_integ_2ndTrack, dttf_quality_integ, dttf_quality_integ_2ndTrack, dttf_quality_summary, dttf_quality_summary_2ndTrack, python.tagInventory::entries, MonitorElement::getTH1F(), MonitorElement::getTH2F(), normalize(), pileupReCalc_HLTpaths::scale, and setGMTsummary().

Referenced by endLuminosityBlock(), and endRun().

463 {
467  buildSummaries();
468 
472  double scale = 0;
473  double entries = dttf_occupancySummary->getTH2F()->Integral();
474 
475  if ( entries ) {
476 
479 
481  scale = 1 / entries;
484 
486  double physEntries = dttf_eta_integ->getTH1F()->Integral();
487  if ( physEntries > 0 ) {
488  double physScale = 1 / physEntries;
489 
490  normalize( dttf_phi_eta_integ->getTH2F(), physScale );
491 
492  normalize( dttf_phi_eta_fine_integ->getTH2F(), physScale );
494  normalize( dttf_quality_summary->getTH2F(), physScale );
495 
496  normalize( dttf_eta_integ->getTH1F(), physScale );
497  normalize( dttf_q_integ->getTH1F(), physScale );
498  normalize( dttf_pt_integ->getTH1F(), physScale );
499  normalize( dttf_phi_integ->getTH1F(), physScale );
500  normalize( dttf_quality_integ->getTH1F(), physScale );
501 
502  }
503 
504  }
505 
509 
510  double entries2ndTrack = dttf_occupancySummary_2ndTrack->getTH2F()->Integral();
511  if ( entries2ndTrack > 0 ) {
512 
515 
517  TH2F * ratio = dttf_occupancySummary_2ndTrack->getTH2F();
519  "%s/2ND_TRACK_ONLY/dttf_05_quality_summary_wh%s_2ndTrack" );
520 
522 
524  double scale2nd = 1 / entries2ndTrack;
526  normalize( dttf_nTracks_integ_2ndTrack->getTH1F(), scale2nd ); //
527 
528 
537 
538  }
539 
541  setGMTsummary();
542 
543 }
MonitorElement * dttf_occupancySummary
Definition: L1TDTTFClient.h:74
MonitorElement * dttf_quality_summary
Definition: L1TDTTFClient.h:79
MonitorElement * dttf_eta_integ_2ndTrack
void setGMTsummary()
MonitorElement * dttf_quality_integ_2ndTrack
Definition: L1TDTTFClient.h:98
MonitorElement * dttf_nTracks_integ
Definition: L1TDTTFClient.h:73
MonitorElement * dttf_quality_integ
Definition: L1TDTTFClient.h:78
MonitorElement * dttf_pt_integ_2ndTrack
MonitorElement * dttf_phi_eta_fine_integ
Definition: L1TDTTFClient.h:82
MonitorElement * dttf_highQual_Summary_2ndTrack
MonitorElement * dttf_phi_eta_integ
Definition: L1TDTTFClient.h:83
MonitorElement * dttf_pt_integ
Definition: L1TDTTFClient.h:86
MonitorElement * dttf_phi_eta_coarse_integ
Definition: L1TDTTFClient.h:81
MonitorElement * dttf_occupancySummary_2ndTrack
Definition: L1TDTTFClient.h:95
MonitorElement * dttf_eta_integ
Definition: L1TDTTFClient.h:87
MonitorElement * dttf_2ndTrack_Summary
Definition: L1TDTTFClient.h:91
MonitorElement * dttf_q_integ_2ndTrack
MonitorElement * dttf_bx_summary
Definition: L1TDTTFClient.h:75
TH1F * getTH1F(void) const
void buildSummaries()
void buildHighQualityPlot(TH2F *occupancySummary, MonitorElement *highQual_Summary, const std::string &path)
MonitorElement * dttf_bx_summary_2ndTrack
Definition: L1TDTTFClient.h:96
MonitorElement * dttf_nTracks_integ_2ndTrack
Definition: L1TDTTFClient.h:94
MonitorElement * dttf_phi_integ_2ndTrack
TH2F * getTH2F(void) const
MonitorElement * dttf_phi_integ
Definition: L1TDTTFClient.h:85
MonitorElement * dttf_q_integ
Definition: L1TDTTFClient.h:88
void normalize(T *me)
MonitorElement * dttf_quality_summary_2ndTrack
Definition: L1TDTTFClient.h:99
MonitorElement * dttf_phi_eta_integ_2ndTrack
template<typename T >
void L1TDTTFClient::normalize ( T me)
inlineprivate

Definition at line 160 of file L1TDTTFClient.h.

References pileupReCalc_HLTpaths::scale.

Referenced by buildSummaries(), endLuminosityBlock(), makeSummary(), and normalize().

161  {
162  double scale = me->Integral();
163  if ( scale > 0 ) {
164  normalize( me, 1./scale, scale );
165  }
166  }
void normalize(T *me)
template<typename T >
void L1TDTTFClient::normalize ( T me,
const double &  scale 
)
inlineprivate

Definition at line 169 of file L1TDTTFClient.h.

References normalize().

170  {
171  normalize( me, scale, me->Integral() );
172  }
void normalize(T *me)
template<typename T >
void L1TDTTFClient::normalize ( T me,
const double &  scale,
const double &  entries 
)
inlineprivate

Definition at line 176 of file L1TDTTFClient.h.

177  {
178  me->SetEntries( entries );
179  me->Scale( scale );
180  }
void L1TDTTFClient::setGMTsummary ( )
private

Definition at line 967 of file L1TDTTFClient.cc.

References dttf_gmt_matching, getTH2F(), gmtpath_, match(), and MonitorElement::setBinContent().

Referenced by makeSummary().

968 {
969  char hname[60];
970  sprintf( hname, "%s/dttf_tracks_with_gmt_match", gmtpath_.c_str() );
971  TH2F * gmt_match = getTH2F(hname);
972  if ( ! gmt_match ) {
973  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
974  << std::string(hname);
975  return;
976  }
977 
978 
979 
980  sprintf( hname, "%s/dttf_tracks_without_gmt_match", gmtpath_.c_str() );
981  TH2F * gmt_missed = getTH2F(hname);
982  if ( ! gmt_missed ) {
983  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
984  << std::string(hname);
985  return;
986  }
987 
988 
989  sprintf( hname, "%s/dttf_missing_tracks_in_gmt", gmtpath_.c_str() );
990  TH2F * gmt_ghost = getTH2F(hname);
991  if ( ! gmt_ghost ) {
992  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
993  << std::string(hname);
994  return;
995  }
996 
997  int match = gmt_match->Integral();
998  int missed = gmt_missed->Integral();
999  int ghost = gmt_ghost->Integral();
1000  float tot = match + missed + ghost;
1001  if ( tot > 0 ) {
1002  double val = ghost/tot;
1003  dttf_gmt_matching->setBinContent( 1, val );
1004  val = match/tot;
1005  dttf_gmt_matching->setBinContent( 2, val );
1006  val = missed/tot;
1007  dttf_gmt_matching->setBinContent( 3, val );
1008  }
1009 }
MonitorElement * dttf_gmt_matching
Definition: L1TDTTFClient.h:90
void setBinContent(int binx, double content)
set content of bin (1-D)
TH2F * getTH2F(const char *hname)
std::string gmtpath_
Definition: L1TDTTFClient.h:71
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:6
void L1TDTTFClient::setMapLabel ( MonitorElement me)
private
void L1TDTTFClient::setQualLabel ( MonitorElement me,
int  axis 
)
private

Definition at line 1319 of file L1TDTTFClient.cc.

References MonitorElement::setAxisTitle(), and MonitorElement::setBinLabel().

Referenced by beginJob().

1320 {
1321 
1322  if( axis == 1 )
1323  me->setAxisTitle("Quality", axis);
1324  me->setBinLabel(1, "T34", axis);
1325  me->setBinLabel(2, "T23/24", axis);
1326  me->setBinLabel(3, "T12/13/14", axis);
1327  me->setBinLabel(4, "T234", axis);
1328  me->setBinLabel(5, "T134", axis);
1329  me->setBinLabel(6, "T123/124", axis);
1330  me->setBinLabel(7, "T1234", axis);
1331 }
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void L1TDTTFClient::setWheelLabel ( MonitorElement me)
private

Definition at line 1305 of file L1TDTTFClient.cc.

References MonitorElement::setAxisTitle(), and MonitorElement::setBinLabel().

Referenced by beginJob().

1306 {
1307  me->setAxisTitle("Wheel", 1);
1308  me->setBinLabel(1, "N2", 1);
1309  me->setBinLabel(2, "N1", 1);
1310  me->setBinLabel(3, "N0", 1);
1311  me->setBinLabel(4, "P0", 1);
1312  me->setBinLabel(5, "P1", 1);
1313  me->setBinLabel(6, "P2", 1);
1314 
1315 }
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)

Member Data Documentation

int L1TDTTFClient::counterLS_
private

Definition at line 64 of file L1TDTTFClient.h.

Referenced by beginLuminosityBlock().

DQMStore* L1TDTTFClient::dbe_
private

Definition at line 66 of file L1TDTTFClient.h.

Referenced by beginJob(), getTH1F(), and getTH2F().

MonitorElement* L1TDTTFClient::dttf_2ndTrack_Summary
private

Definition at line 91 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_bx_integ
private

Definition at line 76 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_bx_integ_2ndTrack
private

Definition at line 97 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_bx_summary
private

Definition at line 75 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_bx_summary_2ndTrack
private

Definition at line 96 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_bx_wheel_integ[6]
private

Definition at line 109 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_bx_wheel_integ_2ndTrack[6]
private

Definition at line 120 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_bx_wheel_summary[6]
private

Definition at line 108 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_bx_wheel_summary_2ndTrack[6]
private

Definition at line 119 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_eta_fine_fraction
private

Definition at line 84 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_eta_fine_integ
private

Definition at line 77 of file L1TDTTFClient.h.

MonitorElement* L1TDTTFClient::dttf_eta_integ
private

Definition at line 87 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_eta_integ_2ndTrack
private

Definition at line 102 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_eta_wheel[6]
private

Definition at line 113 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_fine_fraction_wh[6]
private

Definition at line 112 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_gmt_matching
private

Definition at line 90 of file L1TDTTFClient.h.

Referenced by beginJob(), and setGMTsummary().

MonitorElement* L1TDTTFClient::dttf_highQual_Summary
private

Definition at line 80 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_highQual_Summary_2ndTrack
private

Definition at line 100 of file L1TDTTFClient.h.

Referenced by beginJob(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_nTracks_integ
private

Definition at line 73 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_nTracks_integ_2ndTrack
private

Definition at line 94 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_nTracks_wheel[6]
private

Definition at line 107 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_nTracks_wheel_2ndTrack[6]
private

Definition at line 118 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_occupancySummary
private

Definition at line 74 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_occupancySummary_2ndTrack
private

Definition at line 95 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_phi_eta_coarse_integ
private

Definition at line 81 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_phi_eta_fine_integ
private

Definition at line 82 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_phi_eta_integ
private

Definition at line 83 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_phi_eta_integ_2ndTrack
private

Definition at line 101 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_phi_integ
private

Definition at line 85 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_phi_integ_2ndTrack
private

Definition at line 103 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_phi_wheel[6]
private

Definition at line 114 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_pt_integ
private

Definition at line 86 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_pt_integ_2ndTrack
private

Definition at line 104 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_pt_wheel[6]
private

Definition at line 115 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_q_integ
private

Definition at line 88 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_q_integ_2ndTrack
private

Definition at line 105 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_q_wheel[6]
private

Definition at line 116 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_quality_integ
private

Definition at line 78 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_quality_integ_2ndTrack
private

Definition at line 98 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_quality_summary
private

Definition at line 79 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_quality_summary_2ndTrack
private

Definition at line 99 of file L1TDTTFClient.h.

Referenced by beginJob(), buildSummaries(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_quality_summary_wheel[6]
private

Definition at line 111 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_quality_wheel[6]
private

Definition at line 110 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

edm::InputTag L1TDTTFClient::dttfSource_
private

Definition at line 60 of file L1TDTTFClient.h.

std::string L1TDTTFClient::gmtpath_
private

Definition at line 71 of file L1TDTTFClient.h.

Referenced by beginJob(), and setGMTsummary().

std::string L1TDTTFClient::inclusivepath_
private

Definition at line 70 of file L1TDTTFClient.h.

Referenced by beginJob(), and beginLuminosityBlock().

std::string L1TDTTFClient::l1tdttffolder_
private

Definition at line 59 of file L1TDTTFClient.h.

Referenced by beginJob().

TH2F* L1TDTTFClient::occupancy_r_
private

counter

Definition at line 65 of file L1TDTTFClient.h.

Referenced by beginLuminosityBlock(), and endLuminosityBlock().

bool L1TDTTFClient::online_
private

Definition at line 61 of file L1TDTTFClient.h.

Referenced by beginLuminosityBlock(), and endLuminosityBlock().

int L1TDTTFClient::resetafterlumi_
private

Definition at line 63 of file L1TDTTFClient.h.

Referenced by beginLuminosityBlock().

bool L1TDTTFClient::verbose_
private

Definition at line 62 of file L1TDTTFClient.h.

std::string L1TDTTFClient::wheel_[6]
private
std::string L1TDTTFClient::wheelpath_[6]
private