CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
DTResolutionAnalysisTest Class Reference

#include <DTResolutionAnalysisTest.h>

Inheritance diagram for DTResolutionAnalysisTest:
DQMEDHarvester edm::one::EDProducer< edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::EndProcessBlockProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns, edm::one::SharedResources, edm::Accumulator > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

void beginRun (const edm::Run &r, const edm::EventSetup &c) override
 BeginRun. More...
 
void bookHistos (DQMStore::IBooker &)
 
void bookHistos (DQMStore::IBooker &, int wh)
 
void bookHistos (DQMStore::IBooker &, int wh, int sect)
 
 DTResolutionAnalysisTest (const edm::ParameterSet &ps)
 Constructor. More...
 
std::string getMEName (const DTSuperLayerId &slID)
 Get the ME name. More...
 
 ~DTResolutionAnalysisTest () override
 Destructor. More...
 
- Public Member Functions inherited from DQMEDHarvester
void accumulate (edm::Event const &ev, edm::EventSetup const &es) final
 
void beginJob () override
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &) override
 
virtual void dqmAnalyze (DQMStore::IBooker &, DQMStore::IGetter &, edm::Event const &, edm::EventSetup const &)
 
 DQMEDHarvester ()
 
 DQMEDHarvester (edm::ParameterSet const &iConfig)
 
virtual void dqmEndLuminosityBlock (DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmEndRun (DQMStore::IBooker &, DQMStore::IGetter &, edm::Run const &, edm::EventSetup const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &es) final
 
void endProcessBlockProduce (edm::ProcessBlock &) final
 
void endRun (edm::Run const &, edm::EventSetup const &) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &es) final
 
 ~DQMEDHarvester () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::EndProcessBlockProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns, edm::one::SharedResources, edm::Accumulator >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Protected Member Functions

void dqmEndJob (DQMStore::IBooker &, DQMStore::IGetter &) override
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Private Member Functions

double meanInRange (double mean) const
 
void resetMEs ()
 
double sigmaInRange (double sigma) const
 
int slFromBin (int bin) const
 
int stationFromBin (int bin) const
 

Private Attributes

bool doCalibAnalysis
 
MonitorElementglobalResSummary
 
double maxGoodMeanValue
 
double maxGoodSigmaValue
 
std::map< int, MonitorElement * > meanDistr
 
std::map< std::pair< int, int >, MonitorElement * > MeanHistos
 
double minBadMeanValue
 
double minBadSigmaValue
 
edm::ESHandle< DTGeometrymuonGeom
 
int nevents
 
unsigned int nLumiSegs
 
int percentual
 
int prescaleFactor
 
int run
 
std::map< int, MonitorElement * > sigmaDistr
 
std::map< std::pair< int, int >, MonitorElement * > SigmaHistos
 
std::string topHistoFolder
 
std::map< int, MonitorElement * > wheelMeanHistos
 
std::map< int, std::map< int, std::map< std::string, MonitorElement * > > > wheelRingHistos
 
std::map< int, MonitorElement * > wheelSigmaHistos
 

Additional Inherited Members

- Public Types inherited from DQMEDHarvester
typedef dqm::harvesting::DQMStore DQMStore
 
typedef dqm::harvesting::MonitorElement MonitorElement
 
- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Attributes inherited from DQMEDHarvester
DQMStoredqmstore_
 
edm::GetterOfProducts< DQMTokenjobmegetter_
 
edm::EDPutTokenT< DQMTokenjobToken_
 
edm::GetterOfProducts< DQMTokenlumimegetter_
 
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::GetterOfProducts< DQMTokenrunmegetter_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 30 of file DTResolutionAnalysisTest.h.

Constructor & Destructor Documentation

◆ DTResolutionAnalysisTest()

DTResolutionAnalysisTest::DTResolutionAnalysisTest ( const edm::ParameterSet ps)

Constructor.

Definition at line 32 of file DTResolutionAnalysisTest.cc.

32  {
33  LogTrace("DTDQM|DTMonitorClient|DTResolutionAnalysisTest") << "[DTResolutionAnalysisTest]: Constructor";
34 
35  prescaleFactor = ps.getUntrackedParameter<int>("diagnosticPrescale", 1);
36  // permitted test range
37  maxGoodMeanValue = ps.getUntrackedParameter<double>("maxGoodMeanValue", 0.02);
38  minBadMeanValue = ps.getUntrackedParameter<double>("minBadMeanValue", 0.04);
39  maxGoodSigmaValue = ps.getUntrackedParameter<double>("maxGoodSigmaValue", 0.08);
40  minBadSigmaValue = ps.getUntrackedParameter<double>("minBadSigmaValue", 0.16);
41  // top folder for the histograms in DQMStore
42  topHistoFolder = ps.getUntrackedParameter<string>("topHistoFolder", "DT/02-Segments");
43 
44  doCalibAnalysis = ps.getUntrackedParameter<bool>("doCalibAnalysis", false);
45 }

References dtResolutionTestFinalCalib_cfi::doCalibAnalysis, edm::ParameterSet::getUntrackedParameter(), LogTrace, dtResolutionAnalysisTest_cfi::maxGoodMeanValue, dtResolutionAnalysisTest_cfi::maxGoodSigmaValue, dtResolutionAnalysisTest_cfi::minBadMeanValue, dtResolutionAnalysisTest_cfi::minBadSigmaValue, Skims_PDWG_cff::prescaleFactor, and ALCARECODTCalibSynchCosmicsDQMClient_cff::topHistoFolder.

◆ ~DTResolutionAnalysisTest()

DTResolutionAnalysisTest::~DTResolutionAnalysisTest ( )
override

Destructor.

Definition at line 47 of file DTResolutionAnalysisTest.cc.

47  {
48  LogTrace("DTDQM|DTMonitorClient|DTResolutionAnalysisTest")
49  << "DTResolutionAnalysisTest: analyzed " << nevents << " events";
50 }

References LogTrace, and cmsHarvester::nevents.

Member Function Documentation

◆ beginRun()

void DTResolutionAnalysisTest::beginRun ( const edm::Run r,
const edm::EventSetup c 
)
override

BeginRun.

Definition at line 52 of file DTResolutionAnalysisTest.cc.

52  {
53  LogTrace("DTDQM|DTMonitorClient|DTResolutionAnalysisTest") << "[DTResolutionAnalysisTest]: BeginRun";
54 
55  nevents = 0;
56 
57  // Get the geometry
58  context.get<MuonGeometryRecord>().get(muonGeom);
59 }

References edm::EventSetup::get(), edm::get(), LogTrace, and cmsHarvester::nevents.

◆ bookHistos() [1/3]

void DTResolutionAnalysisTest::bookHistos ( DQMStore::IBooker ibooker)

Definition at line 61 of file DTResolutionAnalysisTest.cc.

61  {
62  // global residual summary
63 
66  ibooker.book2D("ResidualsGlbSummary", "# of SLs with good mean and good sigma of residuals", 12, 1, 13, 5, -2, 3);
67 
68  // book summaries for mean and sigma
69  ibooker.setCurrentFolder(topHistoFolder + "/00-MeanRes");
70  meanDistr[-2] = ibooker.book1D("MeanDistr", "Mean value of the residuals all (cm)", 100, -0.1, 0.1);
71  meanDistr[-1] = ibooker.book1D("MeanDistr_Phi", "Mean value of the residuals #phi SL (cm)", 100, -0.1, 0.1);
72  meanDistr[0] =
73  ibooker.book1D("MeanDistr_ThetaWh0", "Mean values of the residuals #theta SL Wh 0 (cm)", 100, -0.1, 0.1);
74  meanDistr[1] =
75  ibooker.book1D("MeanDistr_ThetaWh1", "Mean value of the residuals #theta SL Wh +/-1 (cm)", 100, -0.1, 0.1);
76  meanDistr[2] =
77  ibooker.book1D("MeanDistr_ThetaWh2", "Mean value of the residuals #theta SL Wh +/-2 (cm)", 100, -0.1, 0.1);
78 
79  for (int wh = -2; wh <= 2; wh++) {
80  stringstream wheel;
81  wheel << wh;
82  for (int st = 1; st <= 4; st++) {
83  stringstream station;
84  station << st;
85  for (int sl = 1; sl <= 3; sl++) {
86  if (sl == 2 && st == 4)
87  continue;
88  ibooker.setCurrentFolder(topHistoFolder + "/00-MeanRes/Wheel" + wheel.str());
89  string histoLabel = "MeanDistr";
90  string histoName = histoLabel + "_W" + wheel.str() + "_MB" + station.str() + "_Phi";
91  string histoType = histoLabel + "_Phi";
92  if (sl == 2) {
93  histoName = histoLabel + "_W" + wheel.str() + "_MB" + station.str() + "_Theta";
94  histoType = histoLabel + "_Theta";
95  }
96  (wheelRingHistos[wh][st])[histoType] = ibooker.book1D(histoName, histoLabel, 100, -0.1, 0.1);
97 
98  ibooker.setCurrentFolder(topHistoFolder + "/01-SigmaRes/Wheel" + wheel.str());
99  histoLabel = "SigmaDistr";
100  histoName = histoLabel + "_W" + wheel.str() + "_MB" + station.str() + "_Phi";
101  histoType = histoLabel + "_Phi";
102  if (sl == 2) {
103  histoName = histoLabel + "_W" + wheel.str() + "_MB" + station.str() + "_Theta";
104  histoType = histoLabel + "_Theta";
105  }
106  (wheelRingHistos[wh][st])[histoType] = ibooker.book1D(histoName, histoLabel, 50, 0.0, 0.2);
107  }
108  }
109  }
110 
111  ibooker.setCurrentFolder(topHistoFolder + "/00-MeanRes");
112  string histoTitle = "# of SLs with good mean of residuals";
113  wheelMeanHistos[3] = ibooker.book2D("MeanResGlbSummary", histoTitle.c_str(), 12, 1, 13, 5, -2, 3);
114  wheelMeanHistos[3]->setAxisTitle("Sector", 1);
115  wheelMeanHistos[3]->setAxisTitle("Wheel", 2);
116 
117  ibooker.setCurrentFolder(topHistoFolder + "/01-SigmaRes");
118  sigmaDistr[-2] = ibooker.book1D("SigmaDistr", "Sigma value of the residuals all (cm)", 50, 0.0, 0.2);
119  sigmaDistr[-1] = ibooker.book1D("SigmaDistr_Phi", "Sigma value of the residuals #phi SL (cm)", 50, 0.0, 0.2);
120  sigmaDistr[0] =
121  ibooker.book1D("SigmaDistr_ThetaWh0", "Sigma value of the residuals #theta SL Wh 0 (cm)", 50, 0.0, 0.2);
122  sigmaDistr[1] =
123  ibooker.book1D("SigmaDistr_ThetaWh1", "Sigma value of the residuals #theta SL Wh +/-1 (cm)", 50, 0.0, 0.2);
124  sigmaDistr[2] =
125  ibooker.book1D("SigmaDistr_ThetaWh2", "Sigma value of the residuals #theta SL Wh +/-2 (cm)", 50, 0.0, 0.2);
126 
127  histoTitle = "# of SLs with good sigma of residuals";
128  wheelSigmaHistos[3] = ibooker.book2D("SigmaResGlbSummary", histoTitle.c_str(), 12, 1, 13, 5, -2, 3);
129  wheelSigmaHistos[3]->setAxisTitle("Sector", 1);
130  wheelSigmaHistos[3]->setAxisTitle("Wheel", 2);
131 
132  // loop over all the CMS wheels, sectors & book the summary histos
133  for (int wheel = -2; wheel <= 2; wheel++) {
134  bookHistos(ibooker, wheel);
135  for (int sector = 1; sector <= 12; sector++) {
136  bookHistos(ibooker, wheel, sector);
137  }
138  }
139 }

References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), bookHistos(), fftjetimagerecorder_cfi::histoLabel, HltBtagPostValidation_cff::histoName, dqm::impl::MonitorElement::setAxisTitle(), dqm::implementation::NavigatorBase::setCurrentFolder(), relativeConstraints::station, ALCARECODTCalibSynchCosmicsDQMClient_cff::topHistoFolder, and makeMuonMisalignmentScenario::wheel.

◆ bookHistos() [2/3]

void DTResolutionAnalysisTest::bookHistos ( DQMStore::IBooker ibooker,
int  wh 
)

Definition at line 299 of file DTResolutionAnalysisTest.cc.

299  {
300  stringstream wheel;
301  wheel << wh;
302 
303  ibooker.setCurrentFolder(topHistoFolder + "/00-MeanRes");
304  string histoName = "MeanSummaryRes_W" + wheel.str();
305  string histoTitle = "# of SLs with wrong mean of residuals (Wheel " + wheel.str() + ")";
306 
307  wheelMeanHistos[wh] = ibooker.book2D(histoName.c_str(), histoTitle.c_str(), 12, 1, 13, 11, 1, 12);
308  wheelMeanHistos[wh]->setAxisTitle("Sector", 1);
309  wheelMeanHistos[wh]->setBinLabel(1, "MB1_SL1", 2);
310  wheelMeanHistos[wh]->setBinLabel(2, "MB1_SL2", 2);
311  wheelMeanHistos[wh]->setBinLabel(3, "MB1_SL3", 2);
312  wheelMeanHistos[wh]->setBinLabel(4, "MB2_SL1", 2);
313  wheelMeanHistos[wh]->setBinLabel(5, "MB2_SL2", 2);
314  wheelMeanHistos[wh]->setBinLabel(6, "MB2_SL3", 2);
315  wheelMeanHistos[wh]->setBinLabel(7, "MB3_SL1", 2);
316  wheelMeanHistos[wh]->setBinLabel(8, "MB3_SL2", 2);
317  wheelMeanHistos[wh]->setBinLabel(9, "MB3_SL3", 2);
318  wheelMeanHistos[wh]->setBinLabel(10, "MB4_SL1", 2);
319  wheelMeanHistos[wh]->setBinLabel(11, "MB4_SL3", 2);
320 
321  ibooker.setCurrentFolder(topHistoFolder + "/01-SigmaRes");
322  histoName = "SigmaSummaryRes_W" + wheel.str();
323  histoTitle = "# of SLs with wrong sigma of residuals (Wheel " + wheel.str() + ")";
324 
325  wheelSigmaHistos[wh] = ibooker.book2D(histoName.c_str(), histoTitle.c_str(), 12, 1, 13, 11, 1, 12);
326  wheelSigmaHistos[wh]->setAxisTitle("Sector", 1);
327  wheelSigmaHistos[wh]->setBinLabel(1, "MB1_SL1", 2);
328  wheelSigmaHistos[wh]->setBinLabel(2, "MB1_SL2", 2);
329  wheelSigmaHistos[wh]->setBinLabel(3, "MB1_SL3", 2);
330  wheelSigmaHistos[wh]->setBinLabel(4, "MB2_SL1", 2);
331  wheelSigmaHistos[wh]->setBinLabel(5, "MB2_SL2", 2);
332  wheelSigmaHistos[wh]->setBinLabel(6, "MB2_SL3", 2);
333  wheelSigmaHistos[wh]->setBinLabel(7, "MB3_SL1", 2);
334  wheelSigmaHistos[wh]->setBinLabel(8, "MB3_SL2", 2);
335  wheelSigmaHistos[wh]->setBinLabel(9, "MB3_SL3", 2);
336  wheelSigmaHistos[wh]->setBinLabel(10, "MB4_SL1", 2);
337  wheelSigmaHistos[wh]->setBinLabel(11, "MB4_SL3", 2);
338 }

References dqm::implementation::IBooker::book2D(), HltBtagPostValidation_cff::histoName, dqm::impl::MonitorElement::setAxisTitle(), dqm::implementation::NavigatorBase::setCurrentFolder(), ALCARECODTCalibSynchCosmicsDQMClient_cff::topHistoFolder, and makeMuonMisalignmentScenario::wheel.

◆ bookHistos() [3/3]

void DTResolutionAnalysisTest::bookHistos ( DQMStore::IBooker ibooker,
int  wh,
int  sect 
)

Definition at line 340 of file DTResolutionAnalysisTest.cc.

340  {
341  stringstream wheel;
342  wheel << wh;
343  stringstream sector;
344  sector << sect;
345 
346  string MeanHistoName = "MeanTest_W" + wheel.str() + "_Sec" + sector.str();
347  string SigmaHistoName = "SigmaTest_W" + wheel.str() + "_Sec" + sector.str();
348 
349  string folder = topHistoFolder + "/Wheel" + wheel.str() + "/Sector" + sector.str();
350  ibooker.setCurrentFolder(folder);
351 
352  if (sect != 4 && sect != 10) {
353  MeanHistos[make_pair(wh, sect)] =
354 
355  ibooker.book1D(MeanHistoName.c_str(), "Mean (from gaussian fit) of the residuals distribution", 11, 1, 12);
356  } else {
357  MeanHistos[make_pair(wh, sect)] =
358  ibooker.book1D(MeanHistoName.c_str(), "Mean (from gaussian fit) of the residuals distribution", 13, 1, 14);
359  }
360  (MeanHistos[make_pair(wh, sect)])->setBinLabel(1, "MB1_SL1", 1);
361  (MeanHistos[make_pair(wh, sect)])->setBinLabel(2, "MB1_SL2", 1);
362  (MeanHistos[make_pair(wh, sect)])->setBinLabel(3, "MB1_SL3", 1);
363  (MeanHistos[make_pair(wh, sect)])->setBinLabel(4, "MB2_SL1", 1);
364  (MeanHistos[make_pair(wh, sect)])->setBinLabel(5, "MB2_SL2", 1);
365  (MeanHistos[make_pair(wh, sect)])->setBinLabel(6, "MB2_SL3", 1);
366  (MeanHistos[make_pair(wh, sect)])->setBinLabel(7, "MB3_SL1", 1);
367  (MeanHistos[make_pair(wh, sect)])->setBinLabel(8, "MB3_SL2", 1);
368  (MeanHistos[make_pair(wh, sect)])->setBinLabel(9, "MB3_SL3", 1);
369  (MeanHistos[make_pair(wh, sect)])->setBinLabel(10, "MB4_SL1", 1);
370  (MeanHistos[make_pair(wh, sect)])->setBinLabel(11, "MB4_SL3", 1);
371  if (sect == 4) {
372  (MeanHistos[make_pair(wh, sect)])->setBinLabel(12, "MB4S13_SL1", 1);
373  (MeanHistos[make_pair(wh, sect)])->setBinLabel(13, "MB4S13_SL3", 1);
374  }
375  if (sect == 10) {
376  (MeanHistos[make_pair(wh, sect)])->setBinLabel(12, "MB4S14_SL1", 1);
377  (MeanHistos[make_pair(wh, sect)])->setBinLabel(13, "MB4S14_SL3", 1);
378  }
379 
380  if (sect != 4 && sect != 10) {
381  SigmaHistos[make_pair(wh, sect)] =
382  ibooker.book1D(SigmaHistoName.c_str(), "Sigma (from gaussian fit) of the residuals distribution", 11, 1, 12);
383  } else {
384  SigmaHistos[make_pair(wh, sect)] =
385  ibooker.book1D(SigmaHistoName.c_str(), "Sigma (from gaussian fit) of the residuals distribution", 13, 1, 14);
386  }
387  (SigmaHistos[make_pair(wh, sect)])->setBinLabel(1, "MB1_SL1", 1);
388  (SigmaHistos[make_pair(wh, sect)])->setBinLabel(2, "MB1_SL2", 1);
389  (SigmaHistos[make_pair(wh, sect)])->setBinLabel(3, "MB1_SL3", 1);
390  (SigmaHistos[make_pair(wh, sect)])->setBinLabel(4, "MB2_SL1", 1);
391  (SigmaHistos[make_pair(wh, sect)])->setBinLabel(5, "MB2_SL2", 1);
392  (SigmaHistos[make_pair(wh, sect)])->setBinLabel(6, "MB2_SL3", 1);
393  (SigmaHistos[make_pair(wh, sect)])->setBinLabel(7, "MB3_SL1", 1);
394  (SigmaHistos[make_pair(wh, sect)])->setBinLabel(8, "MB3_SL2", 1);
395  (SigmaHistos[make_pair(wh, sect)])->setBinLabel(9, "MB3_SL3", 1);
396  (SigmaHistos[make_pair(wh, sect)])->setBinLabel(10, "MB4_SL1", 1);
397  (SigmaHistos[make_pair(wh, sect)])->setBinLabel(11, "MB4_SL3", 1);
398  if (sect == 4) {
399  (SigmaHistos[make_pair(wh, sect)])->setBinLabel(12, "MB4S13_SL1", 1);
400  (SigmaHistos[make_pair(wh, sect)])->setBinLabel(13, "MB4S13_SL3", 1);
401  }
402  if (sect == 10) {
403  (SigmaHistos[make_pair(wh, sect)])->setBinLabel(12, "MB4S14_SL1", 1);
404  (SigmaHistos[make_pair(wh, sect)])->setBinLabel(13, "MB4S14_SL3", 1);
405  }
406 }

References dqm::implementation::IBooker::book1D(), printsummarytable::folder, dqm::implementation::NavigatorBase::setCurrentFolder(), ALCARECODTCalibSynchCosmicsDQMClient_cff::topHistoFolder, and makeMuonMisalignmentScenario::wheel.

◆ dqmEndJob()

void DTResolutionAnalysisTest::dqmEndJob ( DQMStore::IBooker ibooker,
DQMStore::IGetter igetter 
)
overrideprotectedvirtual

Implements DQMEDHarvester.

Definition at line 141 of file DTResolutionAnalysisTest.cc.

141  {
142  if (!igetter.dirExists(topHistoFolder)) {
143  LogTrace("DTDQM|DTMonitorClient|DTResolutionAnalysisTest")
144  << "[DTResolutionAnalysisTest]: Base folder " << topHistoFolder << " does not exist. Skipping client operation."
145  << endl;
146  return;
147  }
148 
149  bookHistos(ibooker); // histos booked only if top histo folder exist
150  // as Standard/AlcaReco Harvest is performed in the same step
151 
152  LogTrace("DTDQM|DTMonitorClient|DTResolutionAnalysisTest")
153  << "[DTResolutionAnalysisTest]: End of Run transition, performing the DQM client operation" << endl;
154 
155  // reset the ME with fixed scale
156  resetMEs();
157 
158  for (vector<const DTChamber*>::const_iterator ch_it = muonGeom->chambers().begin();
159  ch_it != muonGeom->chambers().end();
160  ++ch_it) { // loop over the chambers
161 
162  DTChamberId chID = (*ch_it)->id();
163 
164  // Fill the test histos
165  for (vector<const DTSuperLayer*>::const_iterator sl_it = (*ch_it)->superLayers().begin();
166  sl_it != (*ch_it)->superLayers().end();
167  ++sl_it) { // loop over SLs
168 
169  DTSuperLayerId slID = (*sl_it)->id();
170  MonitorElement* res_histo = igetter.get(getMEName(slID));
171 
172  if (res_histo) { // Gaussian Fit
173  float statMean = res_histo->getMean(1);
174  float statSigma = res_histo->getRMS(1);
175  double mean = -1;
176  double sigma = -1;
177  TH1F* histo_root = res_histo->getTH1F();
178 
179  // fill the summaries
180  int entry = (chID.station() - 1) * 3;
181  int binSect = slID.sector();
182  if (slID.sector() == 13)
183  binSect = 4;
184  else if (slID.sector() == 14)
185  binSect = 10;
186  int binSL = entry + slID.superLayer();
187  if (chID.station() == 4 && slID.superLayer() == 3)
188  binSL--;
189  if ((slID.sector() == 13 || slID.sector() == 14) && slID.superLayer() == 1)
190  binSL = 12;
191  if ((slID.sector() == 13 || slID.sector() == 14) && slID.superLayer() == 3)
192  binSL = 13;
193 
194  if (histo_root->GetEntries() > 20) {
195  TF1* gfit = new TF1("Gaussian", "gaus", (statMean - (2 * statSigma)), (statMean + (2 * statSigma)));
196  try {
197  histo_root->Fit(gfit, "Q0 SERIAL", "", -0.1, 0.1);
198  } catch (cms::Exception& iException) {
199  LogWarning("DTDQM|DTMonitorModule|DTResolutionAnalysisTask")
200  << "[DTResolutionAnalysisTask]: Exception when fitting SL : " << slID;
201  // FIXME: the SL is set as OK in the summary
202  double weight = 1 / 11.;
203  if ((binSect == 4 || binSect == 10) && slID.station() == 4)
204  weight = 1 / 22.;
205  globalResSummary->Fill(binSect, slID.wheel(), weight);
206  continue;
207  }
208 
209  if (gfit) {
210  // get the mean and the sigma of the distribution
211  mean = gfit->GetParameter(1);
212  sigma = gfit->GetParameter(2);
213 
214  // fill the distributions
215  meanDistr[-2]->Fill(mean);
216  sigmaDistr[-2]->Fill(sigma);
217  if (slID.superlayer() == 2) {
218  meanDistr[abs(slID.wheel())]->Fill(mean);
219  sigmaDistr[abs(slID.wheel())]->Fill(sigma);
220  } else {
221  meanDistr[-1]->Fill(mean);
222  sigmaDistr[-1]->Fill(sigma);
223  }
224 
225  string histoType = "MeanDistr_Phi";
226  if (slID.superlayer() == 2)
227  histoType = "MeanDistr_Theta";
228  (wheelRingHistos[slID.wheel()][slID.station()])[histoType]->Fill(mean);
229 
230  histoType = "SigmaDistr_Phi";
231  if (slID.superlayer() == 2)
232  histoType = "SigmaDistr_Theta";
233  (wheelRingHistos[slID.wheel()][slID.station()])[histoType]->Fill(sigma);
234 
235  // sector summaries
236  MeanHistos[make_pair(slID.wheel(), binSect)]->setBinContent(binSL, mean);
237  SigmaHistos[make_pair(slID.wheel(), binSect)]->setBinContent(binSL, sigma);
238 
239  if ((slID.sector() == 13 || slID.sector() == 14) && binSL == 12)
240  binSL = 10;
241  if ((slID.sector() == 13 || slID.sector() == 14) && binSL == 13)
242  binSL = 11;
243 
244  if ((slID.sector() == 13 || slID.sector() == 14)) {
245  double MeanVal = wheelMeanHistos[slID.wheel()]->getBinContent(binSect, binSL);
246  double MeanBinVal = (MeanVal > 0. && MeanVal < meanInRange(mean)) ? MeanVal : meanInRange(mean);
247  wheelMeanHistos[slID.wheel()]->setBinContent(binSect, binSL, MeanBinVal);
248 
249  double SigmaVal = wheelSigmaHistos[slID.wheel()]->getBinContent(binSect, binSL);
250  double SigmaBinVal = (SigmaVal > 0. && SigmaVal < sigmaInRange(sigma)) ? SigmaVal : sigmaInRange(sigma);
251  wheelSigmaHistos[slID.wheel()]->setBinContent(binSect, binSL, SigmaBinVal);
252 
253  } else {
254  wheelMeanHistos[slID.wheel()]->setBinContent(binSect, binSL, meanInRange(mean));
255  wheelSigmaHistos[slID.wheel()]->setBinContent(binSect, binSL, sigmaInRange(sigma));
256  }
257 
258  // set the weight
259  double weight = 1 / 11.;
260  if ((binSect == 4 || binSect == 10) && slID.station() == 4)
261  weight = 1 / 22.;
262 
263  // test the values of mean and sigma
264  if ((meanInRange(mean) > 0.85) && (sigmaInRange(sigma) > 0.85)) { // sigma and mean ok
265  globalResSummary->Fill(binSect, slID.wheel(), weight);
266  wheelMeanHistos[3]->Fill(binSect, slID.wheel(), weight);
267  wheelSigmaHistos[3]->Fill(binSect, slID.wheel(), weight);
268  } else {
269  if ((meanInRange(mean) < 0.85) && (sigmaInRange(sigma) > 0.85)) { // only sigma ok
270  wheelSigmaHistos[3]->Fill(binSect, slID.wheel(), weight);
271  }
272  if ((meanInRange(mean) > 0.85) && (sigmaInRange(sigma) < 0.85)) { // only mean ok
273  wheelMeanHistos[3]->Fill(binSect, slID.wheel(), weight);
274  }
275  }
276  }
277  delete gfit;
278  } else {
279  LogVerbatim("DTDQM|DTMonitorModule|DTResolutionAnalysisTask")
280  << "[DTResolutionAnalysisTask] Fit of " << slID << " not performed because # entries < 20 ";
281  // FIXME: the SL is set as OK in the summary
282  double weight = 1 / 11.;
283  if ((binSect == 4 || binSect == 10) && slID.station() == 4)
284  weight = 1 / 22.;
285  globalResSummary->Fill(binSect, slID.wheel(), weight);
286  wheelMeanHistos[3]->Fill(binSect, slID.wheel(), weight);
287  wheelSigmaHistos[3]->Fill(binSect, slID.wheel(), weight);
288  wheelMeanHistos[slID.wheel()]->setBinContent(binSect, binSL, 1.);
289  wheelSigmaHistos[slID.wheel()]->setBinContent(binSect, binSL, 1.);
290  }
291  } else {
292  LogWarning("DTDQM|DTMonitorModule|DTResolutionAnalysisTask")
293  << "[DTResolutionAnalysisTask] Histo: " << getMEName(slID) << " not found" << endl;
294  }
295  } // loop on SLs
296  } // Loop on Stations
297 }

References funct::abs(), bookHistos(), dqm::implementation::IGetter::dirExists(), mps_splice::entry, HcalObjRepresent::Fill(), dqm::implementation::IGetter::get(), dqm::impl::MonitorElement::getMean(), dqm::impl::MonitorElement::getRMS(), dqm::legacy::MonitorElement::getTH1F(), LogTrace, SiStripPI::mean, DTChamberId::sector(), DTChamberId::station(), DTSuperLayerId::superLayer(), DTSuperLayerId::superlayer(), tools::TF1, ALCARECODTCalibSynchCosmicsDQMClient_cff::topHistoFolder, mps_merge::weight, and DTChamberId::wheel().

◆ getMEName()

string DTResolutionAnalysisTest::getMEName ( const DTSuperLayerId slID)

Get the ME name.

Definition at line 408 of file DTResolutionAnalysisTest.cc.

408  {
409  stringstream wheel;
410  wheel << slID.wheel();
411  stringstream station;
412  station << slID.station();
413  stringstream sector;
414  sector << slID.sector();
415  stringstream superLayer;
416  superLayer << slID.superlayer();
417 
418  string folderName =
419  topHistoFolder + "/Wheel" + wheel.str() + "/Sector" + sector.str() + "/Station" + station.str() + "/";
420 
421  if (doCalibAnalysis)
422  folderName =
423  "DT/DTCalibValidation/Wheel" + wheel.str() + "/Station" + station.str() + "/Sector" + sector.str() + "/";
424 
425  string histoname = folderName + "hResDist" + "_W" + wheel.str() + "_St" + station.str() + "_Sec" + sector.str() +
426  "_SL" + superLayer.str();
427 
428  if (doCalibAnalysis)
429  histoname = folderName + "hResDist_STEP3" + "_W" + wheel.str() + "_St" + station.str() + "_Sec" + sector.str() +
430  "_SL" + superLayer.str();
431 
432  return histoname;
433 }

References dtResolutionTestFinalCalib_cfi::doCalibAnalysis, ALCARECODTCalibSynchCosmicsDQM_cff::folderName, DTChamberId::sector(), DTChamberId::station(), relativeConstraints::station, DTSuperLayerId::superlayer(), ALCARECODTCalibSynchCosmicsDQMClient_cff::topHistoFolder, DTChamberId::wheel(), and makeMuonMisalignmentScenario::wheel.

◆ meanInRange()

double DTResolutionAnalysisTest::meanInRange ( double  mean) const
private

Definition at line 445 of file DTResolutionAnalysisTest.cc.

445  {
446  double value(0.);
447  if (fabs(mean) <= maxGoodMeanValue) {
448  value = 1.;
449  } else if (fabs(mean) > maxGoodMeanValue && fabs(mean) < minBadMeanValue) {
450  value = 0.9;
451  } else if (fabs(mean) >= minBadMeanValue) {
452  value = 0.1;
453  }
454  return value;
455 }

References dtResolutionAnalysisTest_cfi::maxGoodMeanValue, SiStripPI::mean, dtResolutionAnalysisTest_cfi::minBadMeanValue, and relativeConstraints::value.

◆ resetMEs()

void DTResolutionAnalysisTest::resetMEs ( )
private

Definition at line 469 of file DTResolutionAnalysisTest.cc.

469  {
471  // Reset the summary histo
472  for (map<int, MonitorElement*>::const_iterator histo = wheelMeanHistos.begin(); histo != wheelMeanHistos.end();
473  histo++) {
474  (*histo).second->Reset();
475  }
476  for (map<int, MonitorElement*>::const_iterator histo = wheelSigmaHistos.begin(); histo != wheelSigmaHistos.end();
477  histo++) {
478  (*histo).second->Reset();
479  }
480 
481  for (int indx = -2; indx != 3; ++indx) {
482  meanDistr[indx]->Reset();
483  sigmaDistr[indx]->Reset();
484  }
485 }

References timingPdfMaker::histo.

◆ sigmaInRange()

double DTResolutionAnalysisTest::sigmaInRange ( double  sigma) const
private

Definition at line 457 of file DTResolutionAnalysisTest.cc.

457  {
458  double value(0.);
459  if (sigma <= maxGoodSigmaValue) {
460  value = 1.;
461  } else if (sigma > maxGoodSigmaValue && sigma < minBadSigmaValue) {
462  value = 0.9;
463  } else if (sigma >= minBadSigmaValue) {
464  value = 0.1;
465  }
466  return value;
467 }

References dtResolutionAnalysisTest_cfi::maxGoodSigmaValue, dtResolutionAnalysisTest_cfi::minBadSigmaValue, and relativeConstraints::value.

◆ slFromBin()

int DTResolutionAnalysisTest::slFromBin ( int  bin) const
private

Definition at line 437 of file DTResolutionAnalysisTest.cc.

437  {
438  int ret = bin % 3;
439  if (ret == 0 || bin == 11)
440  ret = 3;
441 
442  return ret;
443 }

References newFWLiteAna::bin, and runTheMatrix::ret.

◆ stationFromBin()

int DTResolutionAnalysisTest::stationFromBin ( int  bin) const
private

Definition at line 435 of file DTResolutionAnalysisTest.cc.

435 { return (int)(bin / 3.1) + 1; }

References newFWLiteAna::bin.

Member Data Documentation

◆ doCalibAnalysis

bool DTResolutionAnalysisTest::doCalibAnalysis
private

Definition at line 66 of file DTResolutionAnalysisTest.h.

◆ globalResSummary

MonitorElement* DTResolutionAnalysisTest::globalResSummary
private

Definition at line 91 of file DTResolutionAnalysisTest.h.

◆ maxGoodMeanValue

double DTResolutionAnalysisTest::maxGoodMeanValue
private

Definition at line 61 of file DTResolutionAnalysisTest.h.

◆ maxGoodSigmaValue

double DTResolutionAnalysisTest::maxGoodSigmaValue
private

Definition at line 63 of file DTResolutionAnalysisTest.h.

◆ meanDistr

std::map<int, MonitorElement*> DTResolutionAnalysisTest::meanDistr
private

Definition at line 77 of file DTResolutionAnalysisTest.h.

◆ MeanHistos

std::map<std::pair<int, int>, MonitorElement*> DTResolutionAnalysisTest::MeanHistos
private

Definition at line 71 of file DTResolutionAnalysisTest.h.

◆ minBadMeanValue

double DTResolutionAnalysisTest::minBadMeanValue
private

Definition at line 62 of file DTResolutionAnalysisTest.h.

◆ minBadSigmaValue

double DTResolutionAnalysisTest::minBadSigmaValue
private

Definition at line 64 of file DTResolutionAnalysisTest.h.

◆ muonGeom

edm::ESHandle<DTGeometry> DTResolutionAnalysisTest::muonGeom
private

Definition at line 68 of file DTResolutionAnalysisTest.h.

◆ nevents

int DTResolutionAnalysisTest::nevents
private

Definition at line 54 of file DTResolutionAnalysisTest.h.

◆ nLumiSegs

unsigned int DTResolutionAnalysisTest::nLumiSegs
private

Definition at line 55 of file DTResolutionAnalysisTest.h.

◆ percentual

int DTResolutionAnalysisTest::percentual
private

Definition at line 58 of file DTResolutionAnalysisTest.h.

◆ prescaleFactor

int DTResolutionAnalysisTest::prescaleFactor
private

Definition at line 56 of file DTResolutionAnalysisTest.h.

◆ run

int DTResolutionAnalysisTest::run
private

◆ sigmaDistr

std::map<int, MonitorElement*> DTResolutionAnalysisTest::sigmaDistr
private

Definition at line 78 of file DTResolutionAnalysisTest.h.

◆ SigmaHistos

std::map<std::pair<int, int>, MonitorElement*> DTResolutionAnalysisTest::SigmaHistos
private

Definition at line 72 of file DTResolutionAnalysisTest.h.

◆ topHistoFolder

std::string DTResolutionAnalysisTest::topHistoFolder
private

Definition at line 94 of file DTResolutionAnalysisTest.h.

◆ wheelMeanHistos

std::map<int, MonitorElement*> DTResolutionAnalysisTest::wheelMeanHistos
private

Definition at line 74 of file DTResolutionAnalysisTest.h.

◆ wheelRingHistos

std::map<int, std::map<int, std::map<std::string, MonitorElement*> > > DTResolutionAnalysisTest::wheelRingHistos
private

Definition at line 81 of file DTResolutionAnalysisTest.h.

◆ wheelSigmaHistos

std::map<int, MonitorElement*> DTResolutionAnalysisTest::wheelSigmaHistos
private

Definition at line 75 of file DTResolutionAnalysisTest.h.

runTheMatrix.ret
ret
prodAgent to be discontinued
Definition: runTheMatrix.py:367
DTResolutionAnalysisTest::minBadMeanValue
double minBadMeanValue
Definition: DTResolutionAnalysisTest.h:62
DTSuperLayerId
Definition: DTSuperLayerId.h:12
DTResolutionAnalysisTest::resetMEs
void resetMEs()
Definition: DTResolutionAnalysisTest.cc:469
SiStripPI::mean
Definition: SiStripPayloadInspectorHelper.h:169
DTResolutionAnalysisTest::globalResSummary
MonitorElement * globalResSummary
Definition: DTResolutionAnalysisTest.h:91
printsummarytable.folder
folder
Definition: printsummarytable.py:7
DTResolutionAnalysisTest::nevents
int nevents
Definition: DTResolutionAnalysisTest.h:54
relativeConstraints.station
station
Definition: relativeConstraints.py:67
mps_splice.entry
entry
Definition: mps_splice.py:68
mps_merge.weight
weight
Definition: mps_merge.py:88
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
timingPdfMaker.histo
histo
Definition: timingPdfMaker.py:279
dqm::legacy::MonitorElement
Definition: MonitorElement.h:461
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
DTSuperLayerId::superlayer
int superlayer() const
Return the superlayer number (deprecated method name)
Definition: DTSuperLayerId.h:42
DTSuperLayerId::superLayer
int superLayer() const
Return the superlayer number.
Definition: DTSuperLayerId.h:39
tools.TF1
TF1
Definition: tools.py:23
dqm::legacy::MonitorElement::getTH1F
virtual TH1F * getTH1F() const
Definition: MonitorElement.h:478
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
DTResolutionAnalysisTest::minBadSigmaValue
double minBadSigmaValue
Definition: DTResolutionAnalysisTest.h:64
DTResolutionAnalysisTest::sigmaInRange
double sigmaInRange(double sigma) const
Definition: DTResolutionAnalysisTest.cc:457
DTResolutionAnalysisTest::maxGoodSigmaValue
double maxGoodSigmaValue
Definition: DTResolutionAnalysisTest.h:63
DTResolutionAnalysisTest::prescaleFactor
int prescaleFactor
Definition: DTResolutionAnalysisTest.h:56
DTResolutionAnalysisTest::SigmaHistos
std::map< std::pair< int, int >, MonitorElement * > SigmaHistos
Definition: DTResolutionAnalysisTest.h:72
DTResolutionAnalysisTest::bookHistos
void bookHistos(DQMStore::IBooker &)
Definition: DTResolutionAnalysisTest.cc:61
DTGeometry::chambers
const std::vector< const DTChamber * > & chambers() const
Return a vector of all Chamber.
Definition: DTGeometry.cc:84
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
dqm::impl::MonitorElement::Reset
virtual void Reset()
Remove all data from the ME, keept the empty histogram with all its settings.
Definition: MonitorElement.cc:354
DTResolutionAnalysisTest::wheelMeanHistos
std::map< int, MonitorElement * > wheelMeanHistos
Definition: DTResolutionAnalysisTest.h:74
dqm::impl::MonitorElement::getRMS
virtual double getRMS(int axis=1) const
get RMS of histogram along x, y or z axis (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:562
DTResolutionAnalysisTest::MeanHistos
std::map< std::pair< int, int >, MonitorElement * > MeanHistos
Definition: DTResolutionAnalysisTest.h:71
DTResolutionAnalysisTest::meanDistr
std::map< int, MonitorElement * > meanDistr
Definition: DTResolutionAnalysisTest.h:77
DTResolutionAnalysisTest::getMEName
std::string getMEName(const DTSuperLayerId &slID)
Get the ME name.
Definition: DTResolutionAnalysisTest.cc:408
makeMuonMisalignmentScenario.wheel
wheel
Definition: makeMuonMisalignmentScenario.py:319
value
Definition: value.py:1
get
#define get
DTResolutionAnalysisTest::maxGoodMeanValue
double maxGoodMeanValue
Definition: DTResolutionAnalysisTest.h:61
DTResolutionAnalysisTest::topHistoFolder
std::string topHistoFolder
Definition: DTResolutionAnalysisTest.h:94
HcalObjRepresent::Fill
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
Definition: HcalObjRepresent.h:1053
ALCARECODTCalibSynchCosmicsDQM_cff.folderName
folderName
Definition: ALCARECODTCalibSynchCosmicsDQM_cff.py:9
newFWLiteAna.bin
bin
Definition: newFWLiteAna.py:161
DTResolutionAnalysisTest::doCalibAnalysis
bool doCalibAnalysis
Definition: DTResolutionAnalysisTest.h:66
DTChamberId::sector
int sector() const
Definition: DTChamberId.h:49
DTResolutionAnalysisTest::meanInRange
double meanInRange(double mean) const
Definition: DTResolutionAnalysisTest.cc:445
edm::LogVerbatim
Log< level::Info, true > LogVerbatim
Definition: MessageLogger.h:128
DTResolutionAnalysisTest::wheelRingHistos
std::map< int, std::map< int, std::map< std::string, MonitorElement * > > > wheelRingHistos
Definition: DTResolutionAnalysisTest.h:81
relativeConstraints.value
value
Definition: relativeConstraints.py:53
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
dqm::implementation::IGetter::get
virtual MonitorElement * get(std::string const &fullpath) const
Definition: DQMStore.cc:651
HltBtagPostValidation_cff.histoName
histoName
Definition: HltBtagPostValidation_cff.py:17
dqm::impl::MonitorElement::getMean
virtual double getMean(int axis=1) const
get mean value of histogram along x, y or z axis (axis=1, 2, 3 respectively)
Definition: MonitorElement.cc:549
cms::Exception
Definition: Exception.h:70
DTResolutionAnalysisTest::wheelSigmaHistos
std::map< int, MonitorElement * > wheelSigmaHistos
Definition: DTResolutionAnalysisTest.h:75
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
DTChamberId
Definition: DTChamberId.h:14
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:224
DTResolutionAnalysisTest::muonGeom
edm::ESHandle< DTGeometry > muonGeom
Definition: DTResolutionAnalysisTest.h:68
fftjetimagerecorder_cfi.histoLabel
histoLabel
Definition: fftjetimagerecorder_cfi.py:12
MuonGeometryRecord
Definition: MuonGeometryRecord.h:34
DTChamberId::wheel
int wheel() const
Return the wheel number.
Definition: DTChamberId.h:39
dqm::implementation::IGetter::dirExists
virtual bool dirExists(std::string const &path) const
Definition: DQMStore.cc:708
weight
Definition: weight.py:1
DTResolutionAnalysisTest::sigmaDistr
std::map< int, MonitorElement * > sigmaDistr
Definition: DTResolutionAnalysisTest.h:78
DTChamberId::station
int station() const
Return the station number.
Definition: DTChamberId.h:42
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98