CMS 3D CMS Logo

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

#include <MuonSeedsAnalyzer.h>

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

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 MuonSeedsAnalyzer (const edm::ParameterSet &)
 Constructor. More...
 
 ~MuonSeedsAnalyzer () override
 Destructor. More...
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
virtual void dqmEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () 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
 
ESProxyIndex const * esGetTokenIndices (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
 
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)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Attributes

int Chi2Bin
 
double Chi2Max
 
double Chi2Min
 
int EtaBin
 
int etaErrBin
 
double etaErrMax
 
double etaErrMin
 
double EtaMax
 
double EtaMin
 
std::string metname
 
MonitorElementNumberOfRecHitsPerSeed
 
edm::ParameterSet parameters
 
int pErrBin
 
double pErrMax
 
double pErrMin
 
int PhiBin
 
int phiErrBin
 
double phiErrMax
 
double phiErrMin
 
double PhiMax
 
double PhiMin
 
int pxyzErrBin
 
double pxyzErrMax
 
double pxyzErrMin
 
MonitorElementseedEta
 
MonitorElementseedEtaErr
 
int seedHitBin
 
double seedHitMax
 
double seedHitMin
 
MonitorElementseedPErr
 
MonitorElementseedPErrVsEta
 
MonitorElementseedPErrVsPhi
 
MonitorElementseedPErrVsPt
 
MonitorElementseedPhi
 
MonitorElementseedPhiErr
 
MonitorElementseedPt
 
int seedPtBin
 
MonitorElementseedPtErr
 
MonitorElementseedPtErrVsEta
 
MonitorElementseedPtErrVsPhi
 
MonitorElementseedPtErrVsPt
 
double seedPtMax
 
double seedPtMin
 
MonitorElementseedPx
 
MonitorElementseedPxErr
 
int seedPxyzBin
 
double seedPxyzMax
 
double seedPxyzMin
 
MonitorElementseedPy
 
MonitorElementseedPyErr
 
MonitorElementseedPz
 
MonitorElementseedPzErr
 
MonitorElementseedTheta
 
edm::EDGetTokenT< TrajectorySeedCollectiontheSeedsCollectionLabel_
 
MuonServiceProxytheService
 
int ThetaBin
 
double ThetaMax
 
double ThetaMin
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::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 Member Functions inherited from edm::ProducerBase
ProducesCollector producesCollector ()
 
- 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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
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

DQM monitoring source for muon track seeds

Author
G. Mila - INFN Torino

Definition at line 29 of file MuonSeedsAnalyzer.h.

Constructor & Destructor Documentation

MuonSeedsAnalyzer::MuonSeedsAnalyzer ( const edm::ParameterSet pSet)

Constructor.

Definition at line 35 of file MuonSeedsAnalyzer.cc.

References MonitorTrackInnerTrackMuons_cff::EtaBin, MonitorTrackSTAMuons_cfi::etaErrBin, MonitorTrackInnerTrackMuons_cff::etaErrMax, MonitorTrackSTAMuons_cfi::etaErrMin, MonitorTrackInnerTrackMuons_cff::EtaMax, MonitorTrackInnerTrackMuons_cff::EtaMin, MuonServiceProxy_cff::MuonServiceProxy, MonitorTrackSTAMuons_cfi::pErrBin, MonitorTrackSTAMuons_cfi::pErrMax, MonitorTrackSTAMuons_cfi::pErrMin, MonitorTrackSTAMuons_cfi::PhiBin, MonitorTrackSTAMuons_cfi::phiErrBin, MonitorTrackInnerTrackMuons_cff::phiErrMax, MonitorTrackSTAMuons_cfi::phiErrMin, MonitorTrackSTAMuons_cfi::PhiMax, MonitorTrackSTAMuons_cfi::PhiMin, muonSeedsAnalyzer_cfi::pxyzErrBin, muonSeedsAnalyzer_cfi::pxyzErrMax, muonSeedsAnalyzer_cfi::pxyzErrMin, muonSeedsAnalyzer_cfi::seedPtBin, muonSeedsAnalyzer_cfi::seedPtMax, muonSeedsAnalyzer_cfi::seedPtMin, muonSeedsAnalyzer_cfi::seedPxyzBin, muonSeedsAnalyzer_cfi::seedPxyzMax, muonSeedsAnalyzer_cfi::seedPxyzMin, MonitorTrackSTAMuons_cfi::ThetaBin, MonitorTrackSTAMuons_cfi::ThetaMax, and MonitorTrackSTAMuons_cfi::ThetaMin.

35  {
36  parameters = pSet;
37 
38  theService = new MuonServiceProxy(parameters.getParameter<ParameterSet>("ServiceParameters"));
39 
40  theSeedsCollectionLabel_ = consumes<TrajectorySeedCollection>(parameters.getParameter<InputTag>("SeedCollection"));
41 
42  seedHitBin = parameters.getParameter<int>("RecHitBin");
43  seedHitMin = parameters.getParameter<double>("RecHitMin");
44  seedHitMax = parameters.getParameter<double>("RecHitMax");
45  PhiBin = parameters.getParameter<int>("PhiBin");
46  PhiMin = parameters.getParameter<double>("PhiMin");
47  PhiMax = parameters.getParameter<double>("PhiMax");
48  EtaBin = parameters.getParameter<int>("EtaBin");
49  EtaMin = parameters.getParameter<double>("EtaMin");
50  EtaMax = parameters.getParameter<double>("EtaMax");
51  ThetaBin = parameters.getParameter<int>("ThetaBin");
52  ThetaMin = parameters.getParameter<double>("ThetaMin");
53  ThetaMax = parameters.getParameter<double>("ThetaMax");
54  seedPtBin = parameters.getParameter<int>("seedPtBin");
55  seedPtMin = parameters.getParameter<double>("seedPtMin");
56  seedPtMax = parameters.getParameter<double>("seedPtMax");
57  seedPxyzBin = parameters.getParameter<int>("seedPxyzBin");
58  seedPxyzMin = parameters.getParameter<double>("seedPxyzMin");
59  seedPxyzMax = parameters.getParameter<double>("seedPxyzMax");
60  pErrBin = parameters.getParameter<int>("pErrBin");
61  pErrMin = parameters.getParameter<double>("pErrMin");
62  pErrMax = parameters.getParameter<double>("pErrMax");
63  pxyzErrBin = parameters.getParameter<int>("pxyzErrBin");
64  pxyzErrMin = parameters.getParameter<double>("pxyzErrMin");
65  pxyzErrMax = parameters.getParameter<double>("pxyzErrMax");
66  phiErrBin = parameters.getParameter<int>("phiErrBin");
67  phiErrMin = parameters.getParameter<double>("phiErrMin");
68  phiErrMax = parameters.getParameter<double>("phiErrMax");
69  etaErrBin = parameters.getParameter<int>("etaErrBin");
70  etaErrMin = parameters.getParameter<double>("etaErrMin");
71  etaErrMax = parameters.getParameter<double>("etaErrMax");
72 }
edm::EDGetTokenT< TrajectorySeedCollection > theSeedsCollectionLabel_
MuonServiceProxy * theService
MuonSeedsAnalyzer::~MuonSeedsAnalyzer ( )
override

Destructor.

Definition at line 73 of file MuonSeedsAnalyzer.cc.

73 { delete theService; }
MuonServiceProxy * theService

Member Function Documentation

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

Definition at line 145 of file MuonSeedsAnalyzer.cc.

References funct::abs(), TrajectoryStateOnSurface::cartesianError(), TrajectoryStateOnSurface::curvilinearError(), PTrajectoryStateOnDet::detId(), MessageLogger_cfi::errors, PV3DBase< T, PVType, FrameType >::eta(), edm::Event::getByToken(), TrajectoryStateOnSurface::globalMomentum(), edm::HandleBase::isValid(), LogTrace, PV3DBase< T, PVType, FrameType >::mag(), CartesianTrajectoryError::matrix(), CurvilinearTrajectoryError::matrix(), metname, PV3DBase< T, PVType, FrameType >::perp(), PV3DBase< T, PVType, FrameType >::phi(), funct::pow(), SurveyInfoScenario_cff::seed, funct::sin(), mathSSE::sqrt(), PV3DBase< T, PVType, FrameType >::theta(), trajectoryStateTransform::transientState(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

145  {
146  theService->update(iSetup);
147 
148  // Take the seeds container
150  iEvent.getByToken(theSeedsCollectionLabel_, seeds);
151 
152  // if not valid, skip
153  if (!seeds.isValid())
154  return;
155 
156  for (TrajectorySeedCollection::const_iterator seed = seeds->begin(); seed != seeds->end(); ++seed) {
157  // const TrajectorySeed sd = *seed;
158 
159  // Get the Trajectory State on Det (persistent version of a TSOS) from the seed
160  PTrajectoryStateOnDet pTSOD = seed->startingState();
161 
162  // Transform it in a TrajectoryStateOnSurface
163  DetId seedDetId(pTSOD.detId());
164  const GeomDet* gdet = theService->trackingGeometry()->idToDet(seedDetId);
165  TrajectoryStateOnSurface seedTSOS =
166  trajectoryStateTransform::transientState(pTSOD, &(gdet->surface()), &*(theService)->magneticField());
168  double partialPterror =
169  errors(3, 3) * pow(seedTSOS.globalMomentum().x(), 2) + errors(4, 4) * pow(seedTSOS.globalMomentum().y(), 2);
170 
171  LogTrace(metname) << "[MuonSeedAnalyzer] Filling the histos";
172 
173  // nhits
174  LogTrace(metname) << "Number od recHits per seed: " << seed->nHits();
175  NumberOfRecHitsPerSeed->Fill(seed->nHits());
176 
177  // pt
178  LogTrace(metname) << "seed momentum: " << seedTSOS.globalMomentum().perp();
179  seedPt->Fill(seedTSOS.globalMomentum().perp());
180 
181  // px
182  LogTrace(metname) << "seed px: " << seedTSOS.globalMomentum().x();
183  seedPx->Fill(seedTSOS.globalMomentum().x());
184 
185  // py
186  LogTrace(metname) << "seed py: " << seedTSOS.globalMomentum().y();
187  seedPy->Fill(seedTSOS.globalMomentum().y());
188 
189  // pz
190  LogTrace(metname) << "seed pz: " << seedTSOS.globalMomentum().z();
191  seedPz->Fill(seedTSOS.globalMomentum().z());
192 
193  // phi
194  LogTrace(metname) << "seed phi: " << seedTSOS.globalMomentum().phi();
195  seedPhi->Fill(seedTSOS.globalMomentum().phi());
196 
197  // theta
198  LogTrace(metname) << "seed theta: " << seedTSOS.globalMomentum().theta();
199  seedTheta->Fill(seedTSOS.globalMomentum().theta());
200 
201  // eta
202  LogTrace(metname) << "seed eta: " << seedTSOS.globalMomentum().eta();
203  seedEta->Fill(seedTSOS.globalMomentum().eta());
204 
205  // pt err
206  LogTrace(metname) << "seed pt error: " << sqrt(partialPterror) / seedTSOS.globalMomentum().perp();
207  seedPtErr->Fill(sqrt(partialPterror) / seedTSOS.globalMomentum().perp());
208 
209  // ptErr/pt Vs phi
210  seedPtErrVsPhi->Fill(seedTSOS.globalMomentum().phi(), sqrt(partialPterror) / seedTSOS.globalMomentum().perp());
211  // ptErr/pt Vs eta
212  seedPtErrVsEta->Fill(seedTSOS.globalMomentum().eta(), sqrt(partialPterror) / seedTSOS.globalMomentum().perp());
213  // ptErr/pt Vs pt
214  seedPtErrVsPt->Fill(seedTSOS.globalMomentum().perp(), sqrt(partialPterror) / seedTSOS.globalMomentum().perp());
215 
216  // px err
217  LogTrace(metname) << "seed px error: " << sqrt(errors(3, 3)) / seedTSOS.globalMomentum().x();
218  seedPxErr->Fill(sqrt(errors(3, 3)) / seedTSOS.globalMomentum().x());
219 
220  // py err
221  LogTrace(metname) << "seed py error: " << sqrt(errors(4, 4)) / seedTSOS.globalMomentum().y();
222  seedPyErr->Fill(sqrt(errors(4, 4)) / seedTSOS.globalMomentum().y());
223 
224  // pz err
225  LogTrace(metname) << "seed pz error: " << sqrt(errors(5, 5)) / seedTSOS.globalMomentum().z();
226  seedPzErr->Fill(sqrt(errors(5, 5)) / seedTSOS.globalMomentum().z());
227 
228  // p err
229  LogTrace(metname) << "seed p error: "
230  << sqrt(partialPterror + errors(5, 5) * pow(seedTSOS.globalMomentum().z(), 2)) /
231  seedTSOS.globalMomentum().mag();
232  seedPErr->Fill(sqrt(partialPterror + errors(5, 5) * pow(seedTSOS.globalMomentum().z(), 2)) /
233  seedTSOS.globalMomentum().mag());
234 
235  // pErr/p Vs phi
237  seedTSOS.globalMomentum().phi(),
238  sqrt(partialPterror + errors(5, 5) * pow(seedTSOS.globalMomentum().z(), 2)) / seedTSOS.globalMomentum().mag());
239  // pErr/p Vs eta
241  seedTSOS.globalMomentum().eta(),
242  sqrt(partialPterror + errors(5, 5) * pow(seedTSOS.globalMomentum().z(), 2)) / seedTSOS.globalMomentum().mag());
243  // pErr/p Vs pt
245  seedTSOS.globalMomentum().perp(),
246  sqrt(partialPterror + errors(5, 5) * pow(seedTSOS.globalMomentum().z(), 2)) / seedTSOS.globalMomentum().mag());
247 
248  // phi err
249  LogTrace(metname) << "seed phi error: " << sqrt(seedTSOS.curvilinearError().matrix()(2, 2));
250  seedPhiErr->Fill(sqrt(seedTSOS.curvilinearError().matrix()(2, 2)));
251 
252  // eta err
253  LogTrace(metname) << "seed eta error: "
254  << sqrt(seedTSOS.curvilinearError().matrix()(1, 1)) * abs(sin(seedTSOS.globalMomentum().theta()));
255  seedEtaErr->Fill(sqrt(seedTSOS.curvilinearError().matrix()(1, 1)) * abs(sin(seedTSOS.globalMomentum().theta())));
256  }
257 }
MonitorElement * seedPx
T perp() const
Definition: PV3DBase.h:69
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:525
MonitorElement * seedPyErr
const CurvilinearTrajectoryError & curvilinearError() const
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
const CartesianTrajectoryError cartesianError() const
T y() const
Definition: PV3DBase.h:60
MonitorElement * seedEta
MonitorElement * seedPErrVsEta
MonitorElement * seedPErrVsPt
MonitorElement * seedPtErrVsPt
MonitorElement * seedEtaErr
MonitorElement * seedPzErr
MonitorElement * seedPtErrVsPhi
MonitorElement * seedPErr
Geom::Theta< T > theta() const
Definition: PV3DBase.h:72
void Fill(long long x)
MonitorElement * NumberOfRecHitsPerSeed
T mag() const
Definition: PV3DBase.h:64
T sqrt(T t)
Definition: SSEVec.h:19
T z() const
Definition: PV3DBase.h:61
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
unsigned int detId() const
MonitorElement * seedPtErrVsEta
bool isValid() const
Definition: HandleBase.h:70
#define LogTrace(id)
edm::EDGetTokenT< TrajectorySeedCollection > theSeedsCollectionLabel_
const AlgebraicSymMatrix66 & matrix() const
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
Definition: DetId.h:17
MonitorElement * seedPxErr
TrajectoryStateOnSurface transientState(const PTrajectoryStateOnDet &ts, const Surface *surface, const MagneticField *field)
MonitorElement * seedPy
MonitorElement * seedPt
MonitorElement * seedPtErr
MonitorElement * seedPz
T eta() const
Definition: PV3DBase.h:73
const AlgebraicSymMatrix55 & matrix() const
GlobalVector globalMomentum() const
MonitorElement * seedPErrVsPhi
MonitorElement * seedPhi
Definition: errors.py:1
MonitorElement * seedTheta
T x() const
Definition: PV3DBase.h:59
MuonServiceProxy * theService
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:30
MonitorElement * seedPhiErr
void MuonSeedsAnalyzer::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  ,
edm::EventSetup const &   
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 74 of file MuonSeedsAnalyzer.cc.

References dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqm::dqmstoreimpl::DQMStore::IBooker::book2D(), dqm::dqmstoreimpl::DQMStore::IBooker::cd(), MonitorTrackInnerTrackMuons_cff::EtaBin, MonitorTrackSTAMuons_cfi::etaErrBin, MonitorTrackInnerTrackMuons_cff::etaErrMax, MonitorTrackSTAMuons_cfi::etaErrMin, MonitorTrackInnerTrackMuons_cff::EtaMax, MonitorTrackInnerTrackMuons_cff::EtaMin, MonitorTrackSTAMuons_cfi::pErrBin, MonitorTrackSTAMuons_cfi::pErrMax, MonitorTrackSTAMuons_cfi::pErrMin, MonitorTrackSTAMuons_cfi::PhiBin, MonitorTrackSTAMuons_cfi::phiErrBin, MonitorTrackInnerTrackMuons_cff::phiErrMax, MonitorTrackSTAMuons_cfi::phiErrMin, MonitorTrackSTAMuons_cfi::PhiMax, MonitorTrackSTAMuons_cfi::PhiMin, muonSeedsAnalyzer_cfi::pxyzErrBin, muonSeedsAnalyzer_cfi::pxyzErrMax, muonSeedsAnalyzer_cfi::pxyzErrMin, muonSeedsAnalyzer_cfi::seedPtBin, muonSeedsAnalyzer_cfi::seedPtMax, muonSeedsAnalyzer_cfi::seedPtMin, muonSeedsAnalyzer_cfi::seedPxyzBin, muonSeedsAnalyzer_cfi::seedPxyzMax, muonSeedsAnalyzer_cfi::seedPxyzMin, dqm::impl::MonitorElement::setAxisTitle(), dqm::dqmstoreimpl::DQMStore::IBooker::setCurrentFolder(), MonitorTrackSTAMuons_cfi::ThetaBin, MonitorTrackSTAMuons_cfi::ThetaMax, and MonitorTrackSTAMuons_cfi::ThetaMin.

74  {
75  ibooker.cd();
76  ibooker.setCurrentFolder("Muons/MuonSeedsAnalyzer");
77 
78  string histname = "NumberOfRecHitsPerSeed_";
79  NumberOfRecHitsPerSeed = ibooker.book1D(histname, "Number of seed recHits", seedHitBin, seedHitMin, seedHitMax);
80 
81  histname = "seedPhi_";
82  seedPhi = ibooker.book1D(histname, "Seed #phi", PhiBin, PhiMin, PhiMax);
83  seedPhi->setAxisTitle("rad");
84 
85  histname = "seedEta_";
86  seedEta = ibooker.book1D(histname, "Seed #eta", EtaBin, EtaMin, EtaMax);
87 
88  histname = "seedTheta_";
89  seedTheta = ibooker.book1D(histname, "Seed #theta", ThetaBin, ThetaMin, ThetaMax);
90  seedTheta->setAxisTitle("rad");
91 
92  histname = "seedPt_";
93  seedPt = ibooker.book1D(histname, "Seed p_{t}", seedPtBin, seedPtMin, seedPtMax);
94  seedPt->setAxisTitle("GeV");
95 
96  histname = "seedPx_";
97  seedPx = ibooker.book1D(histname, "Seed p_{x}", seedPxyzBin, seedPxyzMin, seedPxyzMax);
98  seedPx->setAxisTitle("GeV");
99  histname = "seedPy_";
100  seedPy = ibooker.book1D(histname, "Seed p_{y}", seedPxyzBin, seedPxyzMin, seedPxyzMax);
101  seedPy->setAxisTitle("GeV");
102  histname = "seedPz_";
103  seedPz = ibooker.book1D(histname, "Seed p_{z}", seedPxyzBin, seedPxyzMin, seedPxyzMax);
104  seedPz->setAxisTitle("GeV");
105 
106  histname = "seedPtErrOverPt_";
107  seedPtErr = ibooker.book1D(histname, "Seed p_{t}Err/p_{t}", pErrBin, pErrMin, pErrMax);
108  histname = "seedPtErrOverPtVsPhi_";
110  ibooker.book2D(histname, "Seed p_{t}Err/p_{t} vs #phi", PhiBin, PhiMin, PhiMax, pErrBin, pErrMin, pErrMax);
111  seedPtErrVsPhi->setAxisTitle("rad", 2);
112  histname = "seedPtErrOverPtVsEta_";
114  ibooker.book2D(histname, "Seed p_{t}Err/p_{t} vs #eta", EtaBin, EtaMin, EtaMax, pErrBin, pErrMin, pErrMax);
115  histname = "seedPtErrOverPtVsPt_";
116  seedPtErrVsPt = ibooker.book2D(
117  histname, "Seed p_{t}Err/p_{t} vs p_{t}", seedPtBin / 5, seedPtMin, seedPtMax, pErrBin, pErrMin, pErrMax);
118  seedPtErrVsPt->setAxisTitle("GeV", 2);
119  histname = "seedPErrOverP_";
120  seedPErr = ibooker.book1D(histname, "Seed pErr/p", pErrBin, pErrMin, pErrMax);
121  histname = "seedPErrOverPVsPhi_";
122  seedPErrVsPhi = ibooker.book2D(histname, "Seed pErr/p vs #phi", PhiBin, PhiMin, PhiMax, pErrBin, pErrMin, pErrMax);
123  seedPErrVsPhi->setAxisTitle("rad", 2);
124  histname = "seedPErrOverPVsEta_";
125  seedPErrVsEta = ibooker.book2D(histname, "Seed pErr/p vs #eta", EtaBin, EtaMin, EtaMax, pErrBin, pErrMin, pErrMax);
126  histname = "seedPErrOverPVsPt_";
127  seedPErrVsPt =
128  ibooker.book2D(histname, "Seed pErr/p vs p_{t}", seedPtBin / 5, seedPtMin, seedPtMax, pErrBin, pErrMin, pErrMax);
129  seedPErrVsPt->setAxisTitle("GeV", 2);
130 
131  histname = "seedPxErrOverPx_";
132  seedPxErr = ibooker.book1D(histname, "Seed p_{x}Err/p_{x}", pxyzErrBin, pxyzErrMin, pxyzErrMax);
133  histname = "seedPyErrOverPy_";
134  seedPyErr = ibooker.book1D(histname, "Seed p_{y}Err/p_{y}", pxyzErrBin, pxyzErrMin, pxyzErrMax);
135  histname = "seedPzErrOverPz_";
136  seedPzErr = ibooker.book1D(histname, "Seed p_{z}Err/p_{z}", pxyzErrBin, pxyzErrMin, pxyzErrMax);
137 
138  histname = "seedPhiErr_";
139  seedPhiErr = ibooker.book1D(histname, "Seed #phi error", phiErrBin, phiErrMin, phiErrMax);
140 
141  histname = "seedEtaErr_";
142  seedEtaErr = ibooker.book1D(histname, "Seed #eta error", etaErrBin, etaErrMin, etaErrMax);
143 }
MonitorElement * seedPx
MonitorElement * seedPyErr
MonitorElement * seedEta
MonitorElement * seedPErrVsEta
MonitorElement * seedPErrVsPt
MonitorElement * seedPtErrVsPt
MonitorElement * seedEtaErr
MonitorElement * seedPzErr
MonitorElement * seedPtErrVsPhi
MonitorElement * seedPErr
MonitorElement * NumberOfRecHitsPerSeed
MonitorElement * seedPtErrVsEta
MonitorElement * seedPxErr
MonitorElement * seedPy
MonitorElement * seedPt
MonitorElement * seedPtErr
MonitorElement * seedPz
MonitorElement * seedPErrVsPhi
MonitorElement * seedPhi
MonitorElement * seedTheta
MonitorElement * seedPhiErr
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)

Member Data Documentation

int MuonSeedsAnalyzer::Chi2Bin
private

Definition at line 68 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::Chi2Max
private

Definition at line 70 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::Chi2Min
private

Definition at line 69 of file MuonSeedsAnalyzer.h.

int MuonSeedsAnalyzer::EtaBin
private

Definition at line 60 of file MuonSeedsAnalyzer.h.

int MuonSeedsAnalyzer::etaErrBin
private

Definition at line 92 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::etaErrMax
private

Definition at line 94 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::etaErrMin
private

Definition at line 93 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::EtaMax
private

Definition at line 62 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::EtaMin
private

Definition at line 61 of file MuonSeedsAnalyzer.h.

std::string MuonSeedsAnalyzer::metname
private

Definition at line 49 of file MuonSeedsAnalyzer.h.

MonitorElement* MuonSeedsAnalyzer::NumberOfRecHitsPerSeed
private

Definition at line 97 of file MuonSeedsAnalyzer.h.

edm::ParameterSet MuonSeedsAnalyzer::parameters
private
int MuonSeedsAnalyzer::pErrBin
private

Definition at line 80 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::pErrMax
private

Definition at line 82 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::pErrMin
private

Definition at line 81 of file MuonSeedsAnalyzer.h.

int MuonSeedsAnalyzer::PhiBin
private

Definition at line 56 of file MuonSeedsAnalyzer.h.

int MuonSeedsAnalyzer::phiErrBin
private

Definition at line 88 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::phiErrMax
private

Definition at line 90 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::phiErrMin
private

Definition at line 89 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::PhiMax
private

Definition at line 58 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::PhiMin
private

Definition at line 57 of file MuonSeedsAnalyzer.h.

int MuonSeedsAnalyzer::pxyzErrBin
private

Definition at line 84 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::pxyzErrMax
private

Definition at line 86 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::pxyzErrMin
private

Definition at line 85 of file MuonSeedsAnalyzer.h.

MonitorElement* MuonSeedsAnalyzer::seedEta
private

Definition at line 99 of file MuonSeedsAnalyzer.h.

MonitorElement* MuonSeedsAnalyzer::seedEtaErr
private

Definition at line 117 of file MuonSeedsAnalyzer.h.

int MuonSeedsAnalyzer::seedHitBin
private

Definition at line 52 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::seedHitMax
private

Definition at line 54 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::seedHitMin
private

Definition at line 53 of file MuonSeedsAnalyzer.h.

MonitorElement* MuonSeedsAnalyzer::seedPErr
private

Definition at line 112 of file MuonSeedsAnalyzer.h.

MonitorElement* MuonSeedsAnalyzer::seedPErrVsEta
private

Definition at line 114 of file MuonSeedsAnalyzer.h.

MonitorElement* MuonSeedsAnalyzer::seedPErrVsPhi
private

Definition at line 113 of file MuonSeedsAnalyzer.h.

MonitorElement* MuonSeedsAnalyzer::seedPErrVsPt
private

Definition at line 115 of file MuonSeedsAnalyzer.h.

MonitorElement* MuonSeedsAnalyzer::seedPhi
private

Definition at line 98 of file MuonSeedsAnalyzer.h.

MonitorElement* MuonSeedsAnalyzer::seedPhiErr
private

Definition at line 116 of file MuonSeedsAnalyzer.h.

MonitorElement* MuonSeedsAnalyzer::seedPt
private

Definition at line 101 of file MuonSeedsAnalyzer.h.

int MuonSeedsAnalyzer::seedPtBin
private

Definition at line 72 of file MuonSeedsAnalyzer.h.

MonitorElement* MuonSeedsAnalyzer::seedPtErr
private

Definition at line 105 of file MuonSeedsAnalyzer.h.

MonitorElement* MuonSeedsAnalyzer::seedPtErrVsEta
private

Definition at line 107 of file MuonSeedsAnalyzer.h.

MonitorElement* MuonSeedsAnalyzer::seedPtErrVsPhi
private

Definition at line 106 of file MuonSeedsAnalyzer.h.

MonitorElement* MuonSeedsAnalyzer::seedPtErrVsPt
private

Definition at line 108 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::seedPtMax
private

Definition at line 74 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::seedPtMin
private

Definition at line 73 of file MuonSeedsAnalyzer.h.

MonitorElement* MuonSeedsAnalyzer::seedPx
private

Definition at line 102 of file MuonSeedsAnalyzer.h.

MonitorElement* MuonSeedsAnalyzer::seedPxErr
private

Definition at line 109 of file MuonSeedsAnalyzer.h.

int MuonSeedsAnalyzer::seedPxyzBin
private

Definition at line 76 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::seedPxyzMax
private

Definition at line 78 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::seedPxyzMin
private

Definition at line 77 of file MuonSeedsAnalyzer.h.

MonitorElement* MuonSeedsAnalyzer::seedPy
private

Definition at line 103 of file MuonSeedsAnalyzer.h.

MonitorElement* MuonSeedsAnalyzer::seedPyErr
private

Definition at line 110 of file MuonSeedsAnalyzer.h.

MonitorElement* MuonSeedsAnalyzer::seedPz
private

Definition at line 104 of file MuonSeedsAnalyzer.h.

MonitorElement* MuonSeedsAnalyzer::seedPzErr
private

Definition at line 111 of file MuonSeedsAnalyzer.h.

MonitorElement* MuonSeedsAnalyzer::seedTheta
private

Definition at line 100 of file MuonSeedsAnalyzer.h.

edm::EDGetTokenT<TrajectorySeedCollection> MuonSeedsAnalyzer::theSeedsCollectionLabel_
private

Definition at line 46 of file MuonSeedsAnalyzer.h.

MuonServiceProxy* MuonSeedsAnalyzer::theService
private

Definition at line 42 of file MuonSeedsAnalyzer.h.

int MuonSeedsAnalyzer::ThetaBin
private

Definition at line 64 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::ThetaMax
private

Definition at line 66 of file MuonSeedsAnalyzer.h.

double MuonSeedsAnalyzer::ThetaMin
private

Definition at line 65 of file MuonSeedsAnalyzer.h.