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 edm::EDConsumerBase

Public Member Functions

 L1TDTTFClient (const edm::ParameterSet &ps)
 Constructor. More...
 
virtual ~L1TDTTFClient ()
 Destructor. More...
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

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::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

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_occupancySummary_test
 
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_
 
std::string testpath_
 
bool verbose_
 
std::string wheel_ [6]
 
std::string wheelpath_ [6]
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- 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 19 of file L1TDTTFClient.cc.

20  : l1tdttffolder_ ( ps.getUntrackedParameter<std::string> ("l1tSourceFolder", "L1T/L1TDTTF") ),
21  dttfSource_( ps.getParameter< edm::InputTag >("dttfSource") ),
22  online_( ps.getUntrackedParameter<bool>("online", true) ),
23  resetafterlumi_( ps.getUntrackedParameter<int>("resetAfterLumi", 3) ),
25 {
26  edm::LogInfo( "L1TDTTFClient");
27 }
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 31 of file L1TDTTFClient.cc.

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

Member Function Documentation

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

Fake Analyze.

Implements edm::EDAnalyzer.

Definition at line 453 of file L1TDTTFClient.cc.

455 {
456 
457 
458 }
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

TEST directory for stats comparisons

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 37 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_occupancySummary_test, 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(), testpath_, wheel_, and wheelpath_.

38 {
39 
40  edm::LogInfo("L1TDTTFClient")<<"[L1TDTTFClient]: Begin Job";
41 
44 
45  wheelpath_[0] = l1tdttffolder_ + "/02-WHEEL_N2";
46  wheelpath_[1] = l1tdttffolder_ + "/03-WHEEL_N1";
47  wheelpath_[2] = l1tdttffolder_ + "/04-WHEEL_N0";
48  wheelpath_[3] = l1tdttffolder_ + "/05-WHEEL_P0";
49  wheelpath_[4] = l1tdttffolder_ + "/06-WHEEL_P1";
50  wheelpath_[5] = l1tdttffolder_ + "/07-WHEEL_P2";
51 
52  wheel_[0] = "N2";
53  wheel_[1] = "N1";
54  wheel_[2] = "N0";
55  wheel_[3] = "P0";
56  wheel_[4] = "P1";
57  wheel_[5] = "P2";
58 
59  inclusivepath_ = l1tdttffolder_ + "/01-INCLUSIVE";
60  gmtpath_ = l1tdttffolder_ + "/08-GMT_MATCH";
61  testpath_ = l1tdttffolder_ + "/09-TEST";
62 
64  char hname[100];//histo name
65  char mename[100];//ME name
66 
69 
71  sprintf(hname, "dttf_02_nTracks");
72  sprintf(mename, "DTTF Tracks by Wheel");
73  dttf_nTracks_integ = dbe_->book1D(hname, mename, 6, 0, 6);
75 
77  sprintf(hname, "dttf_03_tracks_occupancy_summary");
78  sprintf(mename, "DTTF Tracks Occupancy");
79  dttf_occupancySummary = dbe_->book2D( hname, mename, 6, 0, 6, 12, 1, 13 );
81  dttf_occupancySummary->setAxisTitle("Sector", 2);
82 
84 
86  sprintf(hname, "dttf_05_bx_occupancy");
87  sprintf(mename, "DTTF Tracks BX Distribution by Wheel");
88  dttf_bx_summary = dbe_->book2D( hname, mename, 6, 0, 6, 3, -1, 2 );
90  dttf_bx_summary->setAxisTitle("BX", 2 );
91 
93  sprintf(hname, "dttf_06_bx");
94  sprintf(mename, "DTTF Tracks BX w.r.t. Tracks with BX=0");
95  dttf_bx_integ = dbe_->book1D( hname, mename, 3, -1.5, 1.5 );
96  dttf_bx_integ->setAxisTitle("BX", 1);
97 
99  sprintf(hname, "dttf_07_quality");
100  sprintf(mename, "DTTF Tracks Quality distribution");
101  dttf_quality_integ = dbe_->book1D(hname, mename, 7, 1, 8);
103 
105  sprintf(hname, "dttf_08_quality_occupancy");
106  sprintf(mename, "DTTF Tracks Quality distribution by Wheel");
107  dttf_quality_summary = dbe_->book2D( hname, mename, 6, 0, 6, 7, 1, 8 );
108  dttf_quality_summary->setAxisTitle("Wheel", 1);
111 
113  sprintf(hname, "dttf_09_highQuality_Tracks");
114  sprintf(mename, "Fraction of DTTF Tracks with Quality>3");
115  dttf_highQual_Summary = dbe_->book2D( hname, mename, 6, 0, 6, 12, 1, 13 );
117  dttf_highQual_Summary->setAxisTitle("Sector", 2);
118 
119 
121  sprintf(hname, "dttf_10_phi_vs_etaCoarse");
122  sprintf(mename, "#eta-#phi DTTF Tracks occupancy (coarse #eta only, packed values)");
123  dttf_phi_eta_coarse_integ = dbe_->book2D( hname, mename, 64, 0, 64,
124  144, -6, 138. );
127 
129  sprintf(hname, "dttf_11_phi_vs_etaFine");
130  sprintf(mename, "#eta-#phi DTTF Tracks occupancy (fine #eta only, packed values)");
131  dttf_phi_eta_fine_integ = dbe_->book2D( hname, mename, 64, 0, 64,
132  144, -6, 138. );
135 
137  sprintf(hname, "dttf_12_phi_vs_eta");
138  sprintf(mename, "#eta-#phi DTTF Tracks occupancy");
139  dttf_phi_eta_integ = dbe_->book2D( hname, mename, 64, -1.2, 1.2,
140  144, -15, 345. );
141  dttf_phi_eta_integ->setAxisTitle("#eta", 1);
142  dttf_phi_eta_integ->setAxisTitle("#phi", 2);
143 
145  sprintf(hname, "dttf_13_eta_fine_fraction");
146  sprintf(mename, "Fraction of DTTF Tracks with Fine #eta Assignment");
147  dttf_eta_fine_fraction = dbe_->book1D( hname, mename, 6, 0, 6 );
150 
152 
154  sprintf(hname, "dttf_14_eta");
155  sprintf(mename, "DTTF Tracks #eta distribution (Packed values)");
156  dttf_eta_integ = dbe_->book1D(hname, mename, 64, -0.5, 63.5);
157  dttf_eta_integ->setAxisTitle("#eta", 1);
158 
160  sprintf(hname, "dttf_15_phi");
161  sprintf(mename, "DTTF Tracks Phi distribution (Packed values)");
162  dttf_phi_integ = dbe_->book1D(hname, mename, 144, -6, 138. );
163  dttf_phi_integ->setAxisTitle("#phi", 1);
164 
166  sprintf(hname, "dttf_16_pt");
167  sprintf(mename, "DTTF Tracks p_{T} distribution (Packed values)");
168  dttf_pt_integ = dbe_->book1D(hname, mename, 32, -0.5, 31.5);
169  dttf_pt_integ->setAxisTitle("p_{T}", 1);
170 
172  sprintf(hname, "dttf_17_charge");
173  sprintf(mename, "DTTF Tracks Charge distribution");
174  dttf_q_integ = dbe_->book1D(hname, mename, 2, -0.5, 1.5);
175  dttf_q_integ->setAxisTitle("Charge", 1);
176 
177 
178 
180  sprintf(hname, "dttf_18_2ndTrack_occupancy_summary");
181  sprintf(mename, "DTTF 2nd Tracks occupancy w.r.t. Tracks with BX=0");
182  dttf_2ndTrack_Summary = dbe_->book2D( hname, mename, 6, 0, 6, 12, 1, 13 );
184 
185 
186 
191  sprintf(hname, "dttf_gmt_fract_matching" );
192  sprintf(mename, "Fraction of DTTF tracks matching with GMT tracks" );
193  dttf_gmt_matching = dbe_->book1D( hname, mename, 3, 1, 4);
194  dttf_gmt_matching->setBinLabel(1, "GMT Only", 1);
195  dttf_gmt_matching->setBinLabel(2, "Matching", 1);
196  dttf_gmt_matching->setBinLabel(3, "DTTF Only", 1);
197 
198 
202 
204  sprintf(hname, "dttf_01_tracks_occupancy_test_summary");
205  sprintf(mename, "DTTF Tracks Occupancy");
206  dttf_occupancySummary_test = dbe_->book2D( hname, mename, 6, 0, 6, 12, 1, 13 );
209 
210 
214  dbe_->setCurrentFolder( inclusivepath_ + "/2ND_TRACK_ONLY");
215 
217  sprintf(hname, "dttf_01_nTracks_2ndTrack");
218  sprintf(mename, "DTTF 2nd Tracks per Wheel distribution");
219  dttf_nTracks_integ_2ndTrack = dbe_->book1D(hname, mename, 6, 0, 6);
221 
223  sprintf(hname, "dttf_02_occupancy_summary_2ndTrack");
224  sprintf(mename, "DTTF 2nd Tracks distribution by Sector and Wheel");
225  dttf_occupancySummary_2ndTrack = dbe_->book2D( hname, mename, 6, 0, 6,
226  12, 1, 13 );
228 
230  sprintf(hname, "dttf_03_bx_occupancy_2ndTrack");
231  sprintf(mename, "DTTF 2nd Tracks BX Distribution by Wheel");
232  dttf_bx_summary_2ndTrack = dbe_->book2D( hname, mename, 6, 0, 6, 3, -1, 2 );
235 
237  sprintf(hname, "dttf_04_bx_2ndTrack");
238  sprintf(mename, "Fraction of DTTF Tracks BX w.r.t. Tracks with BX=0");
239  dttf_bx_integ_2ndTrack = dbe_->book1D( hname, mename, 3, -1.5, 1.5 );
241 
243  sprintf(hname, "dttf_05_quality_2ndTrack");
244  sprintf(mename, "DTTF 2nd Tracks Quality distribution");
245  dttf_quality_integ_2ndTrack = dbe_->book1D(hname, mename, 7, 0.5, 7.5);
248 
250  sprintf(hname, "dttf_06_quality_occupancy_2ndTrack");
251  sprintf(mename, "DTTF 2nd Tracks Quality distribution by Wheel");
252  dttf_quality_summary_2ndTrack = dbe_->book2D( hname, mename,
253  6, 0, 6, 7, 1, 8 );
257 
259  sprintf(hname, "dttf_07_highQuality_Tracks_2ndTrack");
260  sprintf(mename, "Fraction of DTTF 2nd Tracks with Quality>3");
261  dttf_highQual_Summary_2ndTrack = dbe_->book2D( hname, mename, 6, 0, 6,
262  12, 1, 13 );
265 
267  sprintf(hname, "dttf_08_phi_vs_eta_2ndTrack");
268  sprintf(mename, "#eta-#phi DTTF Tracks occupancy for 2nd Tracks");
269  dttf_phi_eta_integ_2ndTrack = dbe_->book2D( hname, mename, 64, 0, 64,
270  144, -6, 138. );
273 
275  sprintf(hname, "dttf_09_eta_2ndTrack");
276  sprintf(mename, "DTTF 2nd Tracks #eta distribution (Packed values)");
277  dttf_eta_integ_2ndTrack = dbe_->book1D(hname, mename, 64, -0.5, 63.5);
279 
281  sprintf(hname, "dttf_10_phi_2ndTrack");
282  sprintf(mename, "DTTF 2nd Tracks Phi distribution (Packed values)");
283  dttf_phi_integ_2ndTrack = dbe_->book1D(hname, mename, 144, -6, 138 );
285 
287  sprintf(hname, "dttf_11_pt_2ndTrack");
288  sprintf(mename, "DTTF 2nd Tracks p_{T} distribution (Packed values)");
289  dttf_pt_integ_2ndTrack = dbe_->book1D(hname, mename, 32, -0.5, 31.5);
291 
293  sprintf(hname, "dttf_12_charge_2ndTrack");
294  sprintf(mename, "DTTF 2nd Tracks Charge distribution");
295  dttf_q_integ_2ndTrack = dbe_->book1D(hname, mename, 2, -0.5, 1.5);
296  dttf_q_integ_2ndTrack->setAxisTitle("Charge", 1);
297 
298 
299  for ( unsigned int wh = 0; wh < 6 ; ++wh ) {
301 
303  sprintf( hname, "dttf_02_nTracks_wh%s", wheel_[wh].c_str() );
304  sprintf( mename, "Wheel %s - Number of Tracks", wheel_[wh].c_str() );
305  dttf_nTracks_wheel[wh] = dbe_->book1D( hname, mename, 12, 1, 13);
306  dttf_nTracks_wheel[wh]->setAxisTitle("sector", 1);
307 
309  sprintf(hname, "dttf_03_bx_occupancy_wh%s", wheel_[wh].c_str() );
310  sprintf(mename, "Wheel %s - DTTF Tracks BX distribution by Sector",
311  wheel_[wh].c_str());
312  dttf_bx_wheel_summary[wh] = dbe_->book2D( hname, mename, 12, 1, 13, 3, -1, 2);
313  dttf_bx_wheel_summary[wh]->setAxisTitle("BX", 2 );
314  dttf_bx_wheel_summary[wh]->setAxisTitle("Sector", 1 );
315 
317  sprintf(hname, "dttf_04_bx_wh%s", wheel_[wh].c_str());
318  sprintf(mename, "Wheel %s - DTTF Tracks BX w.r.t. Tracks with BX=0", wheel_[wh].c_str());
319  dttf_bx_wheel_integ[wh] = dbe_->book1D(hname, mename, 3, -1.5, 1.5);
320  dttf_bx_wheel_integ[wh]->setAxisTitle("BX", 1);
321 
323  sprintf(hname, "dttf_05_quality_wh%s", wheel_[wh].c_str() );
324  sprintf(mename, "Wheel %s - Tracks Quality Distribution", wheel_[wh].c_str() );
325  dttf_quality_wheel[wh] = dbe_->book1D(hname, mename, 7, 1, 8);
326  dttf_quality_wheel[wh]->setAxisTitle("Quality", 1);
328 
330  sprintf(hname, "dttf_06_quality_summary_wh%s", wheel_[wh].c_str() );
331  sprintf(mename, "Wheel %s - Tracks Quality Distribution by Sector",
332  wheel_[wh].c_str() );
333  dttf_quality_summary_wheel[wh] = dbe_->book2D(hname, mename, 12, 1, 13, 7, 1, 8);
334  dttf_quality_summary_wheel[wh]->setAxisTitle("Sector", 1);
335  // dttf_quality_summary_wheel[wh]->setAxisTitle("Quality", 2);
337 
339  sprintf(hname, "dttf_09_etaFine_fraction_wh%s", wheel_[wh].c_str() );
340  sprintf(mename, "Wheel %s - Fraction of DTTF Tracks with fine #eta assignment",
341  wheel_[wh].c_str());
342  dttf_fine_fraction_wh[wh] = dbe_->book1D( hname, mename, 12, 1, 13);
343  dttf_fine_fraction_wh[wh]->setAxisTitle("Sector", 1 );
344 
345 
347  sprintf(hname, "dttf_10_eta_wh%s", wheel_[wh].c_str() );
348  sprintf(mename, "Wheel %s - DTTF Tracks #eta distribution (Packed values)",
349  wheel_[wh].c_str() );
350  dttf_eta_wheel[wh] = dbe_->book1D(hname, mename, 64, -0.5, 63.5 );
351  dttf_eta_wheel[wh]->setAxisTitle("#eta", 1 );
352 
354  sprintf(hname, "dttf_11_phi_wh%s", wheel_[wh].c_str() );
355  sprintf(mename, "Wheel %s - DTTF Tracks Phi distribution (Packed values)",
356  wheel_[wh].c_str() );
357  dttf_phi_wheel[wh] = dbe_->book1D(hname, mename, 144, -6, 138. );
358  dttf_phi_wheel[wh]->setAxisTitle("#phi", 1);
359 
361  sprintf(hname, "dttf_12_pt_wh%s", wheel_[wh].c_str() );
362  sprintf(mename, "Wheel %s - DTTF Tracks p_{T} distribution (Packed values)",
363  wheel_[wh].c_str() );
364  dttf_pt_wheel[wh] = dbe_->book1D(hname, mename, 32, -0.5, 31.5);
365  dttf_pt_wheel[wh]->setAxisTitle("p_{T}", 1);
366 
368  sprintf(hname, "dttf_13_charge_wh%s", wheel_[wh].c_str() );
369  sprintf(mename, "Wheel %s - DTTF Tracks Charge distribution",
370  wheel_[wh].c_str() );
371  dttf_q_wheel[wh] = dbe_->book1D(hname, mename, 2, -0.5, 1.5);
372  dttf_q_wheel[wh]->setAxisTitle("Charge", 1);
373 
374  }
375 
376 
378  for ( unsigned int wh = 0; wh < 6 ; ++wh ) {
379  dbe_->setCurrentFolder( wheelpath_[wh] + "/2ND_TRACK_ONLY" );
380 
382  sprintf( hname, "dttf_01_nTracks_wh%s_2ndTrack", wheel_[wh].c_str() );
383  sprintf( mename, "Wheel %s - DTTF Number of 2nd Tracks with BX=0",
384  wheel_[wh].c_str() );
385  dttf_nTracks_wheel_2ndTrack[wh] = dbe_->book1D( hname, mename,
386  12, 1, 13);
387  dttf_nTracks_wheel_2ndTrack[wh]->setAxisTitle("sector", 1);
388 
390  sprintf(hname, "dttf_02_bx_occupancy_wh%s_2ndTrack", wheel_[wh].c_str() );
391  sprintf(mename, "Wheel %s - DTTF 2nd Tracks BX distribution by Sector",
392  wheel_[wh].c_str());
393  dttf_bx_wheel_summary_2ndTrack[wh] = dbe_->book2D( hname, mename, 12, 1, 13, 3, -1, 2);
395  dttf_bx_wheel_summary_2ndTrack[wh]->setAxisTitle("Sector", 1 );
396 
398  sprintf(hname, "dttf_03_bx_wh%s_2ndTrack", wheel_[wh].c_str());
399  sprintf(mename, "Wheel %s - 2nd Tracks BX Distribution", wheel_[wh].c_str());
400  dttf_bx_wheel_integ_2ndTrack[wh] = dbe_->book1D(hname, mename, 3, -1.5, 1.5);
402 
403 
404  }
405 
406 
407 
408 }
MonitorElement * dttf_bx_integ_2ndTrack
Definition: L1TDTTFClient.h:99
MonitorElement * dttf_gmt_matching
Definition: L1TDTTFClient.h:91
MonitorElement * dttf_occupancySummary
Definition: L1TDTTFClient.h:75
MonitorElement * dttf_quality_summary
Definition: L1TDTTFClient.h:80
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:954
MonitorElement * dttf_quality_integ_2ndTrack
MonitorElement * dttf_eta_wheel[6]
MonitorElement * dttf_nTracks_integ
Definition: L1TDTTFClient.h:74
MonitorElement * dttf_quality_integ
Definition: L1TDTTFClient.h:79
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:77
MonitorElement * dttf_phi_eta_fine_integ
Definition: L1TDTTFClient.h:83
MonitorElement * dttf_highQual_Summary_2ndTrack
MonitorElement * dttf_phi_wheel[6]
MonitorElement * dttf_phi_eta_integ
Definition: L1TDTTFClient.h:84
MonitorElement * dttf_quality_summary_wheel[6]
MonitorElement * dttf_pt_integ
Definition: L1TDTTFClient.h:87
MonitorElement * dttf_phi_eta_coarse_integ
Definition: L1TDTTFClient.h:82
MonitorElement * dttf_occupancySummary_2ndTrack
Definition: L1TDTTFClient.h:97
MonitorElement * dttf_eta_integ
Definition: L1TDTTFClient.h:88
MonitorElement * dttf_2ndTrack_Summary
Definition: L1TDTTFClient.h:92
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:76
MonitorElement * dttf_quality_wheel[6]
MonitorElement * dttf_eta_fine_fraction
Definition: L1TDTTFClient.h:85
std::string l1tdttffolder_
Definition: L1TDTTFClient.h:59
MonitorElement * dttf_occupancySummary_test
Definition: L1TDTTFClient.h:94
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:98
MonitorElement * dttf_nTracks_integ_2ndTrack
Definition: L1TDTTFClient.h:96
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:1082
MonitorElement * dttf_phi_integ
Definition: L1TDTTFClient.h:86
MonitorElement * dttf_highQual_Summary
Definition: L1TDTTFClient.h:81
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:89
MonitorElement * dttf_bx_wheel_integ[6]
std::string inclusivepath_
Definition: L1TDTTFClient.h:70
std::string testpath_
Definition: L1TDTTFClient.h:72
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:667
void setWheelLabel(MonitorElement *me)
std::string wheel_[6]
Definition: L1TDTTFClient.h:68
MonitorElement * dttf_quality_summary_2ndTrack
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 416 of file L1TDTTFClient.cc.

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

418 {
420  ++counterLS_;
421 
422  if ( online_ && !( counterLS_ % resetafterlumi_ ) ) {
423  char hname[60];
424  sprintf( hname, "%s/dttf_04_tracks_occupancy_by_lumi",
425  inclusivepath_.c_str() );
426 
427  occupancy_r_ = getTH2F(hname);
428  if ( ! occupancy_r_ ) {
429  edm::LogError("L1TDTTFClient::beginLuminosityBlock:ME")
430  << "Failed to get TH2D " << std::string(hname);
431  } else {
432  edm::LogInfo("L1TDTTFClient::beginLuminosityBlock:RESET") << "Reseting plots by lumi!";
433  occupancy_r_->Reset();
434  }
435  }
436 
437 }
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 411 of file L1TDTTFClient.cc.

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

high quality TOBE IMPROVED

Definition at line 1068 of file L1TDTTFClient.cc.

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

Referenced by makeSummary().

1071 {
1072 
1073  char hname[150];
1074 
1078  for ( unsigned int wh = 0; wh < 6 ; ++wh ) {
1079  sprintf( hname, path.c_str(), wheelpath_[wh].c_str(), wheel_[wh].c_str() );
1080 
1081  TH2F * quality = getTH2F(hname);
1082  if ( ! quality ) {
1083  edm::LogError("L1TDTTFClient::buildHighQualityPlot")
1084  << "Failed to get TH2F " << std::string(hname);
1085  } else {
1086 
1087  for ( unsigned int sec = 1; sec < 13 ; ++sec ) {
1088  double denHighQual = occupancySummary->GetBinContent( wh+1, sec );
1089  double val = 0;
1090  if ( denHighQual > 0 ) {
1091  for ( unsigned int qual = 4; qual < 8 ; ++qual ) {
1092  val += quality->GetBinContent( qual, sec );
1093  }
1094  val /= denHighQual;
1095  }
1096  highQual_Summary->setBinContent( wh+1, sec, val );
1097  }
1098  }
1099  }
1100 }
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
tuple path
else: Piece not in the list, fine.
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 1189 of file L1TDTTFClient.cc.

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

Referenced by buildSummaries().

1192 {
1193  char hname[100];
1194  sprintf( hname, path.c_str(),
1195  wheelpath_[wh].c_str(), wheel_[wh].c_str() );
1196 
1197  TH2F * phi_vs_eta = getTH2F(hname);
1198  if ( ! phi_vs_eta ) {
1199  edm::LogError("L1TDTTFClient::buildPhiEtaPlotO:ME") << "Failed to get TH1D "
1200  << std::string(hname);
1201  } else {
1202 
1203  for ( unsigned int phi = 1; phi < 145 ; ++phi ) {
1204  float start = 0;
1205  int nbins = 0;
1206  switch ( wh ) {
1207  case 0 : start = 0; nbins = 18; break; // N2
1208  case 1 : start = 8; nbins = 20; break; // N1
1209  case 2 : start = 22; nbins = 10; break; // N0
1210  case 3 : start = 22; nbins = 20; break; // P0
1211  case 4 : start = 36; nbins = 20; break; // P1
1212  case 5 : start = 46; nbins = 18; break; // P2
1213  default : start = 0; nbins = 0; break; // BOH
1214  }
1215 
1216  for ( int eta = 1; eta <= nbins ; ++eta ) {
1217  double setbin = eta + start;
1218  double val = phi_vs_eta->GetBinContent( eta, phi )
1219  + phi_eta_integ->getBinContent( setbin, phi );
1220  phi_eta_integ->setBinContent( setbin, phi, val );
1221  }
1222 
1223  double underflow = phi_vs_eta->GetBinContent( 0, phi )
1224  + phi_eta_integ->getBinContent( 1, phi );
1225  phi_eta_integ->setBinContent( 1, phi, underflow );
1226 
1227  double overflow = phi_vs_eta->GetBinContent( nbins+1, phi )
1228  + phi_eta_integ->getBinContent( 64 );
1229  phi_eta_integ->setBinContent( 64, phi, overflow );
1230 
1231  }
1232  }
1233 }
void setBinContent(int binx, double content)
set content of bin (1-D)
tuple start
Check for commandline option errors.
Definition: dqm_diff.py:58
TH2F * getTH2F(const char *hname)
std::string wheelpath_[6]
Definition: L1TDTTFClient.h:69
T eta() const
tuple path
else: Piece not in the list, fine.
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 1103 of file L1TDTTFClient.cc.

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

Referenced by buildSummaries().

1109 {
1110 
1111  char hname[150];
1112  sprintf( hname, path_fine.c_str(),
1113  wheelpath_[wh].c_str(), wheel_[wh].c_str() );
1114 
1115  TH2F * phi_vs_eta_fine = getTH2F(hname);
1116  if ( ! phi_vs_eta_fine ) {
1117  edm::LogError("L1TDTTFClient::buildPhiEtaPloOtFC")
1118  << "Failed to get TH1D " << std::string(hname);
1119  }
1120 
1121  sprintf( hname, path_coarse.c_str(),
1122  wheelpath_[wh].c_str(), wheel_[wh].c_str() );
1123  TH2F * phi_vs_eta_coarse = getTH2F(hname);
1124  if ( ! phi_vs_eta_coarse ) {
1125  edm::LogError("L1TDTTFClient::buildPhiEtaPlotOFC")
1126  << "Failed to get TH1D " << std::string(hname);
1127  }
1128 
1129  if ( ! phi_vs_eta_fine || ! phi_vs_eta_coarse ) {
1130  return;
1131  }
1132 
1133  for ( unsigned int phi = 1; phi < 145 ; ++phi ) {
1134  float start = 0;
1135  int nbins = 0;
1136  switch ( wh ) {
1137  case 0 : start = 0; nbins = 18; break; // N2
1138  case 1 : start = 8; nbins = 20; break; // N1
1139  case 2 : start = 22; nbins = 10; break; // N0
1140  case 3 : start = 22; nbins = 20; break; // P0
1141  case 4 : start = 36; nbins = 20; break; // P1
1142  case 5 : start = 46; nbins = 18; break; // P2
1143  default : start = 0; nbins = 0; break; // BOH
1144  }
1145 
1146  for ( int eta = 1; eta <= nbins ; ++eta ) {
1147  double setbin = eta + start;
1148 
1149  double valfine = phi_vs_eta_fine->GetBinContent( eta, phi )
1150  + phi_eta_fine_integ->getBinContent( setbin, phi );
1151 
1152  double valcoarse = phi_vs_eta_coarse->GetBinContent( eta, phi )
1153  + phi_eta_coarse_integ->getBinContent( setbin, phi );
1154 
1155  phi_eta_fine_integ->setBinContent( setbin, phi, valfine );
1156  phi_eta_coarse_integ->setBinContent( setbin, phi, valcoarse );
1157  phi_eta_integ->setBinContent( setbin, phi, valfine+valcoarse );
1158 
1159  }
1160 
1161  // double underflow_f = phi_vs_eta_fine->GetBinContent( 0, phi )
1162  // + phi_eta_fine_integ->getBinContent( 1, phi );
1163  // phi_eta_fine_integ->setBinContent( 1, phi, underflow_f );
1164  //
1165  // double underflow_c = phi_vs_eta_coarse->GetBinContent( 0, phi )
1166  // + phi_eta_coarse_integ->getBinContent( 1, phi );
1167  // phi_eta_coarse_integ->setBinContent( 1, phi, underflow_c );
1168  //
1169  // double overflow_f = phi_vs_eta_fine->GetBinContent( nbins+1, phi )
1170  // + phi_eta_fine_integ->getBinContent( 64 );
1171  // phi_eta_fine_integ->setBinContent( 64, phi, overflow_f );
1172  //
1173  // double overflow_c = phi_vs_eta_coarse->GetBinContent( nbins+1, phi )
1174  // + phi_eta_coarse_integ->getBinContent( 64, phi );
1175  // phi_eta_coarse_integ->setBinContent( 64, phi, overflow_c );
1176  //
1177  // double underflow = underflow_f + underflow_c;
1178  // phi_eta_integ->setBinContent( 1, phi, underflow );
1179  //
1180  // double overflow = overflow_f + overflow_c;
1181  // phi_eta_integ->setBinContent( 64, phi, overflow );
1182 
1183  }
1184 
1185 }
void setBinContent(int binx, double content)
set content of bin (1-D)
tuple start
Check for commandline option errors.
Definition: dqm_diff.py:58
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 560 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_occupancySummary_test, 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(), AlCaHLTBitMon_QueryRunRegistry::string, tmp, wheel_, and wheelpath_.

Referenced by makeSummary().

561 {
562 
563  char hname[100];
564  int wheelBx[4];
565  int wheelBx2nd[4];
566  int wheelSumBx[4];
567  int wheelSumBx2nd[4];
568  int qualities[8];
569 
570  memset( wheelSumBx, 0, 4 * sizeof(int) );
571  memset( wheelSumBx2nd, 0, 4 * sizeof(int) );
572 
575  dttf_q_integ->Reset();
576  dttf_pt_integ->Reset();
586 
590 
591  for ( unsigned int wh = 0; wh < 6 ; ++wh ) {
592 
593  dttf_eta_wheel[wh]->Reset();
594  dttf_q_wheel[wh]->Reset();
595  dttf_pt_wheel[wh]->Reset();
596  dttf_phi_wheel[wh]->Reset();
597  dttf_quality_wheel[wh]->Reset();
599 
600  double wheelEtaAll = 0;
601  double wheelEtaFine = 0;
602  memset( wheelBx, 0, 4 * sizeof(int) );
603  memset( wheelBx2nd, 0, 4 * sizeof(int) );
604 
606  memset( qualities, 0, 8 * sizeof(int) );
607 
613  "%s/dttf_07_phi_vs_etaFine_wh%s",
614  "%s/dttf_08_phi_vs_etaCoarse_wh%s", wh );
615 
617  "%s/2ND_TRACK_ONLY/dttf_06_phi_vs_eta_wh%s_2ndTrack",
618  wh );
619 
620 
624  for ( unsigned int sector = 1; sector < 13; ++sector ) {
625 
629  sprintf( hname, "%s/BX_BySector/dttf_bx_wh%s_se%d",
630  wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector );
631 
632  TH1F * bxsector = getTH1F(hname);
633  if ( ! bxsector ) {
634  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
635  << std::string(hname);
636  } else {
637 
638  for ( unsigned int bx = 1; bx < 4 ; ++bx ) {
639 
640  int bxval = bxsector->GetBinContent( bx );
641 
642  if ( bx == 2 ) {
643  // if ( wh == 2 )
644  // dttf_occupancySummary->setBinContent( wh+1, sector, bxval*14 );
645  // else
646  // dttf_occupancySummary->setBinContent( wh+1, sector, bxval );
647  dttf_occupancySummary->setBinContent( wh+1, sector, bxval );
648  dttf_occupancySummary_test->setBinContent( wh+1, sector, bxval );
649  dttf_nTracks_wheel[wh]->setBinContent(sector, bxval );
650  }
651  wheelBx[bx] += bxval;
652  dttf_bx_wheel_summary[wh]->setBinContent( sector, bx, bxval );
653  }
654  }
655 
656 
660  sprintf( hname, "%s/BX_BySector/2ND_TRACK_ONLY/dttf_bx_2ndTrack_wh%s_se%d",
661  wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector );
662 
663  TH1F * bxsector2nd = getTH1F(hname);
664  if ( ! bxsector2nd ) {
665  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
666  << std::string(hname);
667  } else {
668 
669  for ( unsigned int bx = 1; bx < 4 ; ++bx ) {
670  int bxval = bxsector2nd->GetBinContent( bx );
671 
672  if ( bx == 2 ) {
673  dttf_2ndTrack_Summary->setBinContent( wh+1, sector, bxval );
674  dttf_occupancySummary_2ndTrack->setBinContent(wh+1, sector, bxval);
675  dttf_nTracks_wheel_2ndTrack[wh]->setBinContent(sector, bxval );
676  }
677  wheelBx2nd[bx] += bxval;
678  dttf_bx_wheel_summary_2ndTrack[wh]->setBinContent(sector, bx, bxval);
679  }
680  }
681 
685  sprintf( hname, "%s/Charge/dttf_charge_wh%s_se%d",
686  wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector );
687  TH1F * tmp = getTH1F(hname);
688  if ( ! tmp ) {
689  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
690  << std::string(hname);
691  } else {
692  dttf_q_integ->getTH1F()->Add( tmp );
693  dttf_q_wheel[wh]->getTH1F()->Add( tmp );
694  }
695 
699  sprintf( hname, "%s/PT/dttf_pt_wh%s_se%d",
700  wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector );
701  tmp = getTH1F(hname);
702  if ( ! tmp ) {
703  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
704  << std::string(hname);
705  } else {
706  dttf_pt_integ->getTH1F()->Add( tmp );
707  dttf_pt_wheel[wh]->getTH1F()->Add( tmp );
708  }
709 
710 
714  sprintf( hname, "%s/Phi/dttf_phi_wh%s_se%d",
715  wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector );
716  tmp = getTH1F(hname);
717  if ( ! tmp ) {
718  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
719  << std::string(hname);
720  } else {
721  dttf_phi_integ->getTH1F()->Add( tmp );
722  dttf_phi_wheel[wh]->getTH1F()->Add( tmp );
723  }
724 
725 
729  double highQual = 0;
730  double denHighQual = 0;
731  sprintf( hname, "%s/Quality/dttf_qual_wh%s_se%d",
732  wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector );
733  tmp = getTH1F(hname);
734  if ( ! tmp ) {
735  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
736  << std::string(hname);
737  } else {
738 
739  dttf_quality_wheel[wh]->getTH1F()->Add( tmp );
740 
741 
742  for ( unsigned int qual = 1; qual < 4 ; ++qual ) {
743  double bincontent = tmp->GetBinContent( qual );
744  qualities[qual] += bincontent;
745  denHighQual += bincontent;
746  dttf_quality_summary_wheel[wh]->setBinContent(sector, qual, bincontent);
747  }
748 
749  for ( unsigned int qual = 4; qual < 8 ; ++qual ) {
750  double bincontent = tmp->GetBinContent( qual );
751  qualities[qual] += bincontent;
752  dttf_quality_summary_wheel[wh]->setBinContent(sector, qual, bincontent);
753  denHighQual += bincontent;
754  highQual += bincontent;
755  }
756 
757  }
758  if ( denHighQual > 0 ) highQual /= denHighQual;
759  dttf_highQual_Summary->setBinContent( wh+1, sector, highQual );
760 
761 
765  sprintf( hname, "%s/Eta/dttf_eta_wh%s_se%d",
766  wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector );
767  tmp = getTH1F(hname);
768  if ( ! tmp ) {
769  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
770  << std::string(hname);
771  } else {
772  dttf_eta_integ->getTH1F()->Add( tmp );
773  dttf_eta_wheel[wh]->getTH1F()->Add( tmp );
774  }
775 
776 
780  sprintf( hname, "%s/EtaFineFraction/dttf_etaFine_fraction_wh%s_se%d",
781  wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector );
782  tmp = getTH1F(hname);
783  if ( ! tmp ) {
784  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
785  << std::string(hname);
786  } else {
787  double fine = tmp->GetBinContent( 1 );
788  double coarse = tmp->GetBinContent( 2 );
789  double tot = fine + coarse;
790  wheelEtaAll += tot;
791  wheelEtaFine += fine;
792  if ( tot > 0 ) {
793  dttf_fine_fraction_wh[wh]->setBinContent( sector, fine/tot );
794  }
795  }
796 
797  }
798 
802  if ( wheelEtaAll > 0 ) {
803  dttf_eta_fine_fraction->setBinContent( wh+1, wheelEtaFine/wheelEtaAll );
804  }
805 
809  dttf_nTracks_integ->setBinContent( wh+1, wheelBx[2] );
810  dttf_nTracks_integ_2ndTrack->setBinContent( wh+1, wheelBx2nd[2] );
811 
815  for ( unsigned int bx = 1; bx < 4; ++bx ) {
816 
817  dttf_bx_wheel_integ[wh]->setBinContent( bx, wheelBx[bx] );
818  dttf_bx_summary->setBinContent( wh+1, bx, wheelBx[bx] );
819  wheelSumBx[bx] += wheelBx[bx];
820 
821  dttf_bx_wheel_integ_2ndTrack[wh]->setBinContent( bx, wheelBx2nd[bx] );
822  dttf_bx_summary_2ndTrack->setBinContent( wh+1, bx, wheelBx2nd[bx] );
823  wheelSumBx2nd[bx] += wheelBx2nd[bx];
824 
825  }
826 
827 
831  for ( unsigned int qual = 1; qual < 8 ; ++qual ) {
832  dttf_quality_summary->setBinContent( wh+1, qual, qualities[qual] );
833  dttf_quality_integ->getTH1F()->AddBinContent( qual, qualities[qual] );
834  }
835 
836 
846  normalize( dttf_eta_wheel[wh]->getTH1F() );
847  normalize( dttf_q_wheel[wh]->getTH1F() );
848  normalize( dttf_pt_wheel[wh]->getTH1F() );
849  normalize( dttf_phi_wheel[wh]->getTH1F() );
850 
854  double scale = wheelBx[2];
855  if ( scale > 0 ) {
856  scale = 1/scale;
857  normalize( dttf_bx_wheel_integ[wh]->getTH1F(), scale );
858  }
859 
860  scale = wheelBx2nd[2];
861  if ( scale > 0 ) {
862  scale = 1/scale;
864  }
865 
866 
867 
868 
874 
875 
879  sprintf( hname, "%s/2ND_TRACK_ONLY/dttf_07_eta_wh%s_2ndTrack",
880  wheelpath_[wh].c_str(), wheel_[wh].c_str() );
881 
882  TH1F * tmp = getTH1F(hname);
883  if ( ! tmp ) {
884  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
885  << std::string(hname);
886  } else {
887  dttf_eta_integ_2ndTrack->getTH1F()->Add( tmp );
888  }
889 
893  sprintf( hname, "%s/2ND_TRACK_ONLY/dttf_08_phi_wh%s_2ndTrack",
894  wheelpath_[wh].c_str(), wheel_[wh].c_str() );
895  tmp = getTH1F(hname);
896  if ( ! tmp ) {
897  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
898  << std::string(hname);
899  } else {
900  dttf_phi_integ_2ndTrack->getTH1F()->Add( tmp );
901  }
902 
903 
907  sprintf( hname, "%s/2ND_TRACK_ONLY/dttf_09_pt_wh%s_2ndTrack",
908  wheelpath_[wh].c_str(), wheel_[wh].c_str() );
909  tmp = getTH1F(hname);
910  if ( ! tmp ) {
911  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
912  << std::string(hname);
913  } else {
914  dttf_pt_integ_2ndTrack->getTH1F()->Add( tmp );
915  }
916 
920  sprintf( hname, "%s/2ND_TRACK_ONLY/dttf_10_charge_wh%s_2ndTrack",
921  wheelpath_[wh].c_str(), wheel_[wh].c_str() );
922  tmp = getTH1F(hname);
923  if ( ! tmp ) {
924  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
925  << std::string(hname);
926  } else {
927  dttf_q_integ_2ndTrack->getTH1F()->Add( tmp );
928  }
929 
933  sprintf( hname, "%s/2ND_TRACK_ONLY/dttf_04_quality_wh%s_2ndTrack",
934  wheelpath_[wh].c_str(), wheel_[wh].c_str() );
935  tmp = getTH1F(hname);
936  if ( ! tmp ) {
937  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
938  << std::string(hname);
939  } else {
940  for ( unsigned int qual = 1; qual < 8; ++qual ) {
941  double binqual = tmp->GetBinContent( qual );
942  dttf_quality_integ_2ndTrack->getTH1F()->AddBinContent( qual, binqual );
943  dttf_quality_summary_2ndTrack->setBinContent( wh+1, qual, binqual );
944  }
945  }
946 
947 
948  }
949 
953  for ( unsigned int bx = 1; bx < 4; ++bx ) {
954  dttf_bx_integ->setBinContent( bx, wheelSumBx[bx] );
955  dttf_bx_integ_2ndTrack->setBinContent( bx, wheelSumBx2nd[bx] );
956  }
957 
961  double scale = wheelSumBx[2];
962  if ( scale > 0 ) {
963  scale = 1./scale;
965  }
966 
967  scale = wheelSumBx2nd[2];
968  if ( scale > 0 ) {
969  scale = 1./scale;
971  }
972 
973 
974 }
MonitorElement * dttf_bx_integ_2ndTrack
Definition: L1TDTTFClient.h:99
MonitorElement * dttf_occupancySummary
Definition: L1TDTTFClient.h:75
MonitorElement * dttf_quality_summary
Definition: L1TDTTFClient.h:80
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
MonitorElement * dttf_eta_wheel[6]
MonitorElement * dttf_nTracks_integ
Definition: L1TDTTFClient.h:74
MonitorElement * dttf_quality_integ
Definition: L1TDTTFClient.h:79
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:77
MonitorElement * dttf_phi_eta_fine_integ
Definition: L1TDTTFClient.h:83
MonitorElement * dttf_phi_wheel[6]
MonitorElement * dttf_phi_eta_integ
Definition: L1TDTTFClient.h:84
MonitorElement * dttf_quality_summary_wheel[6]
MonitorElement * dttf_pt_integ
Definition: L1TDTTFClient.h:87
MonitorElement * dttf_phi_eta_coarse_integ
Definition: L1TDTTFClient.h:82
MonitorElement * dttf_occupancySummary_2ndTrack
Definition: L1TDTTFClient.h:97
MonitorElement * dttf_eta_integ
Definition: L1TDTTFClient.h:88
MonitorElement * dttf_2ndTrack_Summary
Definition: L1TDTTFClient.h:92
MonitorElement * dttf_q_integ_2ndTrack
MonitorElement * dttf_bx_wheel_summary_2ndTrack[6]
MonitorElement * dttf_bx_summary
Definition: L1TDTTFClient.h:76
MonitorElement * dttf_quality_wheel[6]
TH1F * getTH1F(void) const
TH1F * getTH1F(const char *hname)
MonitorElement * dttf_eta_fine_fraction
Definition: L1TDTTFClient.h:85
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
MonitorElement * dttf_occupancySummary_test
Definition: L1TDTTFClient.h:94
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:98
MonitorElement * dttf_nTracks_integ_2ndTrack
Definition: L1TDTTFClient.h:96
MonitorElement * dttf_phi_integ_2ndTrack
MonitorElement * dttf_pt_wheel[6]
MonitorElement * dttf_nTracks_wheel_2ndTrack[6]
MonitorElement * dttf_phi_integ
Definition: L1TDTTFClient.h:86
MonitorElement * dttf_highQual_Summary
Definition: L1TDTTFClient.h:81
void Reset(void)
reset ME (ie. contents, errors, etc)
MonitorElement * dttf_q_integ
Definition: L1TDTTFClient.h:89
MonitorElement * dttf_bx_wheel_integ[6]
void normalize(T *me)
std::string wheel_[6]
Definition: L1TDTTFClient.h:68
MonitorElement * dttf_quality_summary_2ndTrack
MonitorElement * dttf_phi_eta_integ_2ndTrack
void L1TDTTFClient::endJob ( void  )
protectedvirtual

Endjob.

Reimplemented from edm::EDAnalyzer.

Definition at line 467 of file L1TDTTFClient.cc.

468 {
469 }
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 440 of file L1TDTTFClient.cc.

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

442 {
443 
445  if ( online_ ) {
446  makeSummary();
448  }
449 
450 }
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 461 of file L1TDTTFClient.cc.

References makeSummary().

462 {
463  makeSummary();
464 }
TH1F * L1TDTTFClient::getTH1F ( const char *  hname)
private

Definition at line 1026 of file L1TDTTFClient.cc.

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

Referenced by buildSummaries().

1027 {
1028 
1029  MonitorElement * me = dbe_->get(hname);
1030  if ( ! me ) {
1031  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get ME "
1032  << std::string(hname);
1033  return NULL;
1034  }
1035 
1036 
1037  // edm::LogInfo("L1TDTTFClient::getTH1F") << "#################### "
1038  // << std::string(hname);
1039 
1040  return me->getTH1F();
1041 
1042 }
#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:1708
DQMStore * dbe_
Definition: L1TDTTFClient.h:66
TH1F * getTH1F(void) const
TH2F * L1TDTTFClient::getTH2F ( const char *  hname)
private

Definition at line 1046 of file L1TDTTFClient.cc.

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

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

1047 {
1048 
1049  MonitorElement * me = dbe_->get(hname);
1050  if ( ! me ) {
1051  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get ME "
1052  << std::string(hname);
1053  return NULL;
1054  }
1055 
1056 
1057  // edm::LogInfo("L1TDTTFClient::getTH2F") << "#################### "
1058  // << std::string(hname);
1059 
1060  return me->getTH2F();
1061 
1062 }
#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:1708
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 473 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().

474 {
478  buildSummaries();
479 
483  double scale = 0;
484  double entries = dttf_occupancySummary->getTH2F()->Integral();
485 
486  if ( entries ) {
487 
490 
492  scale = 1 / entries;
495 
497  double physEntries = dttf_eta_integ->getTH1F()->Integral();
498  if ( physEntries > 0 ) {
499  double physScale = 1 / physEntries;
500 
501  normalize( dttf_phi_eta_integ->getTH2F(), physScale );
502 
503  normalize( dttf_phi_eta_fine_integ->getTH2F(), physScale );
505  normalize( dttf_quality_summary->getTH2F(), physScale );
506 
507  normalize( dttf_eta_integ->getTH1F(), physScale );
508  normalize( dttf_q_integ->getTH1F(), physScale );
509  normalize( dttf_pt_integ->getTH1F(), physScale );
510  normalize( dttf_phi_integ->getTH1F(), physScale );
511  normalize( dttf_quality_integ->getTH1F(), physScale );
512 
513  }
514 
515  }
516 
520 
521  double entries2ndTrack = dttf_occupancySummary_2ndTrack->getTH2F()->Integral();
522  if ( entries2ndTrack > 0 ) {
523 
526 
528  TH2F * ratio = dttf_occupancySummary_2ndTrack->getTH2F();
530  "%s/2ND_TRACK_ONLY/dttf_05_quality_summary_wh%s_2ndTrack" );
531 
533 
535  double scale2nd = 1 / entries2ndTrack;
537  normalize( dttf_nTracks_integ_2ndTrack->getTH1F(), scale2nd ); //
538 
539 
548 
549  }
550 
552  setGMTsummary();
553 
554 }
MonitorElement * dttf_occupancySummary
Definition: L1TDTTFClient.h:75
MonitorElement * dttf_quality_summary
Definition: L1TDTTFClient.h:80
MonitorElement * dttf_eta_integ_2ndTrack
void setGMTsummary()
MonitorElement * dttf_quality_integ_2ndTrack
MonitorElement * dttf_nTracks_integ
Definition: L1TDTTFClient.h:74
MonitorElement * dttf_quality_integ
Definition: L1TDTTFClient.h:79
MonitorElement * dttf_pt_integ_2ndTrack
MonitorElement * dttf_phi_eta_fine_integ
Definition: L1TDTTFClient.h:83
MonitorElement * dttf_highQual_Summary_2ndTrack
MonitorElement * dttf_phi_eta_integ
Definition: L1TDTTFClient.h:84
MonitorElement * dttf_pt_integ
Definition: L1TDTTFClient.h:87
MonitorElement * dttf_phi_eta_coarse_integ
Definition: L1TDTTFClient.h:82
MonitorElement * dttf_occupancySummary_2ndTrack
Definition: L1TDTTFClient.h:97
MonitorElement * dttf_eta_integ
Definition: L1TDTTFClient.h:88
MonitorElement * dttf_2ndTrack_Summary
Definition: L1TDTTFClient.h:92
MonitorElement * dttf_q_integ_2ndTrack
MonitorElement * dttf_bx_summary
Definition: L1TDTTFClient.h:76
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:98
MonitorElement * dttf_nTracks_integ_2ndTrack
Definition: L1TDTTFClient.h:96
MonitorElement * dttf_phi_integ_2ndTrack
TH2F * getTH2F(void) const
MonitorElement * dttf_phi_integ
Definition: L1TDTTFClient.h:86
MonitorElement * dttf_q_integ
Definition: L1TDTTFClient.h:89
void normalize(T *me)
MonitorElement * dttf_quality_summary_2ndTrack
MonitorElement * dttf_phi_eta_integ_2ndTrack
template<typename T >
void L1TDTTFClient::normalize ( T me)
inlineprivate

Definition at line 162 of file L1TDTTFClient.h.

References pileupReCalc_HLTpaths::scale.

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

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

Definition at line 171 of file L1TDTTFClient.h.

References normalize().

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

Definition at line 178 of file L1TDTTFClient.h.

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

Definition at line 979 of file L1TDTTFClient.cc.

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

Referenced by makeSummary().

980 {
981  char hname[60];
982  sprintf( hname, "%s/dttf_tracks_with_gmt_match", gmtpath_.c_str() );
983  TH2F * gmt_match = getTH2F(hname);
984  if ( ! gmt_match ) {
985  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
986  << std::string(hname);
987  return;
988  }
989 
990 
991 
992  sprintf( hname, "%s/dttf_tracks_without_gmt_match", gmtpath_.c_str() );
993  TH2F * gmt_missed = getTH2F(hname);
994  if ( ! gmt_missed ) {
995  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
996  << std::string(hname);
997  return;
998  }
999 
1000 
1001  sprintf( hname, "%s/dttf_missing_tracks_in_gmt", gmtpath_.c_str() );
1002  TH2F * gmt_ghost = getTH2F(hname);
1003  if ( ! gmt_ghost ) {
1004  edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D "
1005  << std::string(hname);
1006  return;
1007  }
1008 
1009  int match = gmt_match->Integral();
1010  int missed = gmt_missed->Integral();
1011  int ghost = gmt_ghost->Integral();
1012  float tot = match + missed + ghost;
1013  if ( tot > 0 ) {
1014  double val = ghost/tot;
1015  dttf_gmt_matching->setBinContent( 1, val );
1016  val = match/tot;
1017  dttf_gmt_matching->setBinContent( 2, val );
1018  val = missed/tot;
1019  dttf_gmt_matching->setBinContent( 3, val );
1020  }
1021 }
MonitorElement * dttf_gmt_matching
Definition: L1TDTTFClient.h:91
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 1331 of file L1TDTTFClient.cc.

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

Referenced by beginJob().

1332 {
1333 
1334  if( axis == 1 )
1335  me->setAxisTitle("Quality", axis);
1336  me->setBinLabel(1, "T34", axis);
1337  me->setBinLabel(2, "T23/24", axis);
1338  me->setBinLabel(3, "T12/13/14", axis);
1339  me->setBinLabel(4, "T234", axis);
1340  me->setBinLabel(5, "T134", axis);
1341  me->setBinLabel(6, "T123/124", axis);
1342  me->setBinLabel(7, "T1234", axis);
1343 }
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 1317 of file L1TDTTFClient.cc.

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

Referenced by beginJob().

1318 {
1319  me->setAxisTitle("Wheel", 1);
1320  me->setBinLabel(1, "N2", 1);
1321  me->setBinLabel(2, "N1", 1);
1322  me->setBinLabel(3, "N0", 1);
1323  me->setBinLabel(4, "P0", 1);
1324  me->setBinLabel(5, "P1", 1);
1325  me->setBinLabel(6, "P2", 1);
1326 
1327 }
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 92 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_bx_integ
private

Definition at line 77 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_bx_integ_2ndTrack
private

Definition at line 99 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_bx_summary
private

Definition at line 76 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_bx_summary_2ndTrack
private

Definition at line 98 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_bx_wheel_integ[6]
private

Definition at line 111 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_bx_wheel_integ_2ndTrack[6]
private

Definition at line 122 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_bx_wheel_summary[6]
private

Definition at line 110 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_bx_wheel_summary_2ndTrack[6]
private

Definition at line 121 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_eta_fine_fraction
private

Definition at line 85 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_eta_fine_integ
private

Definition at line 78 of file L1TDTTFClient.h.

MonitorElement* L1TDTTFClient::dttf_eta_integ
private

Definition at line 88 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_eta_integ_2ndTrack
private

Definition at line 104 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_eta_wheel[6]
private

Definition at line 115 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_fine_fraction_wh[6]
private

Definition at line 114 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_gmt_matching
private

Definition at line 91 of file L1TDTTFClient.h.

Referenced by beginJob(), and setGMTsummary().

MonitorElement* L1TDTTFClient::dttf_highQual_Summary
private

Definition at line 81 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_highQual_Summary_2ndTrack
private

Definition at line 102 of file L1TDTTFClient.h.

Referenced by beginJob(), and makeSummary().

MonitorElement* L1TDTTFClient::dttf_nTracks_integ
private

Definition at line 74 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_nTracks_integ_2ndTrack
private

Definition at line 96 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_nTracks_wheel[6]
private

Definition at line 109 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_nTracks_wheel_2ndTrack[6]
private

Definition at line 120 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_occupancySummary
private

Definition at line 75 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_occupancySummary_2ndTrack
private

Definition at line 97 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_occupancySummary_test
private

Definition at line 94 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_phi_eta_coarse_integ
private

Definition at line 82 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_phi_eta_fine_integ
private

Definition at line 83 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_phi_eta_integ
private

Definition at line 84 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_phi_eta_integ_2ndTrack
private

Definition at line 103 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_phi_integ
private

Definition at line 86 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_phi_integ_2ndTrack
private

Definition at line 105 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_phi_wheel[6]
private

Definition at line 116 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_pt_integ
private

Definition at line 87 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_pt_integ_2ndTrack
private

Definition at line 106 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_pt_wheel[6]
private

Definition at line 117 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_q_integ
private

Definition at line 89 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_q_integ_2ndTrack
private

Definition at line 107 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_q_wheel[6]
private

Definition at line 118 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_quality_integ
private

Definition at line 79 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_quality_integ_2ndTrack
private

Definition at line 100 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_quality_summary
private

Definition at line 80 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_quality_summary_2ndTrack
private

Definition at line 101 of file L1TDTTFClient.h.

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

MonitorElement* L1TDTTFClient::dttf_quality_summary_wheel[6]
private

Definition at line 113 of file L1TDTTFClient.h.

Referenced by beginJob(), and buildSummaries().

MonitorElement* L1TDTTFClient::dttf_quality_wheel[6]
private

Definition at line 112 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().

std::string L1TDTTFClient::testpath_
private

Definition at line 72 of file L1TDTTFClient.h.

Referenced by beginJob().

bool L1TDTTFClient::verbose_
private

Definition at line 62 of file L1TDTTFClient.h.

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