CMS 3D CMS Logo

List of all members | Public Member Functions | Private Types | Private Attributes
MuonTiming Class Reference

#include <MuonTiming.h>

Inheritance diagram for MuonTiming:
DQMEDAnalyzer edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 Inizialize parameters for histo binning. More...
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 MuonTiming (const edm::ParameterSet &)
 Constructor. More...
 
 ~MuonTiming () override
 Destructor. More...
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &ev, edm::EventSetup const &es) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
 DQMEDAnalyzer (DQMEDAnalyzer const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer &&)=delete
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) override
 
 ~DQMEDAnalyzer () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () 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
 
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)
 
 ~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 const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
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
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Types

enum  eta_ { overlap, barrel, endcap }
 
enum  object_ { sta, glb }
 

Private Attributes

double etaBarrelMax_
 
double etaBarrelMin_
 
double etaEndcapMax_
 
double etaEndcapMin_
 
double etamax_
 
double etamin_
 
std::vector< std::string > EtaName_
 
int etanbins_
 
double etaOverlapMax_
 
double etaOverlapMin_
 
std::array< MonitorElement *, 1 > etaptVeto_
 
std::array< MonitorElement *, 1 > etaVeto_
 
std::string metname_
 
double ndofmax_
 
double ndofmin_
 
int ndofnbins_
 
std::vector< std::string > ObjectName_
 
double ptmax_
 
double ptmin_
 
int ptnbins_
 
std::array< MonitorElement *, 1 > ptVeto_
 
double terrmax_
 
double terrmaxrpc_
 
double terrmin_
 
double terrminrpc_
 
int terrnbins_
 
int terrnbinsrpc_
 
std::string theFolder_
 
edm::EDGetTokenT< edm::View< reco::Muon > > theMuonCollectionLabel_
 
MuonServiceProxytheService
 
std::array< std::array< MonitorElement *, 1 >, 3 > timeAtIpInOut_
 
std::array< std::array< MonitorElement *, 1 >, 3 > timeAtIpInOutErr_
 
std::array< std::array< MonitorElement *, 1 >, 3 > timeAtIpInOutErrRPC_
 
std::array< std::array< MonitorElement *, 1 >, 3 > timeAtIpInOutRPC_
 
std::array< std::array< MonitorElement *, 1 >, 3 > timeNDof_
 
double tmax_
 
double tmaxrpc_
 
double tmin_
 
double tminrpc_
 
int tnbins_
 
int tnbinsrpc_
 
std::array< MonitorElement *, 1 > yields_
 

Additional Inherited Members

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

Detailed Description

Definition at line 29 of file MuonTiming.h.

Member Enumeration Documentation

enum MuonTiming::eta_
private
Enumerator
overlap 
barrel 
endcap 

Definition at line 70 of file MuonTiming.h.

enum MuonTiming::object_
private
Enumerator
sta 
glb 

Definition at line 71 of file MuonTiming.h.

Constructor & Destructor Documentation

MuonTiming::MuonTiming ( const edm::ParameterSet pSet)

Constructor.

Definition at line 20 of file MuonTiming.cc.

References edm::ParameterSet::getParameter(), and MuonServiceProxy_cff::MuonServiceProxy.

20  {
21  const edm::ParameterSet& parameters = pSet;
22 
23  // Input booleans
24 
25  // the services:
26  theService = new MuonServiceProxy(parameters.getParameter<ParameterSet>("ServiceParameters"));
27  theMuonCollectionLabel_ = consumes<edm::View<reco::Muon> > (parameters.getParameter<edm::InputTag>("MuonCollection"));
28 
29  tnbins_ = parameters.getParameter<int>("tnbins");
30  tnbinsrpc_ = parameters.getParameter<int>("tnbinsrpc");
31  terrnbins_ = parameters.getParameter<int>("terrnbins");
32  terrnbinsrpc_ = parameters.getParameter<int>("terrnbinsrpc");
33  ndofnbins_ = parameters.getParameter<int>("ndofnbins");
34  ptnbins_ = parameters.getParameter<int>("ptnbins");
35  etanbins_ = parameters.getParameter<int>("etanbins");
36  tmax_ = parameters.getParameter<double>("tmax");
37  tmaxrpc_ = parameters.getParameter<double>("tmaxrpc");
38  terrmax_ = parameters.getParameter<double>("terrmax");
39  terrmaxrpc_ = parameters.getParameter<double>("terrmaxrpc");
40  ndofmax_ = parameters.getParameter<double>("ndofmax");
41  ptmax_ = parameters.getParameter<double>("ptmax");
42  etamax_ = parameters.getParameter<double>("etamax");
43  tmin_ = parameters.getParameter<double>("tmin");
44  tminrpc_ = parameters.getParameter<double>("tminrpc");
45  terrmin_ = parameters.getParameter<double>("terrmin");
46  terrminrpc_ = parameters.getParameter<double>("terrminrpc");
47  ndofmin_ = parameters.getParameter<double>("ndofmin");
48  ptmin_ = parameters.getParameter<double>("ptmin");
49  etamin_ = parameters.getParameter<double>("etamin");
50 
51  etaBarrelMin_ = parameters.getParameter<double>("etaBarrelMin");
52  etaBarrelMax_ = parameters.getParameter<double>("etaBarrelMax");
53  etaEndcapMin_ = parameters.getParameter<double>("etaEndcapMin");
54  etaEndcapMax_ = parameters.getParameter<double>("etaEndcapMax");
55  etaOverlapMin_ = parameters.getParameter<double>("etaOverlapMin");
56  etaOverlapMax_ = parameters.getParameter<double>("etaOverlapMax");
57 
58  theFolder_ = parameters.getParameter<string>("folder");
59 }
T getParameter(std::string const &) const
int terrnbinsrpc_
Definition: MuonTiming.h:55
int tnbins_
Definition: MuonTiming.h:52
int etanbins_
Definition: MuonTiming.h:58
double tmin_
Definition: MuonTiming.h:59
double tminrpc_
Definition: MuonTiming.h:60
double etamax_
Definition: MuonTiming.h:65
double tmaxrpc_
Definition: MuonTiming.h:60
double terrminrpc_
Definition: MuonTiming.h:62
double etaOverlapMin_
Definition: MuonTiming.h:66
double etaEndcapMin_
Definition: MuonTiming.h:66
double ndofmin_
Definition: MuonTiming.h:63
double etaBarrelMin_
Definition: MuonTiming.h:66
double ptmin_
Definition: MuonTiming.h:64
edm::EDGetTokenT< edm::View< reco::Muon > > theMuonCollectionLabel_
Definition: MuonTiming.h:46
double etamin_
Definition: MuonTiming.h:65
int ptnbins_
Definition: MuonTiming.h:57
double terrmax_
Definition: MuonTiming.h:61
double ndofmax_
Definition: MuonTiming.h:63
int tnbinsrpc_
Definition: MuonTiming.h:53
double etaOverlapMax_
Definition: MuonTiming.h:66
double etaEndcapMax_
Definition: MuonTiming.h:66
double terrmin_
Definition: MuonTiming.h:61
double terrmaxrpc_
Definition: MuonTiming.h:62
int ndofnbins_
Definition: MuonTiming.h:56
MuonServiceProxy * theService
Definition: MuonTiming.h:44
double tmax_
Definition: MuonTiming.h:59
int terrnbins_
Definition: MuonTiming.h:54
double ptmax_
Definition: MuonTiming.h:64
std::string theFolder_
Definition: MuonTiming.h:68
double etaBarrelMax_
Definition: MuonTiming.h:66
MuonTiming::~MuonTiming ( )
override

Destructor.

Definition at line 62 of file MuonTiming.cc.

62  {
63  delete theService;
64 }
MuonServiceProxy * theService
Definition: MuonTiming.h:44

Member Function Documentation

void MuonTiming::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Inizialize parameters for histo binning.

Definition at line 130 of file MuonTiming.cc.

References Reference_intrackfit_cff::barrel, makeMuonMisalignmentScenario::endcap, HcalObjRepresent::Fill(), edm::Event::getByToken(), glb, edm::HandleBase::isValid(), LogTrace, metsig::muon, extraflags_cff::muons, reco::MuonTime::nDof, muon::overlap(), ntuplemaker::time, reco::MuonTime::timeAtIpInOut, reco::MuonTime::timeAtIpInOutErr, HiIsolationCommonParameters_cff::track, and TriggerAnalyzer::veto.

130  {
131 
132  LogTrace(metname_)<<"[MuonTiming] Analyze the mu";
133  theService->update(iSetup);
134 
135  // Take the muon container
137  iEvent.getByToken(theMuonCollectionLabel_,muons);
138 
139 
140  if(!muons.isValid()) return;
141 
142  for (edm::View<reco::Muon>::const_iterator muon = muons->begin(); muon != muons->end(); ++muon){
143  const reco::MuonTime time = muon->time();
144  const reco::MuonTime rpcTime = muon->rpcTime();
145  //Only creating so far the timing information for STA muons
146  if(!muon->isStandAloneMuon() || muon->isGlobalMuon()) continue;
148  //Select whether it's a global or standalone muon
149  object_ theObject = sta;
150  if(muon->isGlobalMuon()) {track = muon->combinedMuon(); theObject = glb;}
151  else {track = muon->standAloneMuon(); theObject = sta;}
152 
153  //These definitions have been taken from Piotr Traczyk
154  bool cmbok =(time.nDof > 7);
155  bool rpcok =(rpcTime.nDof > 1 && rpcTime.timeAtIpInOutErr == 0);
156  bool veto = false;
157  if (rpcok) {
158  if ((fabs(rpcTime.timeAtIpInOut) > 10) && !(cmbok && fabs(time.timeAtIpInOut)<10)) veto=true;
159  else if (cmbok && (time.timeAtIpInOut > 20 || time.timeAtIpInOut<-45)) veto=true;
160  }
161 
162  //std::cout << time.timeAtIpInOut << std::endl;
163  //Filling the yields histogram
164  if(muon->isTimeValid()) yields_[theObject]->Fill(1);
165  else yields_[theObject]->Fill(0);
166 
167  if(cmbok) yields_[theObject]->Fill(3);
168  else yields_[theObject]->Fill(2);
169 
170  if(rpcok) yields_[theObject]->Fill(5);
171  else yields_[theObject]->Fill(4);
172 
173  if(cmbok && !rpcok) yields_[theObject]->Fill(6);
174  if(!cmbok && rpcok) yields_[theObject]->Fill(7);
175 
176  if(veto) yields_[theObject]->Fill(8);
177  else yields_[theObject]->Fill(9);
178 
179  //Starting now with the pt and eta for vetoed and not vetoed muons
180  if(veto) {
181  etaptVeto_[theObject]->Fill(track->pt(), track->eta());
182  etaVeto_[theObject]->Fill(track->eta());
183  ptVeto_[theObject]->Fill(track->pt());
184  }
185 
186  //Check the eta region of the muon
187  eta_ theEta = barrel;
188  if(fabs(track->eta()) >= etaBarrelMin_ && fabs(track->eta()) <= etaBarrelMax_) theEta = barrel;
189  if(fabs(track->eta()) >= etaOverlapMin_ && fabs(track->eta()) <= etaOverlapMax_) theEta = overlap;
190  if(fabs(track->eta()) >= etaEndcapMin_ && fabs(track->eta()) <= etaEndcapMax_) theEta = endcap;
191  timeNDof_[theEta][theObject]->Fill(time.nDof);
192  timeAtIpInOut_[theEta][theObject]->Fill(time.timeAtIpInOut);
193  timeAtIpInOutRPC_[theEta][theObject]->Fill(rpcTime.timeAtIpInOut);
194  timeAtIpInOutErr_[theEta][theObject]->Fill(time.timeAtIpInOutErr);
195  timeAtIpInOutErrRPC_[theEta][theObject]->Fill(rpcTime.timeAtIpInOutErr);
196 
197  }
198 }
std::string metname_
Definition: MuonTiming.h:48
std::array< MonitorElement *, 1 > etaptVeto_
Definition: MuonTiming.h:89
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:579
std::array< std::array< MonitorElement *, 1 >, 3 > timeAtIpInOutRPC_
Definition: MuonTiming.h:86
std::array< std::array< MonitorElement *, 1 >, 3 > timeAtIpInOutErrRPC_
Definition: MuonTiming.h:88
std::array< MonitorElement *, 1 > yields_
Definition: MuonTiming.h:92
std::array< std::array< MonitorElement *, 1 >, 3 > timeAtIpInOut_
Definition: MuonTiming.h:85
double etaOverlapMin_
Definition: MuonTiming.h:66
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
double etaEndcapMin_
Definition: MuonTiming.h:66
std::array< MonitorElement *, 1 > etaVeto_
Definition: MuonTiming.h:90
float timeAtIpInOutErr
Definition: MuonTime.h:15
int nDof
number of muon stations used
Definition: MuonTime.h:10
double etaBarrelMin_
Definition: MuonTiming.h:66
edm::EDGetTokenT< edm::View< reco::Muon > > theMuonCollectionLabel_
Definition: MuonTiming.h:46
bool isValid() const
Definition: HandleBase.h:74
#define LogTrace(id)
std::array< MonitorElement *, 1 > ptVeto_
Definition: MuonTiming.h:91
std::array< std::array< MonitorElement *, 1 >, 3 > timeAtIpInOutErr_
Definition: MuonTiming.h:87
double etaOverlapMax_
Definition: MuonTiming.h:66
double etaEndcapMax_
Definition: MuonTiming.h:66
boost::indirect_iterator< typename seq_t::const_iterator > const_iterator
Definition: View.h:86
MuonServiceProxy * theService
Definition: MuonTiming.h:44
float timeAtIpInOut
Definition: MuonTime.h:14
std::array< std::array< MonitorElement *, 1 >, 3 > timeNDof_
Definition: MuonTiming.h:84
double etaBarrelMax_
Definition: MuonTiming.h:66
void MuonTiming::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  ,
edm::EventSetup const &   
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 66 of file MuonTiming.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), DQMStore::IBooker::cd(), MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), and DQMStore::IBooker::setCurrentFolder().

68  {
69 
70  ibooker.cd();
72 
73  EtaName_.push_back("_Overlap"); EtaName_.push_back("_Barrel"); EtaName_.push_back("_Endcap");
74  ObjectName_.push_back("Sta_"); ObjectName_.push_back("Glb_");
75 
76  for (unsigned int iEtaRegion=0; iEtaRegion<3; iEtaRegion++){
77  /*std::array<MonitorElement*, 1> timeNDofv_;
78  std::array<MonitorElement*, 1> timeAtIpInOutv_;
79  std::array<MonitorElement*, 1> timeAtIpInOutRPCv_;
80  std::array<MonitorElement*, 1> timeAtIpInOutErrv_;
81  std::array<MonitorElement*, 1> timeAtIpInOutErrRPCv_;*/
82  //Only creating so far the timing information for STA muons, however the code can be extended to also Glb by just setting the limit of this loop to 2
83  for(unsigned int iObjectName=0; iObjectName<1; iObjectName++) {
84  timeNDof_[iEtaRegion][iObjectName] = ibooker.book1D(ObjectName_[iObjectName] + "timenDOF" + EtaName_[iEtaRegion], "muon time ndof", ndofnbins_, 0, ndofmax_);
85  timeAtIpInOut_[iEtaRegion][iObjectName] = ibooker.book1D(ObjectName_[iObjectName] + "timeAtIpInOut" + EtaName_[iEtaRegion], "muon time", tnbins_, tmin_, tmax_);
86  timeAtIpInOutRPC_[iEtaRegion][iObjectName] = ibooker.book1D(ObjectName_[iObjectName] + "timeAtIpInOutRPC" + EtaName_[iEtaRegion], "muon rpc time", tnbinsrpc_, tminrpc_, tmaxrpc_);
87  timeAtIpInOutErr_[iEtaRegion][iObjectName] = ibooker.book1D(ObjectName_[iObjectName] + "timeAtIpInOutErr" + EtaName_[iEtaRegion], "muon time error", terrnbins_, terrmin_, terrmax_);
88  timeAtIpInOutErrRPC_[iEtaRegion][iObjectName] = ibooker.book1D(ObjectName_[iObjectName] + "timeAtIpInOutRPCErr" + EtaName_[iEtaRegion], "muon rpc time error", terrnbinsrpc_, terrminrpc_, terrmaxrpc_);
89  timeNDof_[iEtaRegion][iObjectName]->setAxisTitle("Time nDof");
90  timeAtIpInOut_[iEtaRegion][iObjectName]->setAxisTitle("Combined time [ns]");
91  timeAtIpInOutErr_[iEtaRegion][iObjectName]->setAxisTitle("Combined time Error [ns]");
92  timeAtIpInOutRPC_[iEtaRegion][iObjectName]->setAxisTitle("RPC time [ns]");
93  timeAtIpInOutErrRPC_[iEtaRegion][iObjectName]->setAxisTitle("RPC time Error [ns]");
94  }
95  /*
96  timeNDof_[iEtaregion] = timeNDofv_);
97  timeAtIpInOut_.push_back(timeAtIpInOutv_);
98  timeAtIpInOutRPC_.push_back(timeAtIpInOutRPCv_);
99  timeAtIpInOutErr_.push_back(timeAtIpInOutErrv_);
100  timeAtIpInOutErrRPC_.push_back(timeAtIpInOutErrRPCv_);
101  */
102  }
103 
104  //Only creating so far the timing information for STA muons, however the code can be extended to also Glb by just setting the limit of this loop to 2
105  for(unsigned int iObjectName=0; iObjectName<1; iObjectName++) {
106  etaptVeto_[iObjectName] = ibooker.book2D(ObjectName_[iObjectName] + "etapt", "Eta and Pt distribution for muons not passing the veto", ptnbins_, ptmin_, ptmax_, etanbins_, etamin_, etamax_);
107  etaVeto_[iObjectName] = ibooker.book1D(ObjectName_[iObjectName] + "eta", "Eta distribution for muons not passing the veto", etanbins_, etamin_, etamax_);
108  ptVeto_[iObjectName] = ibooker.book1D(ObjectName_[iObjectName] + "pt", "Pt distribution for muons not passing the veto", ptnbins_, ptmin_, ptmax_);
109  yields_[iObjectName] = ibooker.book1D(ObjectName_[iObjectName] + "yields", "Number of muons passing/not passing the different conditions", 10, 0, 10);
110  yields_[iObjectName]->setBinLabel(1, "Not valid time");
111  yields_[iObjectName]->setBinLabel(2, "Valid time");
112  yields_[iObjectName]->setBinLabel(3, "Not Combined time");
113  yields_[iObjectName]->setBinLabel(4, "Combined time");
114  yields_[iObjectName]->setBinLabel(5, "Not RPC time");
115  yields_[iObjectName]->setBinLabel(6, "RPC time");
116  yields_[iObjectName]->setBinLabel(7, "Combined not RPC");
117  yields_[iObjectName]->setBinLabel(8, "RPC not Combined");
118  yields_[iObjectName]->setBinLabel(9, "Not passing veto");
119  yields_[iObjectName]->setBinLabel(10, "Passing veto");
120  etaptVeto_[iObjectName]->setAxisTitle("p_{T} [GeV]");
121  etaptVeto_[iObjectName]->setAxisTitle("#eta#", 2);
122  ptVeto_[iObjectName]->setAxisTitle("p_{T} [GeV]");
123  etaVeto_[iObjectName]->setAxisTitle("#eta");
124  }
125 
126 }
int terrnbinsrpc_
Definition: MuonTiming.h:55
std::array< MonitorElement *, 1 > etaptVeto_
Definition: MuonTiming.h:89
int tnbins_
Definition: MuonTiming.h:52
std::array< std::array< MonitorElement *, 1 >, 3 > timeAtIpInOutRPC_
Definition: MuonTiming.h:86
int etanbins_
Definition: MuonTiming.h:58
std::array< std::array< MonitorElement *, 1 >, 3 > timeAtIpInOutErrRPC_
Definition: MuonTiming.h:88
double tmin_
Definition: MuonTiming.h:59
double tminrpc_
Definition: MuonTiming.h:60
double etamax_
Definition: MuonTiming.h:65
double tmaxrpc_
Definition: MuonTiming.h:60
std::array< MonitorElement *, 1 > yields_
Definition: MuonTiming.h:92
double terrminrpc_
Definition: MuonTiming.h:62
std::array< std::array< MonitorElement *, 1 >, 3 > timeAtIpInOut_
Definition: MuonTiming.h:85
std::vector< std::string > ObjectName_
Definition: MuonTiming.h:69
std::array< MonitorElement *, 1 > etaVeto_
Definition: MuonTiming.h:90
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
double ptmin_
Definition: MuonTiming.h:64
std::array< MonitorElement *, 1 > ptVeto_
Definition: MuonTiming.h:91
double etamin_
Definition: MuonTiming.h:65
int ptnbins_
Definition: MuonTiming.h:57
double terrmax_
Definition: MuonTiming.h:61
double ndofmax_
Definition: MuonTiming.h:63
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
int tnbinsrpc_
Definition: MuonTiming.h:53
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:136
std::array< std::array< MonitorElement *, 1 >, 3 > timeAtIpInOutErr_
Definition: MuonTiming.h:87
double terrmin_
Definition: MuonTiming.h:61
double terrmaxrpc_
Definition: MuonTiming.h:62
int ndofnbins_
Definition: MuonTiming.h:56
std::vector< std::string > EtaName_
Definition: MuonTiming.h:69
double tmax_
Definition: MuonTiming.h:59
int terrnbins_
Definition: MuonTiming.h:54
double ptmax_
Definition: MuonTiming.h:64
std::string theFolder_
Definition: MuonTiming.h:68
std::array< std::array< MonitorElement *, 1 >, 3 > timeNDof_
Definition: MuonTiming.h:84

Member Data Documentation

double MuonTiming::etaBarrelMax_
private

Definition at line 66 of file MuonTiming.h.

double MuonTiming::etaBarrelMin_
private

Definition at line 66 of file MuonTiming.h.

double MuonTiming::etaEndcapMax_
private

Definition at line 66 of file MuonTiming.h.

double MuonTiming::etaEndcapMin_
private

Definition at line 66 of file MuonTiming.h.

double MuonTiming::etamax_
private

Definition at line 65 of file MuonTiming.h.

double MuonTiming::etamin_
private

Definition at line 65 of file MuonTiming.h.

std::vector<std::string> MuonTiming::EtaName_
private

Definition at line 69 of file MuonTiming.h.

int MuonTiming::etanbins_
private

Definition at line 58 of file MuonTiming.h.

double MuonTiming::etaOverlapMax_
private

Definition at line 66 of file MuonTiming.h.

double MuonTiming::etaOverlapMin_
private

Definition at line 66 of file MuonTiming.h.

std::array<MonitorElement*,1> MuonTiming::etaptVeto_
private

Definition at line 89 of file MuonTiming.h.

std::array<MonitorElement*,1> MuonTiming::etaVeto_
private

Definition at line 90 of file MuonTiming.h.

std::string MuonTiming::metname_
private

Definition at line 48 of file MuonTiming.h.

double MuonTiming::ndofmax_
private

Definition at line 63 of file MuonTiming.h.

double MuonTiming::ndofmin_
private

Definition at line 63 of file MuonTiming.h.

int MuonTiming::ndofnbins_
private

Definition at line 56 of file MuonTiming.h.

std::vector<std::string> MuonTiming::ObjectName_
private

Definition at line 69 of file MuonTiming.h.

double MuonTiming::ptmax_
private

Definition at line 64 of file MuonTiming.h.

double MuonTiming::ptmin_
private

Definition at line 64 of file MuonTiming.h.

int MuonTiming::ptnbins_
private

Definition at line 57 of file MuonTiming.h.

std::array<MonitorElement*,1> MuonTiming::ptVeto_
private

Definition at line 91 of file MuonTiming.h.

double MuonTiming::terrmax_
private

Definition at line 61 of file MuonTiming.h.

double MuonTiming::terrmaxrpc_
private

Definition at line 62 of file MuonTiming.h.

double MuonTiming::terrmin_
private

Definition at line 61 of file MuonTiming.h.

double MuonTiming::terrminrpc_
private

Definition at line 62 of file MuonTiming.h.

int MuonTiming::terrnbins_
private

Definition at line 54 of file MuonTiming.h.

int MuonTiming::terrnbinsrpc_
private

Definition at line 55 of file MuonTiming.h.

std::string MuonTiming::theFolder_
private

Definition at line 68 of file MuonTiming.h.

edm::EDGetTokenT<edm::View<reco::Muon> > MuonTiming::theMuonCollectionLabel_
private

Definition at line 46 of file MuonTiming.h.

MuonServiceProxy* MuonTiming::theService
private

Definition at line 44 of file MuonTiming.h.

std::array<std::array<MonitorElement*,1>,3> MuonTiming::timeAtIpInOut_
private

Definition at line 85 of file MuonTiming.h.

std::array<std::array<MonitorElement*,1>,3> MuonTiming::timeAtIpInOutErr_
private

Definition at line 87 of file MuonTiming.h.

std::array<std::array<MonitorElement*,1>,3> MuonTiming::timeAtIpInOutErrRPC_
private

Definition at line 88 of file MuonTiming.h.

std::array<std::array<MonitorElement*,1>,3> MuonTiming::timeAtIpInOutRPC_
private

Definition at line 86 of file MuonTiming.h.

std::array<std::array<MonitorElement*,1>,3> MuonTiming::timeNDof_
private

Definition at line 84 of file MuonTiming.h.

double MuonTiming::tmax_
private

Definition at line 59 of file MuonTiming.h.

double MuonTiming::tmaxrpc_
private

Definition at line 60 of file MuonTiming.h.

double MuonTiming::tmin_
private

Definition at line 59 of file MuonTiming.h.

double MuonTiming::tminrpc_
private

Definition at line 60 of file MuonTiming.h.

int MuonTiming::tnbins_
private

Definition at line 52 of file MuonTiming.h.

int MuonTiming::tnbinsrpc_
private

Definition at line 53 of file MuonTiming.h.

std::array<MonitorElement*,1> MuonTiming::yields_
private

Definition at line 92 of file MuonTiming.h.