#include <L1TDTTFClient.h>
Definition at line 21 of file L1TDTTFClient.h.
L1TDTTFClient::L1TDTTFClient | ( | const edm::ParameterSet & | ps | ) |
Constructor.
base services
Definition at line 21 of file L1TDTTFClient.cc.
: l1tdttffolder_ ( ps.getUntrackedParameter<std::string> ("l1tSourceFolder", "L1T/L1TDTTF") ), dttfSource_( ps.getParameter< edm::InputTag >("dttfSource") ), online_( ps.getUntrackedParameter<bool>("online", true) ), resetafterlumi_( ps.getUntrackedParameter<int>("resetAfterLumi", 3) ), counterLS_(0), occupancy_r_(0) { edm::LogInfo( "L1TDTTFClient"); }
L1TDTTFClient::~L1TDTTFClient | ( | ) | [virtual] |
Destructor.
Definition at line 33 of file L1TDTTFClient.cc.
{ edm::LogInfo("L1TDTTFClient")<<"[L1TDTTFClient]: ending... "; }
void L1TDTTFClient::analyze | ( | const edm::Event & | e, |
const edm::EventSetup & | c | ||
) | [protected, virtual] |
void L1TDTTFClient::beginJob | ( | void | ) | [protected, virtual] |
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_, cmsCodeRules::cppFunctionSkipper::operator, MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::setCurrentFolder(), setQualLabel(), setWheelLabel(), wheel_, and wheelpath_.
{ edm::LogInfo("L1TDTTFClient")<<"[L1TDTTFClient]: Begin Job"; dbe_ = edm::Service<DQMStore>().operator->(); wheelpath_[0] = l1tdttffolder_ + "/02-WHEEL_N2"; wheelpath_[1] = l1tdttffolder_ + "/03-WHEEL_N1"; wheelpath_[2] = l1tdttffolder_ + "/04-WHEEL_N0"; wheelpath_[3] = l1tdttffolder_ + "/05-WHEEL_P0"; wheelpath_[4] = l1tdttffolder_ + "/06-WHEEL_P1"; wheelpath_[5] = l1tdttffolder_ + "/07-WHEEL_P2"; wheel_[0] = "N2"; wheel_[1] = "N1"; wheel_[2] = "N0"; wheel_[3] = "P0"; wheel_[4] = "P1"; wheel_[5] = "P2"; inclusivepath_ = l1tdttffolder_ + "/01-INCLUSIVE"; gmtpath_ = l1tdttffolder_ + "/08-GMT_MATCH"; char hname[100];//histo name char mename[100];//ME name dbe_->setCurrentFolder( inclusivepath_ ); sprintf(hname, "dttf_02_nTracks"); sprintf(mename, "DTTF Tracks by Wheel"); dttf_nTracks_integ = dbe_->book1D(hname, mename, 6, 0, 6); setWheelLabel( dttf_nTracks_integ ); sprintf(hname, "dttf_03_tracks_occupancy_summary"); sprintf(mename, "DTTF Tracks Occupancy"); dttf_occupancySummary = dbe_->book2D( hname, mename, 6, 0, 6, 12, 1, 13 ); setWheelLabel( dttf_occupancySummary ); dttf_occupancySummary->setAxisTitle("Sector", 2); sprintf(hname, "dttf_05_bx_occupancy"); sprintf(mename, "DTTF Tracks BX Distribution by Wheel"); dttf_bx_summary = dbe_->book2D( hname, mename, 6, 0, 6, 3, -1, 2 ); setWheelLabel( dttf_bx_summary ); dttf_bx_summary->setAxisTitle("BX", 2 ); sprintf(hname, "dttf_06_bx"); sprintf(mename, "DTTF Tracks BX w.r.t. Tracks with BX=0"); dttf_bx_integ = dbe_->book1D( hname, mename, 3, -1.5, 1.5 ); dttf_bx_integ->setAxisTitle("BX", 1); sprintf(hname, "dttf_07_quality"); sprintf(mename, "DTTF Tracks Quality distribution"); dttf_quality_integ = dbe_->book1D(hname, mename, 7, 1, 8); setQualLabel( dttf_quality_integ, 1); sprintf(hname, "dttf_08_quality_occupancy"); sprintf(mename, "DTTF Tracks Quality distribution by Wheel"); dttf_quality_summary = dbe_->book2D( hname, mename, 6, 0, 6, 7, 1, 8 ); dttf_quality_summary->setAxisTitle("Wheel", 1); setQualLabel( dttf_quality_summary, 2); setWheelLabel( dttf_quality_summary ); sprintf(hname, "dttf_09_highQuality_Tracks"); sprintf(mename, "Fraction of DTTF Tracks with Quality>3"); dttf_highQual_Summary = dbe_->book2D( hname, mename, 6, 0, 6, 12, 1, 13 ); setWheelLabel( dttf_highQual_Summary ); dttf_highQual_Summary->setAxisTitle("Sector", 2); sprintf(hname, "dttf_10_phi_vs_etaCoarse"); sprintf(mename, "#eta-#phi DTTF Tracks occupancy (coarse #eta only, packed values)"); dttf_phi_eta_coarse_integ = dbe_->book2D( hname, mename, 64, 0, 64, 144, -6, 138. ); dttf_phi_eta_coarse_integ->setAxisTitle("#eta", 1); dttf_phi_eta_coarse_integ->setAxisTitle("#phi", 2); sprintf(hname, "dttf_11_phi_vs_etaFine"); sprintf(mename, "#eta-#phi DTTF Tracks occupancy (fine #eta only, packed values)"); dttf_phi_eta_fine_integ = dbe_->book2D( hname, mename, 64, 0, 64, 144, -6, 138. ); dttf_phi_eta_fine_integ->setAxisTitle("#eta", 1); dttf_phi_eta_fine_integ->setAxisTitle("#phi", 2); sprintf(hname, "dttf_12_phi_vs_eta"); sprintf(mename, "#eta-#phi DTTF Tracks occupancy"); dttf_phi_eta_integ = dbe_->book2D( hname, mename, 64, -1.2, 1.2, 144, -15, 345. ); dttf_phi_eta_integ->setAxisTitle("#eta", 1); dttf_phi_eta_integ->setAxisTitle("#phi", 2); sprintf(hname, "dttf_13_eta_fine_fraction"); sprintf(mename, "Fraction of DTTF Tracks with Fine #eta Assignment"); dttf_eta_fine_fraction = dbe_->book1D( hname, mename, 6, 0, 6 ); setWheelLabel(dttf_eta_fine_fraction); dttf_eta_fine_fraction->setAxisTitle("", 2); sprintf(hname, "dttf_14_eta"); sprintf(mename, "DTTF Tracks #eta distribution (Packed values)"); dttf_eta_integ = dbe_->book1D(hname, mename, 64, -0.5, 63.5); dttf_eta_integ->setAxisTitle("#eta", 1); sprintf(hname, "dttf_15_phi"); sprintf(mename, "DTTF Tracks Phi distribution (Packed values)"); dttf_phi_integ = dbe_->book1D(hname, mename, 144, -6, 138. ); dttf_phi_integ->setAxisTitle("#phi", 1); sprintf(hname, "dttf_16_pt"); sprintf(mename, "DTTF Tracks p_{T} distribution (Packed values)"); dttf_pt_integ = dbe_->book1D(hname, mename, 32, -0.5, 31.5); dttf_pt_integ->setAxisTitle("p_{T}", 1); sprintf(hname, "dttf_17_charge"); sprintf(mename, "DTTF Tracks Charge distribution"); dttf_q_integ = dbe_->book1D(hname, mename, 2, -0.5, 1.5); dttf_q_integ->setAxisTitle("Charge", 1); sprintf(hname, "dttf_18_2ndTrack_occupancy_summary"); sprintf(mename, "DTTF 2nd Tracks occupancy w.r.t. Tracks with BX=0"); dttf_2ndTrack_Summary = dbe_->book2D( hname, mename, 6, 0, 6, 12, 1, 13 ); setWheelLabel( dttf_2ndTrack_Summary ); dbe_->setCurrentFolder( gmtpath_ ); sprintf(hname, "dttf_gmt_fract_matching" ); sprintf(mename, "Fraction of DTTF tracks matching with GMT tracks" ); dttf_gmt_matching = dbe_->book1D( hname, mename, 3, 1, 4); dttf_gmt_matching->setBinLabel(1, "GMT Only", 1); dttf_gmt_matching->setBinLabel(2, "Matching", 1); dttf_gmt_matching->setBinLabel(3, "DTTF Only", 1); dbe_->setCurrentFolder( inclusivepath_ + "/2ND_TRACK_ONLY"); sprintf(hname, "dttf_01_nTracks_2ndTrack"); sprintf(mename, "DTTF 2nd Tracks per Wheel distribution"); dttf_nTracks_integ_2ndTrack = dbe_->book1D(hname, mename, 6, 0, 6); setWheelLabel( dttf_nTracks_integ_2ndTrack ); sprintf(hname, "dttf_02_occupancy_summary_2ndTrack"); sprintf(mename, "DTTF 2nd Tracks distribution by Sector and Wheel"); dttf_occupancySummary_2ndTrack = dbe_->book2D( hname, mename, 6, 0, 6, 12, 1, 13 ); setWheelLabel( dttf_occupancySummary_2ndTrack ); sprintf(hname, "dttf_03_bx_occupancy_2ndTrack"); sprintf(mename, "DTTF 2nd Tracks BX Distribution by Wheel"); dttf_bx_summary_2ndTrack = dbe_->book2D( hname, mename, 6, 0, 6, 3, -1, 2 ); setWheelLabel( dttf_bx_summary_2ndTrack ); dttf_bx_summary_2ndTrack->setAxisTitle("BX", 2 ); sprintf(hname, "dttf_04_bx_2ndTrack"); sprintf(mename, "Fraction of DTTF Tracks BX w.r.t. Tracks with BX=0"); dttf_bx_integ_2ndTrack = dbe_->book1D( hname, mename, 3, -1.5, 1.5 ); dttf_bx_integ_2ndTrack->setAxisTitle("BX", 1); sprintf(hname, "dttf_05_quality_2ndTrack"); sprintf(mename, "DTTF 2nd Tracks Quality distribution"); dttf_quality_integ_2ndTrack = dbe_->book1D(hname, mename, 7, 0.5, 7.5); dttf_quality_integ_2ndTrack->setAxisTitle("Quality", 1); setQualLabel( dttf_quality_integ_2ndTrack, 1); sprintf(hname, "dttf_06_quality_occupancy_2ndTrack"); sprintf(mename, "DTTF 2nd Tracks Quality distribution by Wheel"); dttf_quality_summary_2ndTrack = dbe_->book2D( hname, mename, 6, 0, 6, 7, 1, 8 ); dttf_quality_summary_2ndTrack->setAxisTitle("Wheel", 1); setQualLabel( dttf_quality_summary_2ndTrack, 2); setWheelLabel( dttf_quality_summary_2ndTrack ); sprintf(hname, "dttf_07_highQuality_Tracks_2ndTrack"); sprintf(mename, "Fraction of DTTF 2nd Tracks with Quality>3"); dttf_highQual_Summary_2ndTrack = dbe_->book2D( hname, mename, 6, 0, 6, 12, 1, 13 ); dttf_highQual_Summary_2ndTrack->setAxisTitle("Sector", 2); setWheelLabel( dttf_highQual_Summary_2ndTrack ); sprintf(hname, "dttf_08_phi_vs_eta_2ndTrack"); sprintf(mename, "#eta-#phi DTTF Tracks occupancy for 2nd Tracks"); dttf_phi_eta_integ_2ndTrack = dbe_->book2D( hname, mename, 64, 0, 64, 144, -6, 138. ); dttf_phi_eta_integ_2ndTrack->setAxisTitle("#eta", 1); dttf_phi_eta_integ_2ndTrack->setAxisTitle("#phi", 2); sprintf(hname, "dttf_09_eta_2ndTrack"); sprintf(mename, "DTTF 2nd Tracks #eta distribution (Packed values)"); dttf_eta_integ_2ndTrack = dbe_->book1D(hname, mename, 64, -0.5, 63.5); dttf_eta_integ_2ndTrack->setAxisTitle("#eta", 1); sprintf(hname, "dttf_10_phi_2ndTrack"); sprintf(mename, "DTTF 2nd Tracks Phi distribution (Packed values)"); dttf_phi_integ_2ndTrack = dbe_->book1D(hname, mename, 144, -6, 138 ); dttf_phi_integ_2ndTrack->setAxisTitle("#phi", 1); sprintf(hname, "dttf_11_pt_2ndTrack"); sprintf(mename, "DTTF 2nd Tracks p_{T} distribution (Packed values)"); dttf_pt_integ_2ndTrack = dbe_->book1D(hname, mename, 32, -0.5, 31.5); dttf_pt_integ_2ndTrack->setAxisTitle("p_{T}", 1); sprintf(hname, "dttf_12_charge_2ndTrack"); sprintf(mename, "DTTF 2nd Tracks Charge distribution"); dttf_q_integ_2ndTrack = dbe_->book1D(hname, mename, 2, -0.5, 1.5); dttf_q_integ_2ndTrack->setAxisTitle("Charge", 1); for ( unsigned int wh = 0; wh < 6 ; ++wh ) { dbe_->setCurrentFolder( wheelpath_[wh] ); sprintf( hname, "dttf_02_nTracks_wh%s", wheel_[wh].c_str() ); sprintf( mename, "Wheel %s - Number of Tracks", wheel_[wh].c_str() ); dttf_nTracks_wheel[wh] = dbe_->book1D( hname, mename, 12, 1, 13); dttf_nTracks_wheel[wh]->setAxisTitle("sector", 1); sprintf(hname, "dttf_03_bx_occupancy_wh%s", wheel_[wh].c_str() ); sprintf(mename, "Wheel %s - DTTF Tracks BX distribution by Sector", wheel_[wh].c_str()); dttf_bx_wheel_summary[wh] = dbe_->book2D( hname, mename, 12, 1, 13, 3, -1, 2); dttf_bx_wheel_summary[wh]->setAxisTitle("BX", 2 ); dttf_bx_wheel_summary[wh]->setAxisTitle("Sector", 1 ); sprintf(hname, "dttf_04_bx_wh%s", wheel_[wh].c_str()); sprintf(mename, "Wheel %s - DTTF Tracks BX w.r.t. Tracks with BX=0", wheel_[wh].c_str()); dttf_bx_wheel_integ[wh] = dbe_->book1D(hname, mename, 3, -1.5, 1.5); dttf_bx_wheel_integ[wh]->setAxisTitle("BX", 1); sprintf(hname, "dttf_05_quality_wh%s", wheel_[wh].c_str() ); sprintf(mename, "Wheel %s - Tracks Quality Distribution", wheel_[wh].c_str() ); dttf_quality_wheel[wh] = dbe_->book1D(hname, mename, 7, 1, 8); dttf_quality_wheel[wh]->setAxisTitle("Quality", 1); setQualLabel(dttf_quality_wheel[wh], 1); sprintf(hname, "dttf_06_quality_summary_wh%s", wheel_[wh].c_str() ); sprintf(mename, "Wheel %s - Tracks Quality Distribution by Sector", wheel_[wh].c_str() ); dttf_quality_summary_wheel[wh] = dbe_->book2D(hname, mename, 12, 1, 13, 7, 1, 8); dttf_quality_summary_wheel[wh]->setAxisTitle("Sector", 1); // dttf_quality_summary_wheel[wh]->setAxisTitle("Quality", 2); setQualLabel(dttf_quality_summary_wheel[wh], 2); sprintf(hname, "dttf_09_etaFine_fraction_wh%s", wheel_[wh].c_str() ); sprintf(mename, "Wheel %s - Fraction of DTTF Tracks with fine #eta assignment", wheel_[wh].c_str()); dttf_fine_fraction_wh[wh] = dbe_->book1D( hname, mename, 12, 1, 13); dttf_fine_fraction_wh[wh]->setAxisTitle("Sector", 1 ); sprintf(hname, "dttf_10_eta_wh%s", wheel_[wh].c_str() ); sprintf(mename, "Wheel %s - DTTF Tracks #eta distribution (Packed values)", wheel_[wh].c_str() ); dttf_eta_wheel[wh] = dbe_->book1D(hname, mename, 64, -0.5, 63.5 ); dttf_eta_wheel[wh]->setAxisTitle("#eta", 1 ); sprintf(hname, "dttf_11_phi_wh%s", wheel_[wh].c_str() ); sprintf(mename, "Wheel %s - DTTF Tracks Phi distribution (Packed values)", wheel_[wh].c_str() ); dttf_phi_wheel[wh] = dbe_->book1D(hname, mename, 144, -6, 138. ); dttf_phi_wheel[wh]->setAxisTitle("#phi", 1); sprintf(hname, "dttf_12_pt_wh%s", wheel_[wh].c_str() ); sprintf(mename, "Wheel %s - DTTF Tracks p_{T} distribution (Packed values)", wheel_[wh].c_str() ); dttf_pt_wheel[wh] = dbe_->book1D(hname, mename, 32, -0.5, 31.5); dttf_pt_wheel[wh]->setAxisTitle("p_{T}", 1); sprintf(hname, "dttf_13_charge_wh%s", wheel_[wh].c_str() ); sprintf(mename, "Wheel %s - DTTF Tracks Charge distribution", wheel_[wh].c_str() ); dttf_q_wheel[wh] = dbe_->book1D(hname, mename, 2, -0.5, 1.5); dttf_q_wheel[wh]->setAxisTitle("Charge", 1); } for ( unsigned int wh = 0; wh < 6 ; ++wh ) { dbe_->setCurrentFolder( wheelpath_[wh] + "/2ND_TRACK_ONLY" ); sprintf( hname, "dttf_01_nTracks_wh%s_2ndTrack", wheel_[wh].c_str() ); sprintf( mename, "Wheel %s - DTTF Number of 2nd Tracks with BX=0", wheel_[wh].c_str() ); dttf_nTracks_wheel_2ndTrack[wh] = dbe_->book1D( hname, mename, 12, 1, 13); dttf_nTracks_wheel_2ndTrack[wh]->setAxisTitle("sector", 1); sprintf(hname, "dttf_02_bx_occupancy_wh%s_2ndTrack", wheel_[wh].c_str() ); sprintf(mename, "Wheel %s - DTTF 2nd Tracks BX distribution by Sector", wheel_[wh].c_str()); dttf_bx_wheel_summary_2ndTrack[wh] = dbe_->book2D( hname, mename, 12, 1, 13, 3, -1, 2); dttf_bx_wheel_summary_2ndTrack[wh]->setAxisTitle("BX", 2 ); dttf_bx_wheel_summary_2ndTrack[wh]->setAxisTitle("Sector", 1 ); sprintf(hname, "dttf_03_bx_wh%s_2ndTrack", wheel_[wh].c_str()); sprintf(mename, "Wheel %s - 2nd Tracks BX Distribution", wheel_[wh].c_str()); dttf_bx_wheel_integ_2ndTrack[wh] = dbe_->book1D(hname, mename, 3, -1.5, 1.5); dttf_bx_wheel_integ_2ndTrack[wh]->setAxisTitle("BX", 1); } }
void L1TDTTFClient::beginLuminosityBlock | ( | const edm::LuminosityBlock & | lumiSeg, |
const edm::EventSetup & | context | ||
) | [protected, virtual] |
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_.
{ ++counterLS_; if ( online_ && !( counterLS_ % resetafterlumi_ ) ) { char hname[60]; sprintf( hname, "%s/dttf_04_tracks_occupancy_by_lumi", inclusivepath_.c_str() ); occupancy_r_ = getTH2F(hname); if ( ! occupancy_r_ ) { edm::LogError("L1TDTTFClient::beginLuminosityBlock:ME") << "Failed to get TH2D " << std::string(hname); } else { edm::LogInfo("L1TDTTFClient::beginLuminosityBlock:RESET") << "Reseting plots by lumi!"; occupancy_r_->Reset(); } } }
void L1TDTTFClient::beginRun | ( | const edm::Run & | r, |
const edm::EventSetup & | c | ||
) | [protected, virtual] |
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().
{ char hname[150]; for ( unsigned int wh = 0; wh < 6 ; ++wh ) { sprintf( hname, path.c_str(), wheelpath_[wh].c_str(), wheel_[wh].c_str() ); TH2F * quality = getTH2F(hname); if ( ! quality ) { edm::LogError("L1TDTTFClient::buildHighQualityPlot") << "Failed to get TH2F " << std::string(hname); } else { for ( unsigned int sec = 1; sec < 13 ; ++sec ) { double denHighQual = occupancySummary->GetBinContent( wh+1, sec ); double val = 0; if ( denHighQual > 0 ) { for ( unsigned int qual = 4; qual < 8 ; ++qual ) { val += quality->GetBinContent( qual, sec ); } val /= denHighQual; } highQual_Summary->setBinContent( wh+1, sec, val ); } } } }
void L1TDTTFClient::buildPhiEtaPlotO | ( | MonitorElement * | phi_eta_integ, |
const std::string & | path, | ||
int | wh | ||
) | [private] |
Definition at line 1178 of file L1TDTTFClient.cc.
References eta(), MonitorElement::getBinContent(), getTH2F(), RecoTauCommonJetSelections_cfi::nbins, phi, MonitorElement::setBinContent(), wheel_, and wheelpath_.
Referenced by buildSummaries().
{ char hname[100]; sprintf( hname, path.c_str(), wheelpath_[wh].c_str(), wheel_[wh].c_str() ); TH2F * phi_vs_eta = getTH2F(hname); if ( ! phi_vs_eta ) { edm::LogError("L1TDTTFClient::buildPhiEtaPlotO:ME") << "Failed to get TH1D " << std::string(hname); } else { for ( unsigned int phi = 1; phi < 145 ; ++phi ) { float start = 0; float stop = 0; int nbins = 0; switch ( wh ) { case 0 : start = 0; stop = 18; nbins = 18; break; // N2 case 1 : start = 8; stop = 28; nbins = 20; break; // N1 case 2 : start = 22; stop = 32; nbins = 10; break; // N0 case 3 : start = 22; stop = 42; nbins = 20; break; // P0 case 4 : start = 36; stop = 56; nbins = 20; break; // P1 case 5 : start = 46; stop = 64; nbins = 18; break; // P2 default : start = 0; stop = 0; nbins = 0; break; // BOH } for ( int eta = 1; eta <= nbins ; ++eta ) { double setbin = eta + start; double val = phi_vs_eta->GetBinContent( eta, phi ) + phi_eta_integ->getBinContent( setbin, phi ); phi_eta_integ->setBinContent( setbin, phi, val ); } double underflow = phi_vs_eta->GetBinContent( 0, phi ) + phi_eta_integ->getBinContent( 1, phi ); phi_eta_integ->setBinContent( 1, phi, underflow ); double overflow = phi_vs_eta->GetBinContent( nbins+1, phi ) + phi_eta_integ->getBinContent( 64 ); phi_eta_integ->setBinContent( 64, phi, overflow ); } } }
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(), RecoTauCommonJetSelections_cfi::nbins, phi, MonitorElement::setBinContent(), wheel_, and wheelpath_.
Referenced by buildSummaries().
{ char hname[150]; sprintf( hname, path_fine.c_str(), wheelpath_[wh].c_str(), wheel_[wh].c_str() ); TH2F * phi_vs_eta_fine = getTH2F(hname); if ( ! phi_vs_eta_fine ) { edm::LogError("L1TDTTFClient::buildPhiEtaPloOtFC") << "Failed to get TH1D " << std::string(hname); } sprintf( hname, path_coarse.c_str(), wheelpath_[wh].c_str(), wheel_[wh].c_str() ); TH2F * phi_vs_eta_coarse = getTH2F(hname); if ( ! phi_vs_eta_coarse ) { edm::LogError("L1TDTTFClient::buildPhiEtaPlotOFC") << "Failed to get TH1D " << std::string(hname); } if ( ! phi_vs_eta_fine || ! phi_vs_eta_coarse ) { return; } for ( unsigned int phi = 1; phi < 145 ; ++phi ) { float start = 0; float stop = 0; int nbins = 0; switch ( wh ) { case 0 : start = 0; stop = 18; nbins = 18; break; // N2 case 1 : start = 8; stop = 28; nbins = 20; break; // N1 case 2 : start = 22; stop = 32; nbins = 10; break; // N0 case 3 : start = 22; stop = 42; nbins = 20; break; // P0 case 4 : start = 36; stop = 56; nbins = 20; break; // P1 case 5 : start = 46; stop = 64; nbins = 18; break; // P2 default : start = 0; stop = 0; nbins = 0; break; // BOH } for ( int eta = 1; eta <= nbins ; ++eta ) { double setbin = eta + start; double valfine = phi_vs_eta_fine->GetBinContent( eta, phi ) + phi_eta_fine_integ->getBinContent( setbin, phi ); double valcoarse = phi_vs_eta_coarse->GetBinContent( eta, phi ) + phi_eta_coarse_integ->getBinContent( setbin, phi ); phi_eta_fine_integ->setBinContent( setbin, phi, valfine ); phi_eta_coarse_integ->setBinContent( setbin, phi, valcoarse ); phi_eta_integ->setBinContent( setbin, phi, valfine+valcoarse ); } // double underflow_f = phi_vs_eta_fine->GetBinContent( 0, phi ) // + phi_eta_fine_integ->getBinContent( 1, phi ); // phi_eta_fine_integ->setBinContent( 1, phi, underflow_f ); // // double underflow_c = phi_vs_eta_coarse->GetBinContent( 0, phi ) // + phi_eta_coarse_integ->getBinContent( 1, phi ); // phi_eta_coarse_integ->setBinContent( 1, phi, underflow_c ); // // double overflow_f = phi_vs_eta_fine->GetBinContent( nbins+1, phi ) // + phi_eta_fine_integ->getBinContent( 64 ); // phi_eta_fine_integ->setBinContent( 64, phi, overflow_f ); // // double overflow_c = phi_vs_eta_coarse->GetBinContent( nbins+1, phi ) // + phi_eta_coarse_integ->getBinContent( 64, phi ); // phi_eta_coarse_integ->setBinContent( 64, phi, overflow_c ); // // double underflow = underflow_f + underflow_c; // phi_eta_integ->setBinContent( 1, phi, underflow ); // // double overflow = overflow_f + overflow_c; // phi_eta_integ->setBinContent( 64, phi, overflow ); } }
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, MonitorElement::getTH1F(), getTH1F(), getTH2F(), normalize(), MonitorElement::Reset(), MonitorElement::setBinContent(), tmp, wheel_, and wheelpath_.
Referenced by makeSummary().
{ char hname[100]; int wheelBx[4]; int wheelBx2nd[4]; int wheelSumBx[4]; int wheelSumBx2nd[4]; int qualities[8]; memset( wheelSumBx, 0, 4 * sizeof(int) ); memset( wheelSumBx2nd, 0, 4 * sizeof(int) ); dttf_eta_integ->Reset(); dttf_q_integ->Reset(); dttf_pt_integ->Reset(); dttf_phi_integ->Reset(); dttf_quality_integ->Reset(); dttf_phi_eta_integ->Reset(); dttf_phi_eta_fine_integ->Reset(); dttf_phi_eta_coarse_integ->Reset(); dttf_q_integ_2ndTrack->Reset(); dttf_pt_integ_2ndTrack->Reset(); dttf_phi_integ_2ndTrack->Reset(); dttf_eta_integ_2ndTrack->Reset(); dttf_quality_integ_2ndTrack->Reset(); dttf_quality_summary_2ndTrack->Reset(); for ( unsigned int wh = 0; wh < 6 ; ++wh ) { dttf_eta_wheel[wh]->Reset(); dttf_q_wheel[wh]->Reset(); dttf_pt_wheel[wh]->Reset(); dttf_phi_wheel[wh]->Reset(); dttf_quality_wheel[wh]->Reset(); dttf_quality_summary_wheel[wh]->Reset(); double wheelEtaAll = 0; double wheelEtaFine = 0; memset( wheelBx, 0, 4 * sizeof(int) ); memset( wheelBx2nd, 0, 4 * sizeof(int) ); memset( qualities, 0, 8 * sizeof(int) ); buildPhiEtaPlotOFC( dttf_phi_eta_fine_integ, dttf_phi_eta_coarse_integ, dttf_phi_eta_integ, "%s/dttf_07_phi_vs_etaFine_wh%s", "%s/dttf_08_phi_vs_etaCoarse_wh%s", wh ); buildPhiEtaPlotO( dttf_phi_eta_integ_2ndTrack, "%s/2ND_TRACK_ONLY/dttf_06_phi_vs_eta_wh%s_2ndTrack", wh ); for ( unsigned int sector = 1; sector < 13; ++sector ) { sprintf( hname, "%s/BX_BySector/dttf_bx_wh%s_se%d", wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector ); TH1F * bxsector = getTH1F(hname); if ( ! bxsector ) { edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D " << std::string(hname); } else { for ( unsigned int bx = 1; bx < 4 ; ++bx ) { int bxval = bxsector->GetBinContent( bx ); if ( bx == 2 ) { // if ( wh == 2 ) // dttf_occupancySummary->setBinContent( wh+1, sector, bxval*14 ); // else // dttf_occupancySummary->setBinContent( wh+1, sector, bxval ); dttf_occupancySummary->setBinContent( wh+1, sector, bxval ); dttf_nTracks_wheel[wh]->setBinContent(sector, bxval ); } wheelBx[bx] += bxval; dttf_bx_wheel_summary[wh]->setBinContent( sector, bx, bxval ); } } sprintf( hname, "%s/BX_BySector/2ND_TRACK_ONLY/dttf_bx_2ndTrack_wh%s_se%d", wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector ); TH1F * bxsector2nd = getTH1F(hname); if ( ! bxsector2nd ) { edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D " << std::string(hname); } else { for ( unsigned int bx = 1; bx < 4 ; ++bx ) { int bxval = bxsector2nd->GetBinContent( bx ); if ( bx == 2 ) { dttf_2ndTrack_Summary->setBinContent( wh+1, sector, bxval ); dttf_occupancySummary_2ndTrack->setBinContent(wh+1, sector, bxval); dttf_nTracks_wheel_2ndTrack[wh]->setBinContent(sector, bxval ); } wheelBx2nd[bx] += bxval; dttf_bx_wheel_summary_2ndTrack[wh]->setBinContent(sector, bx, bxval); } } sprintf( hname, "%s/Charge/dttf_charge_wh%s_se%d", wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector ); TH1F * tmp = getTH1F(hname); if ( ! tmp ) { edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D " << std::string(hname); } else { dttf_q_integ->getTH1F()->Add( tmp ); dttf_q_wheel[wh]->getTH1F()->Add( tmp ); } sprintf( hname, "%s/PT/dttf_pt_wh%s_se%d", wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector ); tmp = getTH1F(hname); if ( ! tmp ) { edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D " << std::string(hname); } else { dttf_pt_integ->getTH1F()->Add( tmp ); dttf_pt_wheel[wh]->getTH1F()->Add( tmp ); } sprintf( hname, "%s/Phi/dttf_phi_wh%s_se%d", wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector ); tmp = getTH1F(hname); if ( ! tmp ) { edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D " << std::string(hname); } else { dttf_phi_integ->getTH1F()->Add( tmp ); dttf_phi_wheel[wh]->getTH1F()->Add( tmp ); } double highQual = 0; double denHighQual = 0; sprintf( hname, "%s/Quality/dttf_qual_wh%s_se%d", wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector ); tmp = getTH1F(hname); if ( ! tmp ) { edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D " << std::string(hname); } else { dttf_quality_wheel[wh]->getTH1F()->Add( tmp ); for ( unsigned int qual = 1; qual < 4 ; ++qual ) { double bincontent = tmp->GetBinContent( qual ); qualities[qual] += bincontent; denHighQual += bincontent; dttf_quality_summary_wheel[wh]->setBinContent(sector, qual, bincontent); } for ( unsigned int qual = 4; qual < 8 ; ++qual ) { double bincontent = tmp->GetBinContent( qual ); qualities[qual] += bincontent; dttf_quality_summary_wheel[wh]->setBinContent(sector, qual, bincontent); denHighQual += bincontent; highQual += bincontent; } } if ( denHighQual > 0 ) highQual /= denHighQual; dttf_highQual_Summary->setBinContent( wh+1, sector, highQual ); sprintf( hname, "%s/Eta/dttf_eta_wh%s_se%d", wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector ); tmp = getTH1F(hname); if ( ! tmp ) { edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D " << std::string(hname); } else { dttf_eta_integ->getTH1F()->Add( tmp ); dttf_eta_wheel[wh]->getTH1F()->Add( tmp ); } sprintf( hname, "%s/EtaFineFraction/dttf_etaFine_fraction_wh%s_se%d", wheelpath_[wh].c_str(), wheel_[wh].c_str(), sector ); tmp = getTH1F(hname); if ( ! tmp ) { edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D " << std::string(hname); } else { double fine = tmp->GetBinContent( 1 ); double coarse = tmp->GetBinContent( 2 ); double tot = fine + coarse; wheelEtaAll += tot; wheelEtaFine += fine; if ( tot > 0 ) { dttf_fine_fraction_wh[wh]->setBinContent( sector, fine/tot ); } } } if ( wheelEtaAll > 0 ) { dttf_eta_fine_fraction->setBinContent( wh+1, wheelEtaFine/wheelEtaAll ); } dttf_nTracks_integ->setBinContent( wh+1, wheelBx[2] ); dttf_nTracks_integ_2ndTrack->setBinContent( wh+1, wheelBx2nd[2] ); for ( unsigned int bx = 1; bx < 4; ++bx ) { dttf_bx_wheel_integ[wh]->setBinContent( bx, wheelBx[bx] ); dttf_bx_summary->setBinContent( wh+1, bx, wheelBx[bx] ); wheelSumBx[bx] += wheelBx[bx]; dttf_bx_wheel_integ_2ndTrack[wh]->setBinContent( bx, wheelBx2nd[bx] ); dttf_bx_summary_2ndTrack->setBinContent( wh+1, bx, wheelBx2nd[bx] ); wheelSumBx2nd[bx] += wheelBx2nd[bx]; } for ( unsigned int qual = 1; qual < 8 ; ++qual ) { dttf_quality_summary->setBinContent( wh+1, qual, qualities[qual] ); dttf_quality_integ->getTH1F()->AddBinContent( qual, qualities[qual] ); } normalize( dttf_bx_wheel_summary[wh]->getTH2F() ); normalize( dttf_bx_wheel_summary_2ndTrack[wh]->getTH2F() ); normalize( dttf_nTracks_wheel[wh]->getTH1F() ); normalize( dttf_nTracks_wheel_2ndTrack[wh]->getTH1F() ); normalize( dttf_quality_summary_wheel[wh]->getTH2F() ); normalize( dttf_quality_wheel[wh]->getTH1F() ); normalize( dttf_eta_wheel[wh]->getTH1F() ); normalize( dttf_q_wheel[wh]->getTH1F() ); normalize( dttf_pt_wheel[wh]->getTH1F() ); normalize( dttf_phi_wheel[wh]->getTH1F() ); double scale = wheelBx[2]; if ( scale > 0 ) { scale = 1/scale; normalize( dttf_bx_wheel_integ[wh]->getTH1F(), scale ); } scale = wheelBx2nd[2]; if ( scale > 0 ) { scale = 1/scale; normalize( dttf_bx_wheel_integ_2ndTrack[wh]->getTH1F(), scale ); } sprintf( hname, "%s/2ND_TRACK_ONLY/dttf_07_eta_wh%s_2ndTrack", wheelpath_[wh].c_str(), wheel_[wh].c_str() ); TH1F * tmp = getTH1F(hname); if ( ! tmp ) { edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D " << std::string(hname); } else { dttf_eta_integ_2ndTrack->getTH1F()->Add( tmp ); } sprintf( hname, "%s/2ND_TRACK_ONLY/dttf_08_phi_wh%s_2ndTrack", wheelpath_[wh].c_str(), wheel_[wh].c_str() ); tmp = getTH1F(hname); if ( ! tmp ) { edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D " << std::string(hname); } else { dttf_phi_integ_2ndTrack->getTH1F()->Add( tmp ); } sprintf( hname, "%s/2ND_TRACK_ONLY/dttf_09_pt_wh%s_2ndTrack", wheelpath_[wh].c_str(), wheel_[wh].c_str() ); tmp = getTH1F(hname); if ( ! tmp ) { edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D " << std::string(hname); } else { dttf_pt_integ_2ndTrack->getTH1F()->Add( tmp ); } sprintf( hname, "%s/2ND_TRACK_ONLY/dttf_10_charge_wh%s_2ndTrack", wheelpath_[wh].c_str(), wheel_[wh].c_str() ); tmp = getTH1F(hname); if ( ! tmp ) { edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D " << std::string(hname); } else { dttf_q_integ_2ndTrack->getTH1F()->Add( tmp ); } sprintf( hname, "%s/2ND_TRACK_ONLY/dttf_04_quality_wh%s_2ndTrack", wheelpath_[wh].c_str(), wheel_[wh].c_str() ); tmp = getTH1F(hname); if ( ! tmp ) { edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D " << std::string(hname); } else { for ( unsigned int qual = 1; qual < 8; ++qual ) { double binqual = tmp->GetBinContent( qual ); dttf_quality_integ_2ndTrack->getTH1F()->AddBinContent( qual, binqual ); dttf_quality_summary_2ndTrack->setBinContent( wh, qual, binqual ); } } } for ( unsigned int bx = 1; bx < 4; ++bx ) { dttf_bx_integ->setBinContent( bx, wheelSumBx[bx] ); dttf_bx_integ_2ndTrack->setBinContent( bx, wheelSumBx2nd[bx] ); } double scale = wheelSumBx[2]; if ( scale > 0 ) { scale = 1./scale; normalize( dttf_bx_integ->getTH1F(), scale ); } scale = wheelSumBx2nd[2]; if ( scale > 0 ) { scale = 1./scale; normalize( dttf_bx_integ_2ndTrack->getTH1F(), scale ); } }
void L1TDTTFClient::endJob | ( | void | ) | [protected, virtual] |
void L1TDTTFClient::endLuminosityBlock | ( | const edm::LuminosityBlock & | lumiSeg, |
const edm::EventSetup & | c | ||
) | [protected, virtual] |
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_.
{ if ( online_ ) { makeSummary(); if ( occupancy_r_ ) normalize( occupancy_r_ ); } }
void L1TDTTFClient::endRun | ( | const edm::Run & | r, |
const edm::EventSetup & | c | ||
) | [protected, virtual] |
EndRun.
Reimplemented from edm::EDAnalyzer.
Definition at line 450 of file L1TDTTFClient.cc.
References makeSummary().
{ makeSummary(); }
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().
{ MonitorElement * me = dbe_->get(hname); if ( ! me ) { edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get ME " << std::string(hname); return NULL; } // edm::LogInfo("L1TDTTFClient::getTH1F") << "#################### " // << std::string(hname); return me->getTH1F(); }
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().
{ MonitorElement * me = dbe_->get(hname); if ( ! me ) { edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get ME " << std::string(hname); return NULL; } // edm::LogInfo("L1TDTTFClient::getTH2F") << "#################### " // << std::string(hname); return me->getTH2F(); }
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(), and setGMTsummary().
Referenced by endLuminosityBlock(), and endRun().
{ buildSummaries(); double scale = 0; double entries = dttf_occupancySummary->getTH2F()->Integral(); if ( entries ) { normalize( dttf_bx_summary->getTH2F() ); scale = 1 / entries; normalize( dttf_occupancySummary->getTH2F(), scale ); normalize( dttf_nTracks_integ->getTH1F(), scale ); double physEntries = dttf_eta_integ->getTH1F()->Integral(); if ( physEntries > 0 ) { double physScale = 1 / physEntries; normalize( dttf_phi_eta_integ->getTH2F(), physScale ); normalize( dttf_phi_eta_fine_integ->getTH2F(), physScale ); normalize( dttf_phi_eta_coarse_integ->getTH2F(), physScale ); normalize( dttf_quality_summary->getTH2F(), physScale ); normalize( dttf_eta_integ->getTH1F(), physScale ); normalize( dttf_q_integ->getTH1F(), physScale ); normalize( dttf_pt_integ->getTH1F(), physScale ); normalize( dttf_phi_integ->getTH1F(), physScale ); normalize( dttf_quality_integ->getTH1F(), physScale ); } } double entries2ndTrack = dttf_occupancySummary_2ndTrack->getTH2F()->Integral(); if ( entries2ndTrack > 0 ) { normalize( dttf_bx_summary_2ndTrack->getTH2F() ); // TH2F * ratio = dttf_occupancySummary_2ndTrack->getTH2F(); buildHighQualityPlot( ratio, dttf_highQual_Summary_2ndTrack, "%s/2ND_TRACK_ONLY/dttf_05_quality_summary_wh%s_2ndTrack" ); normalize( dttf_2ndTrack_Summary->getTH2F(), scale ); // double scale2nd = 1 / entries2ndTrack; normalize( dttf_occupancySummary_2ndTrack->getTH2F(), scale2nd ); // normalize( dttf_nTracks_integ_2ndTrack->getTH1F(), scale2nd ); // normalize( dttf_phi_eta_integ_2ndTrack->getTH2F() ); normalize( dttf_q_integ_2ndTrack->getTH1F() ); normalize( dttf_pt_integ_2ndTrack->getTH1F() ); normalize( dttf_phi_integ_2ndTrack->getTH1F() ); normalize( dttf_eta_integ_2ndTrack->getTH1F() ); normalize( dttf_quality_integ_2ndTrack->getTH1F() ); normalize( dttf_quality_summary_2ndTrack->getTH2F() ); } setGMTsummary(); }
void L1TDTTFClient::normalize | ( | T * | me, |
const double & | scale | ||
) | [inline, private] |
Definition at line 169 of file L1TDTTFClient.h.
References normalize().
{ normalize( me, scale, me->Integral() ); }
void L1TDTTFClient::normalize | ( | T * | me | ) | [inline, private] |
Definition at line 160 of file L1TDTTFClient.h.
Referenced by buildSummaries(), endLuminosityBlock(), makeSummary(), and normalize().
{ double scale = me->Integral(); if ( scale > 0 ) { normalize( me, 1./scale, scale ); } }
void L1TDTTFClient::normalize | ( | T * | me, |
const double & | scale, | ||
const double & | entries | ||
) | [inline, private] |
Definition at line 176 of file L1TDTTFClient.h.
{ me->SetEntries( entries ); me->Scale( scale ); }
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().
{ char hname[60]; sprintf( hname, "%s/dttf_tracks_with_gmt_match", gmtpath_.c_str() ); TH2F * gmt_match = getTH2F(hname); if ( ! gmt_match ) { edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D " << std::string(hname); return; } sprintf( hname, "%s/dttf_tracks_without_gmt_match", gmtpath_.c_str() ); TH2F * gmt_missed = getTH2F(hname); if ( ! gmt_missed ) { edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D " << std::string(hname); return; } sprintf( hname, "%s/dttf_missing_tracks_in_gmt", gmtpath_.c_str() ); TH2F * gmt_ghost = getTH2F(hname); if ( ! gmt_ghost ) { edm::LogError("L1TDTTFClient::makeSummary:ME") << "Failed to get TH1D " << std::string(hname); return; } int match = gmt_match->Integral(); int missed = gmt_missed->Integral(); int ghost = gmt_ghost->Integral(); float tot = match + missed + ghost; if ( tot > 0 ) { double val = ghost/tot; dttf_gmt_matching->setBinContent( 1, val ); val = match/tot; dttf_gmt_matching->setBinContent( 2, val ); val = missed/tot; dttf_gmt_matching->setBinContent( 3, val ); } }
void L1TDTTFClient::setMapLabel | ( | MonitorElement * | me | ) | [private] |
void L1TDTTFClient::setQualLabel | ( | MonitorElement * | me, |
int | axis | ||
) | [private] |
Definition at line 1321 of file L1TDTTFClient.cc.
References MonitorElement::setAxisTitle(), and MonitorElement::setBinLabel().
Referenced by beginJob().
{ if( axis == 1 ) me->setAxisTitle("Quality", axis); me->setBinLabel(1, "T34", axis); me->setBinLabel(2, "T23/24", axis); me->setBinLabel(3, "T12/13/14", axis); me->setBinLabel(4, "T234", axis); me->setBinLabel(5, "T134", axis); me->setBinLabel(6, "T123/124", axis); me->setBinLabel(7, "T1234", axis); }
void L1TDTTFClient::setWheelLabel | ( | MonitorElement * | me | ) | [private] |
Definition at line 1307 of file L1TDTTFClient.cc.
References MonitorElement::setAxisTitle(), and MonitorElement::setBinLabel().
Referenced by beginJob().
{ me->setAxisTitle("Wheel", 1); me->setBinLabel(1, "N2", 1); me->setBinLabel(2, "N1", 1); me->setBinLabel(3, "N0", 1); me->setBinLabel(4, "P0", 1); me->setBinLabel(5, "P1", 1); me->setBinLabel(6, "P2", 1); }
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().
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().
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().
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().
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().
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().
Definition at line 80 of file L1TDTTFClient.h.
Referenced by beginJob(), and buildSummaries().
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().
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().
Definition at line 74 of file L1TDTTFClient.h.
Referenced by beginJob(), buildSummaries(), and makeSummary().
Definition at line 95 of file L1TDTTFClient.h.
Referenced by beginJob(), buildSummaries(), and makeSummary().
Definition at line 81 of file L1TDTTFClient.h.
Referenced by beginJob(), buildSummaries(), and makeSummary().
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().
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().
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().
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().
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().
Definition at line 98 of file L1TDTTFClient.h.
Referenced by beginJob(), buildSummaries(), and makeSummary().
Definition at line 79 of file L1TDTTFClient.h.
Referenced by beginJob(), buildSummaries(), and makeSummary().
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] |
Definition at line 68 of file L1TDTTFClient.h.
Referenced by beginJob(), buildHighQualityPlot(), buildPhiEtaPlotO(), buildPhiEtaPlotOFC(), and buildSummaries().
std::string L1TDTTFClient::wheelpath_[6] [private] |
Definition at line 69 of file L1TDTTFClient.h.
Referenced by beginJob(), buildHighQualityPlot(), buildPhiEtaPlotO(), buildPhiEtaPlotOFC(), and buildSummaries().