CMS 3D CMS Logo

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

#include <MuonTrackAnalyzer.h>

Inheritance diagram for MuonTrackAnalyzer:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Types

enum  EtaRange { all, barrel, endcap }
 
- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 

Public Member Functions

void analyze (const edm::Event &event, const edm::EventSetup &eventSetup) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 MuonTrackAnalyzer (const edm::ParameterSet &pset)
 Constructor. More...
 
void seedsAnalysis (const edm::Event &event, const edm::EventSetup &eventSetup, edm::Handle< edm::SimTrackContainer > simTracks)
 
void tracksAnalysis (const edm::Event &event, const edm::EventSetup &eventSetup, edm::Handle< edm::SimTrackContainer > simTracks)
 
 ~MuonTrackAnalyzer () override
 Destructor. More...
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Private Member Functions

bool checkMuonSimHitPresence (const edm::Event &event, edm::Handle< edm::SimTrackContainer > simTracks)
 
void fillPlots (const edm::Event &event, edm::Handle< edm::SimTrackContainer > &simTracks)
 
void fillPlots (FreeTrajectoryState &recoFTS, SimTrack &simTrack, HTrack *histo, MuonPatternRecoDumper &debug)
 
void fillPlots (reco::TransientTrack &track, SimTrack &simTrack)
 
void fillPlots (TrajectoryStateOnSurface &recoTSOS, SimTrack &simState, HTrack *, MuonPatternRecoDumper &)
 
TrajectoryStateOnSurface getSeedTSOS (const TrajectorySeed &seed)
 
std::pair< SimTrack, double > getSimTrack (TrajectoryStateOnSurface &tsos, edm::Handle< edm::SimTrackContainer > simTracks)
 
bool isInTheAcceptance (double eta)
 

Private Attributes

DQMStoredbe_
 
std::string dirName_
 
bool doSeedsAnalysis
 
bool doTracksAnalysis
 
MonitorElementhChargeVsEta
 
MonitorElementhChargeVsPt
 
MonitorElementhChi2
 
MonitorElementhChi2Norm
 
MonitorElementhChi2NormVsEta
 
MonitorElementhChi2Prob
 
MonitorElementhChi2ProbVsEta
 
MonitorElementhChi2VsEta
 
MonitorElementhDeltaPt_In_Out_VsEta
 
MonitorElementhDeltaPtVsEta
 
MonitorElementhDof
 
MonitorElementhDofVsEta
 
MonitorElementhHitsPerTrack
 
MonitorElementhHitsPerTrackVsEta
 
MonitorElementhNumberOfTracks
 
MonitorElementhNumberOfTracksVsEta
 
MonitorElementhPtRecVsPtGen
 
HTrackhRecoSeedInner
 
HTrackhRecoSeedPCA
 
HTrackhRecoTracksInner
 
HTrackhRecoTracksOuter
 
HTrackhRecoTracksPCA
 
HTrackVariableshSimTracks
 
int numberOfRecTracks
 
int numberOfSimTracks
 
std::string out
 
edm::ParameterSet pset
 
std::string subsystemname_
 
edm::InputTag theCSCSimHitLabel
 
edm::EDGetTokenT< std::vector< PSimHit > > theCSCSimHitToken
 
edm::InputTag theDTSimHitLabel
 
edm::EDGetTokenT< std::vector< PSimHit > > theDTSimHitToken
 
EtaRange theEtaRange
 
edm::InputTag theRPCSimHitLabel
 
edm::EDGetTokenT< std::vector< PSimHit > > theRPCSimHitToken
 
std::string theSeedPropagatorName
 
edm::InputTag theSeedsLabel
 
edm::EDGetTokenT< TrajectorySeedCollectiontheSeedsToken
 
MuonServiceProxytheService
 
edm::InputTag theSimTracksLabel
 
edm::EDGetTokenT< edm::SimTrackContainertheSimTracksToken
 
edm::InputTag theTracksLabel
 
edm::EDGetTokenT< reco::TrackCollectiontheTracksToken
 
MuonUpdatorAtVertextheUpdator
 

Additional Inherited Members

- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr< DQMEDAnalyzerGlobalCacheinitializeGlobalCache (edm::ParameterSet const &)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Analyzer of the Muon tracks

Author
R. Bellan - INFN Torino ricca.nosp@m.rdo..nosp@m.bella.nosp@m.n@ce.nosp@m.rn.ch

Analyzer of the StandAlone muon tracks

Author
R. Bellan - INFN Torino ricca.nosp@m.rdo..nosp@m.bella.nosp@m.n@ce.nosp@m.rn.ch

Definition at line 51 of file MuonTrackAnalyzer.h.

Member Enumeration Documentation

◆ EtaRange

Enumerator
all 
barrel 
endcap 

Definition at line 53 of file MuonTrackAnalyzer.h.

53 { all, barrel, endcap };

Constructor & Destructor Documentation

◆ MuonTrackAnalyzer()

MuonTrackAnalyzer::MuonTrackAnalyzer ( const edm::ParameterSet pset)

Constructor.

Definition at line 41 of file MuonTrackAnalyzer.cc.

41  {
42  // service parameters
43  pset = ps;
44  ParameterSet serviceParameters = pset.getParameter<ParameterSet>("ServiceParameters");
45  // the services
46  theService = new MuonServiceProxy(serviceParameters, consumesCollector());
47 
48  theSimTracksLabel = edm::InputTag("g4SimHits");
49  theSimTracksToken = consumes<edm::SimTrackContainer>(theSimTracksLabel);
50 
52  theTracksToken = consumes<reco::TrackCollection>(theTracksLabel);
53  doTracksAnalysis = pset.getUntrackedParameter<bool>("DoTracksAnalysis", true);
54 
55  doSeedsAnalysis = pset.getUntrackedParameter<bool>("DoSeedsAnalysis", false);
56  if (doSeedsAnalysis) {
57  theSeedsLabel = pset.getParameter<InputTag>("MuonSeed");
58  theSeedsToken = consumes<TrajectorySeedCollection>(theSeedsLabel);
59  ParameterSet updatorPar = pset.getParameter<ParameterSet>("MuonUpdatorAtVertexParameters");
60  theSeedPropagatorName = updatorPar.getParameter<string>("Propagator");
61 
62  theUpdator = new MuonUpdatorAtVertex(updatorPar, theService);
63  }
64 
68  theCSCSimHitToken = consumes<std::vector<PSimHit> >(theCSCSimHitLabel);
69  theDTSimHitToken = consumes<std::vector<PSimHit> >(theDTSimHitLabel);
70  theRPCSimHitToken = consumes<std::vector<PSimHit> >(theRPCSimHitLabel);
71 
72  theEtaRange = (EtaRange)pset.getParameter<int>("EtaRange");
73 
74  // number of sim tracks
76  // number of reco tracks
78 
79  dbe_ = edm::Service<DQMStore>().operator->();
80  out = pset.getUntrackedParameter<string>("rootFileName");
82  subsystemname_ = pset.getUntrackedParameter<std::string>("subSystemFolder", "YourSubsystem");
83 }

References dbe_, MuonAnalyzers_cfi::EtaRange, edm::ParameterSet::getParameter(), HLT_2018_cff::InputTag, MuonServiceProxy_cff::MuonServiceProxy, MuonUpdatorAtVertex_cff::MuonUpdatorAtVertex, MillePedeFileConverter_cfg::out, muonDTDigis_cfi::pset, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ ~MuonTrackAnalyzer()

MuonTrackAnalyzer::~MuonTrackAnalyzer ( )
override

Destructor.

Definition at line 86 of file MuonTrackAnalyzer.cc.

86  {
87  if (theService)
88  delete theService;
89 }

Member Function Documentation

◆ analyze()

void MuonTrackAnalyzer::analyze ( const edm::Event event,
const edm::EventSetup eventSetup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 170 of file MuonTrackAnalyzer.cc.

170  {
171  LogDebug("MuonTrackAnalyzer") << "Run: " << event.id().run() << " Event: " << event.id().event();
172 
173  // Update the services
174  theService->update(eventSetup);
175 
177  event.getByToken(theSimTracksToken, simTracks);
179 
180  if (doTracksAnalysis)
181  tracksAnalysis(event, eventSetup, simTracks);
182 
183  if (doSeedsAnalysis)
184  seedsAnalysis(event, eventSetup, simTracks);
185 }

References LogDebug, and TrackCandidateProducer_cfi::simTracks.

◆ bookHistograms()

void MuonTrackAnalyzer::bookHistograms ( DQMStore::IBooker ibooker,
edm::Run const &  iRun,
edm::EventSetup const &   
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 91 of file MuonTrackAnalyzer.cc.

93  {
94  ibooker.cd();
95 
97  string dirName = dirName_;
98  if (!algo.process().empty())
99  dirName += algo.process() + "_";
100  if (!algo.label().empty())
101  dirName += algo.label() + "_";
102  if (!algo.instance().empty())
103  dirName += algo.instance() + "";
104  if (dirName.find("Tracks") < dirName.length()) {
105  dirName.replace(dirName.find("Tracks"), 6, "");
106  }
107  std::replace(dirName.begin(), dirName.end(), ':', '_');
108  ibooker.setCurrentFolder(dirName);
109 
110  //ibooker.goUp();
111  std::string simName = dirName;
112  simName += "/SimTracks";
113  hSimTracks = new HTrackVariables(ibooker, simName, "SimTracks");
114 
115  ibooker.cd();
116  ibooker.setCurrentFolder(dirName);
117 
118  // Create the root file
119  //theFile = new TFile(theRootFileName.c_str(), "RECREATE");
120 
121  if (doSeedsAnalysis) {
122  ibooker.cd();
123  ibooker.setCurrentFolder(dirName);
124  hRecoSeedInner = new HTrack(ibooker, dirName, "RecoSeed", "Inner");
125  hRecoSeedPCA = new HTrack(ibooker, dirName, "RecoSeed", "PCA");
126  }
127 
128  if (doTracksAnalysis) {
129  ibooker.cd();
130  ibooker.setCurrentFolder(dirName);
131  hRecoTracksPCA = new HTrack(ibooker, dirName, "RecoTracks", "PCA");
132  hRecoTracksInner = new HTrack(ibooker, dirName, "RecoTracks", "Inner");
133  hRecoTracksOuter = new HTrack(ibooker, dirName, "RecoTracks", "Outer");
134 
135  ibooker.cd();
136  ibooker.setCurrentFolder(dirName);
137 
138  // General Histos
139 
140  hChi2 = ibooker.book1D("chi2", "#chi^2", 200, 0, 200);
141  hChi2VsEta = ibooker.book2D("chi2VsEta", "#chi^2 VS #eta", 120, -3., 3., 200, 0, 200);
142 
143  hChi2Norm = ibooker.book1D("chi2Norm", "Normalized #chi^2", 400, 0, 100);
144  hChi2NormVsEta = ibooker.book2D("chi2NormVsEta", "Normalized #chi^2 VS #eta", 120, -3., 3., 400, 0, 100);
145 
146  hHitsPerTrack = ibooker.book1D("HitsPerTrack", "Number of hits per track", 55, 0, 55);
148  ibooker.book2D("HitsPerTrackVsEta", "Number of hits per track VS #eta", 120, -3., 3., 55, 0, 55);
149 
150  hDof = ibooker.book1D("dof", "Number of Degree of Freedom", 55, 0, 55);
151  hDofVsEta = ibooker.book2D("dofVsEta", "Number of Degree of Freedom VS #eta", 120, -3., 3., 55, 0, 55);
152 
153  hChi2Prob = ibooker.book1D("chi2Prob", "#chi^2 probability", 200, 0, 1);
154  hChi2ProbVsEta = ibooker.book2D("chi2ProbVsEta", "#chi^2 probability VS #eta", 120, -3., 3., 200, 0, 1);
155 
156  hNumberOfTracks = ibooker.book1D("NumberOfTracks", "Number of reconstructed tracks per event", 200, 0, 200);
157  hNumberOfTracksVsEta = ibooker.book2D(
158  "NumberOfTracksVsEta", "Number of reconstructed tracks per event VS #eta", 120, -3., 3., 10, 0, 10);
159 
160  hChargeVsEta = ibooker.book2D("ChargeVsEta", "Charge vs #eta gen", 120, -3., 3., 4, -2., 2.);
161  hChargeVsPt = ibooker.book2D("ChargeVsPt", "Charge vs P_{T} gen", 250, 0, 200, 4, -2., 2.);
162  hPtRecVsPtGen = ibooker.book2D("PtRecVsPtGen", "P_{T} rec vs P_{T} gen", 250, 0, 200, 250, 0, 200);
163 
164  hDeltaPtVsEta = ibooker.book2D("DeltaPtVsEta", "#Delta P_{t} vs #eta gen", 120, -3., 3., 500, -250., 250.);
166  ibooker.book2D("DeltaPt_In_Out_VsEta_", "P^{in}_{t} - P^{out}_{t} vs #eta gen", 120, -3., 3., 500, -250., 250.);
167  }
168 }

References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), dqm::implementation::NavigatorBase::cd(), TrackerOfflineValidation_Dqm_cff::dirName, python.rootplot.root2matplotlib::replace(), dqm::implementation::NavigatorBase::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

◆ checkMuonSimHitPresence()

bool MuonTrackAnalyzer::checkMuonSimHitPresence ( const edm::Event event,
edm::Handle< edm::SimTrackContainer simTracks 
)
private

Definition at line 394 of file MuonTrackAnalyzer.cc.

394  {
395  // Get the SimHit collection from the event
396  Handle<PSimHitContainer> dtSimHits;
397  event.getByToken(theDTSimHitToken, dtSimHits);
398 
399  Handle<PSimHitContainer> cscSimHits;
400  event.getByToken(theCSCSimHitToken, cscSimHits);
401 
402  Handle<PSimHitContainer> rpcSimHits;
403  event.getByToken(theRPCSimHitToken, rpcSimHits);
404 
405  map<unsigned int, vector<const PSimHit *> > mapOfMuonSimHits;
406 
407  for (PSimHitContainer::const_iterator simhit = dtSimHits->begin(); simhit != dtSimHits->end(); ++simhit) {
408  if (abs(simhit->particleType()) != 13)
409  continue;
410  mapOfMuonSimHits[simhit->trackId()].push_back(&*simhit);
411  }
412 
413  for (PSimHitContainer::const_iterator simhit = cscSimHits->begin(); simhit != cscSimHits->end(); ++simhit) {
414  if (abs(simhit->particleType()) != 13)
415  continue;
416  mapOfMuonSimHits[simhit->trackId()].push_back(&*simhit);
417  }
418 
419  for (PSimHitContainer::const_iterator simhit = rpcSimHits->begin(); simhit != rpcSimHits->end(); ++simhit) {
420  if (abs(simhit->particleType()) != 13)
421  continue;
422  mapOfMuonSimHits[simhit->trackId()].push_back(&*simhit);
423  }
424 
425  bool presence = false;
426 
427  for (SimTrackContainer::const_iterator simTrack = simTracks->begin(); simTrack != simTracks->end(); ++simTrack) {
428  if (abs(simTrack->type()) != 13)
429  continue;
430 
431  map<unsigned int, vector<const PSimHit *> >::const_iterator mapIterator =
432  mapOfMuonSimHits.find(simTrack->trackId());
433 
434  if (mapIterator != mapOfMuonSimHits.end())
435  presence = true;
436  }
437 
438  return presence;
439 }

References funct::abs(), muonSimHitMatcherPSet::simTrack, and TrackCandidateProducer_cfi::simTracks.

◆ fillPlots() [1/4]

void MuonTrackAnalyzer::fillPlots ( const edm::Event event,
edm::Handle< edm::SimTrackContainer > &  simTracks 
)
private

Definition at line 263 of file MuonTrackAnalyzer.cc.

263  {
265  return;
266 
267  // Loop over the Sim tracks
268  SimTrackContainer::const_iterator simTrack;
269  LogTrace("MuonTrackAnalyzer") << "Simulated tracks: " << simTracks->size() << endl;
270 
271  for (simTrack = simTracks->begin(); simTrack != simTracks->end(); ++simTrack)
272  if (abs((*simTrack).type()) == 13) {
273  if (!isInTheAcceptance((*simTrack).momentum().eta()))
274  continue; // FIXME!!
275 
277 
278  LogTrace("MuonTrackAnalyzer") << "Simualted muon:" << endl;
279  LogTrace("MuonTrackAnalyzer") << "Sim pT: " << sqrt((*simTrack).momentum().perp2()) << endl;
280  LogTrace("MuonTrackAnalyzer") << "Sim Eta: " << (*simTrack).momentum().eta() << endl; // FIXME
281 
282  hSimTracks->Fill((*simTrack).momentum().mag(),
283  sqrt((*simTrack).momentum().perp2()),
284  (*simTrack).momentum().eta(),
285  (*simTrack).momentum().phi(),
286  -(*simTrack).type() / abs((*simTrack).type())); // Double FIXME
287  LogTrace("MuonTrackAnalyzer") << "hSimTracks filled" << endl;
288  }
289 
290  LogTrace("MuonTrackAnalyzer") << endl;
291 }

References funct::abs(), LogTrace, muonSimHitMatcherPSet::simTrack, TrackCandidateProducer_cfi::simTracks, and mathSSE::sqrt().

◆ fillPlots() [2/4]

void MuonTrackAnalyzer::fillPlots ( FreeTrajectoryState recoFTS,
SimTrack simTrack,
HTrack histo,
MuonPatternRecoDumper debug 
)
private

Definition at line 324 of file MuonTrackAnalyzer.cc.

327  {
328  LogTrace("MuonTrackAnalyzer") << debug.dumpFTS(recoFTS) << endl;
329  histo->Fill(recoFTS);
330 
331  GlobalVector ftsVect = recoFTS.momentum();
332  math::XYZVectorD reco(ftsVect.x(), ftsVect.y(), ftsVect.z());
333  double deltaRVal = deltaR<double>(reco.eta(), reco.phi(), simTrack.momentum().eta(), simTrack.momentum().phi());
334  histo->FillDeltaR(deltaRVal);
335 
336  histo->computeResolutionAndPull(recoFTS, simTrack);
337 }

References debug, timingPdfMaker::histo, LogTrace, FreeTrajectoryState::momentum(), dt_dqm_sourceclient_common_cff::reco, muonSimHitMatcherPSet::simTrack, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

◆ fillPlots() [3/4]

void MuonTrackAnalyzer::fillPlots ( reco::TransientTrack track,
SimTrack simTrack 
)
private

Definition at line 293 of file MuonTrackAnalyzer.cc.

293  {
294  LogTrace("MuonTrackAnalyzer") << "Analizer: New track, chi2: " << track.chi2() << " dof: " << track.ndof() << endl;
295  hChi2->Fill(track.chi2());
296  hDof->Fill(track.ndof());
297  hChi2Norm->Fill(track.normalizedChi2());
298  hHitsPerTrack->Fill(track.recHitsSize());
299 
300  hChi2Prob->Fill(ChiSquaredProbability(track.chi2(), track.ndof()));
301 
302  hChi2VsEta->Fill(simTrack.momentum().eta(), track.chi2());
303  hChi2NormVsEta->Fill(simTrack.momentum().eta(), track.normalizedChi2());
304  hChi2ProbVsEta->Fill(simTrack.momentum().eta(), ChiSquaredProbability(track.chi2(), track.ndof()));
305  hHitsPerTrackVsEta->Fill(simTrack.momentum().eta(), track.recHitsSize());
306  hDofVsEta->Fill(simTrack.momentum().eta(), track.ndof());
307 }

References ChiSquaredProbability(), LogTrace, muonSimHitMatcherPSet::simTrack, and HLT_2018_cff::track.

◆ fillPlots() [4/4]

void MuonTrackAnalyzer::fillPlots ( TrajectoryStateOnSurface recoTSOS,
SimTrack simState,
HTrack histo,
MuonPatternRecoDumper debug 
)
private

Definition at line 309 of file MuonTrackAnalyzer.cc.

312  {
313  LogTrace("MuonTrackAnalyzer") << debug.dumpTSOS(recoTSOS) << endl;
314  histo->Fill(recoTSOS);
315 
316  GlobalVector tsosVect = recoTSOS.globalMomentum();
317  math::XYZVectorD reco(tsosVect.x(), tsosVect.y(), tsosVect.z());
318  double deltaRVal = deltaR<double>(reco.eta(), reco.phi(), simTrack.momentum().eta(), simTrack.momentum().phi());
319  histo->FillDeltaR(deltaRVal);
320 
321  histo->computeResolutionAndPull(recoTSOS, simTrack);
322 }

References debug, TrajectoryStateOnSurface::globalMomentum(), timingPdfMaker::histo, LogTrace, dt_dqm_sourceclient_common_cff::reco, muonSimHitMatcherPSet::simTrack, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

◆ getSeedTSOS()

TrajectoryStateOnSurface MuonTrackAnalyzer::getSeedTSOS ( const TrajectorySeed seed)
private

Definition at line 441 of file MuonTrackAnalyzer.cc.

441  {
442  // Get the Trajectory State on Det (persistent version of a TSOS) from the seed
443  PTrajectoryStateOnDet pTSOD = seed.startingState();
444 
445  // Transform it in a TrajectoryStateOnSurface
446 
447  DetId seedDetId(pTSOD.detId());
448 
449  const GeomDet *gdet = theService->trackingGeometry()->idToDet(seedDetId);
450 
451  TrajectoryStateOnSurface initialState =
452  trajectoryStateTransform::transientState(pTSOD, &(gdet->surface()), &*theService->magneticField());
453 
454  // Get the layer on which the seed relies
455  const DetLayer *initialLayer = theService->detLayerGeometry()->idToLayer(seedDetId);
456 
458 
459  // ask for compatible layers
460  vector<const DetLayer *> detLayers;
461  detLayers =
462  theService->muonNavigationSchool()->compatibleLayers(*initialLayer, *initialState.freeState(), detLayerOrder);
463 
464  TrajectoryStateOnSurface result = initialState;
465  if (!detLayers.empty()) {
466  const DetLayer *finalLayer = detLayers.back();
467  const TrajectoryStateOnSurface propagatedState =
468  theService->propagator(theSeedPropagatorName)->propagate(initialState, finalLayer->surface());
469  if (propagatedState.isValid())
470  result = propagatedState;
471  }
472 
473  return result;
474 }

References PTrajectoryStateOnDet::detId(), TrajectoryStateOnSurface::freeState(), TrajectoryStateOnSurface::isValid(), oppositeToMomentum, mps_fire::result, SurveyInfoScenario_cff::seed, GeometricSearchDet::surface(), and trajectoryStateTransform::transientState().

◆ getSimTrack()

pair< SimTrack, double > MuonTrackAnalyzer::getSimTrack ( TrajectoryStateOnSurface tsos,
edm::Handle< edm::SimTrackContainer simTracks 
)
private

Definition at line 339 of file MuonTrackAnalyzer.cc.

340  {
341  // // Loop over the Sim tracks
342  // SimTrackContainer::const_iterator simTrack;
343 
344  // SimTrack result;
345  // int mu=0;
346  // for (simTrack = simTracks->begin(); simTrack != simTracks->end(); ++simTrack)
347  // if (abs((*simTrack).type()) == 13) {
348  // result = *simTrack;
349  // ++mu;
350  // }
351 
352  // if(mu != 1) LogTrace("MuonTrackAnalyzer") << "WARNING!! more than 1 simulated muon!!" <<endl;
353  // return result;
354 
355  // Loop over the Sim tracks
356  SimTrackContainer::const_iterator simTrack;
357 
359 
360  double bestDeltaR = 10e5;
361  for (simTrack = simTracks->begin(); simTrack != simTracks->end(); ++simTrack) {
362  if (abs((*simTrack).type()) != 13)
363  continue;
364 
365  // double newDeltaR = tsos.globalMomentum().basicVector().deltaR(simTrack->momentum().vect());
366  GlobalVector tsosVect = tsos.globalMomentum();
367  math::XYZVectorD vect(tsosVect.x(), tsosVect.y(), tsosVect.z());
368  double newDeltaR = deltaR<double>(vect.eta(), vect.phi(), simTrack->momentum().eta(), simTrack->momentum().phi());
369 
370  if (newDeltaR < bestDeltaR) {
371  LogTrace("MuonTrackAnalyzer") << "Matching Track with DeltaR = " << newDeltaR << endl;
372  bestDeltaR = newDeltaR;
373  result = *simTrack;
374  }
375  }
376  return pair<SimTrack, double>(result, bestDeltaR);
377 }

References funct::abs(), TrajectoryStateOnSurface::globalMomentum(), LogTrace, mps_fire::result, muonSimHitMatcherPSet::simTrack, TrackCandidateProducer_cfi::simTracks, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().

◆ isInTheAcceptance()

bool MuonTrackAnalyzer::isInTheAcceptance ( double  eta)
private

Definition at line 379 of file MuonTrackAnalyzer.cc.

379  {
380  switch (theEtaRange) {
381  case all:
382  return (abs(eta) <= 2.4) ? true : false;
383  case barrel:
384  return (abs(eta) < 1.1) ? true : false;
385  case endcap:
386  return (abs(eta) >= 1.1 && abs(eta) <= 2.4) ? true : false;
387  default: {
388  LogTrace("MuonTrackAnalyzer") << "No correct Eta range selected!! " << endl;
389  return false;
390  }
391  }
392 }

References funct::abs(), python.cmstools::all(), Reference_intrackfit_cff::barrel, makeMuonMisalignmentScenario::endcap, PVValHelper::eta, LogTrace, and funct::true.

◆ seedsAnalysis()

void MuonTrackAnalyzer::seedsAnalysis ( const edm::Event event,
const edm::EventSetup eventSetup,
edm::Handle< edm::SimTrackContainer simTracks 
)

Definition at line 187 of file MuonTrackAnalyzer.cc.

189  {
191 
192  // Get the RecTrack collection from the event
194  event.getByToken(theSeedsToken, seeds);
195 
196  LogTrace("MuonTrackAnalyzer") << "Number of reconstructed seeds: " << seeds->size() << endl;
197 
198  for (TrajectorySeedCollection::const_iterator seed = seeds->begin(); seed != seeds->end(); ++seed) {
200  pair<SimTrack, double> sim = getSimTrack(seedTSOS, simTracks);
201  fillPlots(seedTSOS, sim.first, hRecoSeedInner, debug);
202 
203  std::pair<bool, FreeTrajectoryState> propSeed = theUpdator->propagateToNominalLine(seedTSOS);
204  if (propSeed.first)
205  fillPlots(propSeed.second, sim.first, hRecoSeedPCA, debug);
206  else
207  LogTrace("MuonTrackAnalyzer") << "Error in seed propagation" << endl;
208  }
209 }

References debug, LogTrace, SurveyInfoScenario_cff::seed, InitialStep_cff::seeds, and TrackCandidateProducer_cfi::simTracks.

◆ tracksAnalysis()

void MuonTrackAnalyzer::tracksAnalysis ( const edm::Event event,
const edm::EventSetup eventSetup,
edm::Handle< edm::SimTrackContainer simTracks 
)

Definition at line 211 of file MuonTrackAnalyzer.cc.

213  {
215 
216  // Get the RecTrack collection from the event
218  event.getByToken(theTracksToken, tracks);
219 
220  LogTrace("MuonTrackAnalyzer") << "Reconstructed tracks: " << tracks->size() << endl;
221  hNumberOfTracks->Fill(tracks->size());
222 
223  if (!tracks->empty())
225 
226  // Loop over the Rec tracks
227  for (reco::TrackCollection::const_iterator t = tracks->begin(); t != tracks->end(); ++t) {
228  reco::TransientTrack track(*t, &*theService->magneticField(), theService->trackingGeometry());
229 
230  TrajectoryStateOnSurface outerTSOS = track.outermostMeasurementState();
231  TrajectoryStateOnSurface innerTSOS = track.innermostMeasurementState();
232  TrajectoryStateOnSurface pcaTSOS = track.impactPointState();
233 
234  pair<SimTrack, double> sim = getSimTrack(pcaTSOS, simTracks);
235  SimTrack simTrack = sim.first;
236  hNumberOfTracksVsEta->Fill(simTrack.momentum().eta(), tracks->size());
238 
239  LogTrace("MuonTrackAnalyzer") << "State at the outer surface: " << endl;
241 
242  LogTrace("MuonTrackAnalyzer") << "State at the inner surface: " << endl;
244 
245  LogTrace("MuonTrackAnalyzer") << "State at PCA: " << endl;
247 
248  double deltaPt_in_out = innerTSOS.globalMomentum().perp() - outerTSOS.globalMomentum().perp();
249  hDeltaPt_In_Out_VsEta->Fill(simTrack.momentum().eta(), deltaPt_in_out);
250 
251  double deltaPt_pca_sim = pcaTSOS.globalMomentum().perp() - sqrt(simTrack.momentum().Perp2());
252  hDeltaPtVsEta->Fill(simTrack.momentum().eta(), deltaPt_pca_sim);
253 
254  hChargeVsEta->Fill(simTrack.momentum().eta(), pcaTSOS.charge());
255 
256  hChargeVsPt->Fill(sqrt(simTrack.momentum().perp2()), pcaTSOS.charge());
257 
258  hPtRecVsPtGen->Fill(sqrt(simTrack.momentum().perp2()), pcaTSOS.globalMomentum().perp());
259  }
260  LogTrace("MuonTrackAnalyzer") << "--------------------------------------------" << endl;
261 }

References TrajectoryStateOnSurface::charge(), debug, TrajectoryStateOnSurface::globalMomentum(), LogTrace, PV3DBase< T, PVType, FrameType >::perp(), muonSimHitMatcherPSet::simTrack, TrackCandidateProducer_cfi::simTracks, mathSSE::sqrt(), OrderedSet::t, HLT_2018_cff::track, and PDWG_EXOHSCP_cff::tracks.

Member Data Documentation

◆ dbe_

DQMStore* MuonTrackAnalyzer::dbe_
private

Definition at line 89 of file MuonTrackAnalyzer.h.

◆ dirName_

std::string MuonTrackAnalyzer::dirName_
private

Definition at line 90 of file MuonTrackAnalyzer.h.

◆ doSeedsAnalysis

bool MuonTrackAnalyzer::doSeedsAnalysis
private

Definition at line 114 of file MuonTrackAnalyzer.h.

◆ doTracksAnalysis

bool MuonTrackAnalyzer::doTracksAnalysis
private

Definition at line 113 of file MuonTrackAnalyzer.h.

◆ hChargeVsEta

MonitorElement* MuonTrackAnalyzer::hChargeVsEta
private

Definition at line 129 of file MuonTrackAnalyzer.h.

◆ hChargeVsPt

MonitorElement* MuonTrackAnalyzer::hChargeVsPt
private

Definition at line 130 of file MuonTrackAnalyzer.h.

◆ hChi2

MonitorElement* MuonTrackAnalyzer::hChi2
private

Definition at line 121 of file MuonTrackAnalyzer.h.

◆ hChi2Norm

MonitorElement* MuonTrackAnalyzer::hChi2Norm
private

Definition at line 122 of file MuonTrackAnalyzer.h.

◆ hChi2NormVsEta

MonitorElement* MuonTrackAnalyzer::hChi2NormVsEta
private

Definition at line 134 of file MuonTrackAnalyzer.h.

◆ hChi2Prob

MonitorElement* MuonTrackAnalyzer::hChi2Prob
private

Definition at line 125 of file MuonTrackAnalyzer.h.

◆ hChi2ProbVsEta

MonitorElement* MuonTrackAnalyzer::hChi2ProbVsEta
private

Definition at line 137 of file MuonTrackAnalyzer.h.

◆ hChi2VsEta

MonitorElement* MuonTrackAnalyzer::hChi2VsEta
private

Definition at line 133 of file MuonTrackAnalyzer.h.

◆ hDeltaPt_In_Out_VsEta

MonitorElement* MuonTrackAnalyzer::hDeltaPt_In_Out_VsEta
private

Definition at line 139 of file MuonTrackAnalyzer.h.

◆ hDeltaPtVsEta

MonitorElement* MuonTrackAnalyzer::hDeltaPtVsEta
private

Definition at line 138 of file MuonTrackAnalyzer.h.

◆ hDof

MonitorElement* MuonTrackAnalyzer::hDof
private

Definition at line 124 of file MuonTrackAnalyzer.h.

◆ hDofVsEta

MonitorElement* MuonTrackAnalyzer::hDofVsEta
private

Definition at line 136 of file MuonTrackAnalyzer.h.

◆ hHitsPerTrack

MonitorElement* MuonTrackAnalyzer::hHitsPerTrack
private

Definition at line 123 of file MuonTrackAnalyzer.h.

◆ hHitsPerTrackVsEta

MonitorElement* MuonTrackAnalyzer::hHitsPerTrackVsEta
private

Definition at line 135 of file MuonTrackAnalyzer.h.

◆ hNumberOfTracks

MonitorElement* MuonTrackAnalyzer::hNumberOfTracks
private

Definition at line 127 of file MuonTrackAnalyzer.h.

◆ hNumberOfTracksVsEta

MonitorElement* MuonTrackAnalyzer::hNumberOfTracksVsEta
private

Definition at line 128 of file MuonTrackAnalyzer.h.

◆ hPtRecVsPtGen

MonitorElement* MuonTrackAnalyzer::hPtRecVsPtGen
private

Definition at line 131 of file MuonTrackAnalyzer.h.

◆ hRecoSeedInner

HTrack* MuonTrackAnalyzer::hRecoSeedInner
private

Definition at line 143 of file MuonTrackAnalyzer.h.

◆ hRecoSeedPCA

HTrack* MuonTrackAnalyzer::hRecoSeedPCA
private

Definition at line 144 of file MuonTrackAnalyzer.h.

◆ hRecoTracksInner

HTrack* MuonTrackAnalyzer::hRecoTracksInner
private

Definition at line 146 of file MuonTrackAnalyzer.h.

◆ hRecoTracksOuter

HTrack* MuonTrackAnalyzer::hRecoTracksOuter
private

Definition at line 147 of file MuonTrackAnalyzer.h.

◆ hRecoTracksPCA

HTrack* MuonTrackAnalyzer::hRecoTracksPCA
private

Definition at line 145 of file MuonTrackAnalyzer.h.

◆ hSimTracks

HTrackVariables* MuonTrackAnalyzer::hSimTracks
private

Definition at line 141 of file MuonTrackAnalyzer.h.

◆ numberOfRecTracks

int MuonTrackAnalyzer::numberOfRecTracks
private

Definition at line 151 of file MuonTrackAnalyzer.h.

◆ numberOfSimTracks

int MuonTrackAnalyzer::numberOfSimTracks
private

Definition at line 150 of file MuonTrackAnalyzer.h.

◆ out

std::string MuonTrackAnalyzer::out
private

Definition at line 92 of file MuonTrackAnalyzer.h.

◆ pset

edm::ParameterSet MuonTrackAnalyzer::pset
private

Definition at line 94 of file MuonTrackAnalyzer.h.

◆ subsystemname_

std::string MuonTrackAnalyzer::subsystemname_
private

Definition at line 93 of file MuonTrackAnalyzer.h.

◆ theCSCSimHitLabel

edm::InputTag MuonTrackAnalyzer::theCSCSimHitLabel
private

Definition at line 102 of file MuonTrackAnalyzer.h.

◆ theCSCSimHitToken

edm::EDGetTokenT<std::vector<PSimHit> > MuonTrackAnalyzer::theCSCSimHitToken
private

Definition at line 109 of file MuonTrackAnalyzer.h.

◆ theDTSimHitLabel

edm::InputTag MuonTrackAnalyzer::theDTSimHitLabel
private

Definition at line 103 of file MuonTrackAnalyzer.h.

◆ theDTSimHitToken

edm::EDGetTokenT<std::vector<PSimHit> > MuonTrackAnalyzer::theDTSimHitToken
private

Definition at line 110 of file MuonTrackAnalyzer.h.

◆ theEtaRange

EtaRange MuonTrackAnalyzer::theEtaRange
private

Definition at line 97 of file MuonTrackAnalyzer.h.

◆ theRPCSimHitLabel

edm::InputTag MuonTrackAnalyzer::theRPCSimHitLabel
private

Definition at line 104 of file MuonTrackAnalyzer.h.

◆ theRPCSimHitToken

edm::EDGetTokenT<std::vector<PSimHit> > MuonTrackAnalyzer::theRPCSimHitToken
private

Definition at line 111 of file MuonTrackAnalyzer.h.

◆ theSeedPropagatorName

std::string MuonTrackAnalyzer::theSeedPropagatorName
private

Definition at line 115 of file MuonTrackAnalyzer.h.

◆ theSeedsLabel

edm::InputTag MuonTrackAnalyzer::theSeedsLabel
private

Definition at line 100 of file MuonTrackAnalyzer.h.

◆ theSeedsToken

edm::EDGetTokenT<TrajectorySeedCollection> MuonTrackAnalyzer::theSeedsToken
private

Definition at line 107 of file MuonTrackAnalyzer.h.

◆ theService

MuonServiceProxy* MuonTrackAnalyzer::theService
private

Definition at line 117 of file MuonTrackAnalyzer.h.

◆ theSimTracksLabel

edm::InputTag MuonTrackAnalyzer::theSimTracksLabel
private

Definition at line 99 of file MuonTrackAnalyzer.h.

◆ theSimTracksToken

edm::EDGetTokenT<edm::SimTrackContainer> MuonTrackAnalyzer::theSimTracksToken
private

Definition at line 106 of file MuonTrackAnalyzer.h.

◆ theTracksLabel

edm::InputTag MuonTrackAnalyzer::theTracksLabel
private

Definition at line 101 of file MuonTrackAnalyzer.h.

◆ theTracksToken

edm::EDGetTokenT<reco::TrackCollection> MuonTrackAnalyzer::theTracksToken
private

Definition at line 108 of file MuonTrackAnalyzer.h.

◆ theUpdator

MuonUpdatorAtVertex* MuonTrackAnalyzer::theUpdator
private

Definition at line 118 of file MuonTrackAnalyzer.h.

Vector3DBase
Definition: Vector3DBase.h:8
MuonTrackAnalyzer::hNumberOfTracksVsEta
MonitorElement * hNumberOfTracksVsEta
Definition: MuonTrackAnalyzer.h:128
FreeTrajectoryState::momentum
GlobalVector momentum() const
Definition: FreeTrajectoryState.h:68
PDWG_EXOHSCP_cff.tracks
tracks
Definition: PDWG_EXOHSCP_cff.py:28
MuonTrackAnalyzer::hRecoTracksPCA
HTrack * hRecoTracksPCA
Definition: MuonTrackAnalyzer.h:145
MuonTrackAnalyzer::theSeedsToken
edm::EDGetTokenT< TrajectorySeedCollection > theSeedsToken
Definition: MuonTrackAnalyzer.h:107
HTrackVariables
Definition: Histograms.h:23
MuonTrackAnalyzer::hRecoTracksOuter
HTrack * hRecoTracksOuter
Definition: MuonTrackAnalyzer.h:147
GeomDet
Definition: GeomDet.h:27
DetLayer
Definition: DetLayer.h:21
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
MuonTrackAnalyzer::dirName_
std::string dirName_
Definition: MuonTrackAnalyzer.h:90
ChiSquaredProbability
float ChiSquaredProbability(double chiSquared, double nrDOF)
Definition: ChiSquaredProbability.cc:13
MuonTrackAnalyzer::hDeltaPtVsEta
MonitorElement * hDeltaPtVsEta
Definition: MuonTrackAnalyzer.h:138
MuonTrackAnalyzer::hChi2ProbVsEta
MonitorElement * hChi2ProbVsEta
Definition: MuonTrackAnalyzer.h:137
MuonTrackAnalyzer::hChi2Norm
MonitorElement * hChi2Norm
Definition: MuonTrackAnalyzer.h:122
MuonTrackAnalyzer::theSeedPropagatorName
std::string theSeedPropagatorName
Definition: MuonTrackAnalyzer.h:115
MuonTrackAnalyzer::checkMuonSimHitPresence
bool checkMuonSimHitPresence(const edm::Event &event, edm::Handle< edm::SimTrackContainer > simTracks)
Definition: MuonTrackAnalyzer.cc:394
MuonUpdatorAtVertex::propagateToNominalLine
std::pair< bool, FreeTrajectoryState > propagateToNominalLine(const TrajectoryStateOnSurface &tsos) const
Propagate the state to the 2D-PCA (nominal CMS axis)
Definition: MuonUpdatorAtVertex.cc:141
TrajectoryStateOnSurface::charge
TrackCharge charge() const
Definition: TrajectoryStateOnSurface.h:68
MuonTrackAnalyzer::numberOfSimTracks
int numberOfSimTracks
Definition: MuonTrackAnalyzer.h:150
timingPdfMaker.histo
histo
Definition: timingPdfMaker.py:279
oppositeToMomentum
Definition: PropagationDirection.h:4
TrackCandidateProducer_cfi.simTracks
simTracks
Definition: TrackCandidateProducer_cfi.py:15
MuonTrackAnalyzer::hRecoTracksInner
HTrack * hRecoTracksInner
Definition: MuonTrackAnalyzer.h:146
MuonTrackAnalyzer::getSeedTSOS
TrajectoryStateOnSurface getSeedTSOS(const TrajectorySeed &seed)
Definition: MuonTrackAnalyzer.cc:441
MuonTrackAnalyzer::theCSCSimHitToken
edm::EDGetTokenT< std::vector< PSimHit > > theCSCSimHitToken
Definition: MuonTrackAnalyzer.h:109
MuonTrackAnalyzer::theDTSimHitToken
edm::EDGetTokenT< std::vector< PSimHit > > theDTSimHitToken
Definition: MuonTrackAnalyzer.h:110
MuonTrackAnalyzer::theCSCSimHitLabel
edm::InputTag theCSCSimHitLabel
Definition: MuonTrackAnalyzer.h:102
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
MuonTrackAnalyzer::seedsAnalysis
void seedsAnalysis(const edm::Event &event, const edm::EventSetup &eventSetup, edm::Handle< edm::SimTrackContainer > simTracks)
Definition: MuonTrackAnalyzer.cc:187
MuonTrackAnalyzer::doTracksAnalysis
bool doTracksAnalysis
Definition: MuonTrackAnalyzer.h:113
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
MuonTrackAnalyzer::getSimTrack
std::pair< SimTrack, double > getSimTrack(TrajectoryStateOnSurface &tsos, edm::Handle< edm::SimTrackContainer > simTracks)
Definition: MuonTrackAnalyzer.cc:339
edm::Handle
Definition: AssociativeIterator.h:50
MuonTrackAnalyzer::hPtRecVsPtGen
MonitorElement * hPtRecVsPtGen
Definition: MuonTrackAnalyzer.h:131
MuonServiceProxy_cff.MuonServiceProxy
MuonServiceProxy
Definition: MuonServiceProxy_cff.py:15
MuonTrackAnalyzer::theSimTracksToken
edm::EDGetTokenT< edm::SimTrackContainer > theSimTracksToken
Definition: MuonTrackAnalyzer.h:106
HTrackVariables::Fill
void Fill(double p, double pt, double eta, double phi, double charge)
Definition: Histograms.h:72
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
DetId
Definition: DetId.h:17
cmsdt::algo
algo
Definition: constants.h:164
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
MuonTrackAnalyzer::theDTSimHitLabel
edm::InputTag theDTSimHitLabel
Definition: MuonTrackAnalyzer.h:103
MuonTrackAnalyzer::hChi2
MonitorElement * hChi2
Definition: MuonTrackAnalyzer.h:121
debug
#define debug
Definition: HDRShower.cc:19
MuonTrackAnalyzer::subsystemname_
std::string subsystemname_
Definition: MuonTrackAnalyzer.h:93
PTrajectoryStateOnDet::detId
unsigned int detId() const
Definition: PTrajectoryStateOnDet.h:65
TrajectoryStateOnSurface::freeState
FreeTrajectoryState const * freeState(bool withErrors=true) const
Definition: TrajectoryStateOnSurface.h:58
MuonPatternRecoDumper
Definition: MuonPatternRecoDumper.h:18
PVValHelper::eta
Definition: PVValidationHelpers.h:69
MuonTrackAnalyzer::all
Definition: MuonTrackAnalyzer.h:53
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
dqm::impl::MonitorElement::Fill
void Fill(long long x)
Definition: MonitorElement.h:290
MuonTrackAnalyzer::hRecoSeedInner
HTrack * hRecoSeedInner
Definition: MuonTrackAnalyzer.h:143
MuonTrackAnalyzer::hDofVsEta
MonitorElement * hDofVsEta
Definition: MuonTrackAnalyzer.h:136
MuonTrackAnalyzer::theSeedsLabel
edm::InputTag theSeedsLabel
Definition: MuonTrackAnalyzer.h:100
OrderedSet.t
t
Definition: OrderedSet.py:90
MuonTrackAnalyzer::hSimTracks
HTrackVariables * hSimTracks
Definition: MuonTrackAnalyzer.h:141
MuonTrackAnalyzer::hChargeVsEta
MonitorElement * hChargeVsEta
Definition: MuonTrackAnalyzer.h:129
MuonTrackAnalyzer::hRecoSeedPCA
HTrack * hRecoSeedPCA
Definition: MuonTrackAnalyzer.h:144
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
MuonTrackAnalyzer::theEtaRange
EtaRange theEtaRange
Definition: MuonTrackAnalyzer.h:97
math::XYZVectorD
ROOT::Math::DisplacementVector3D< ROOT::Math::Cartesian3D< double > > XYZVectorD
spatial vector with cartesian internal representation
Definition: Vector3D.h:8
MuonTrackAnalyzer::out
std::string out
Definition: MuonTrackAnalyzer.h:92
InitialStep_cff.seeds
seeds
Definition: InitialStep_cff.py:232
MuonTrackAnalyzer::theRPCSimHitToken
edm::EDGetTokenT< std::vector< PSimHit > > theRPCSimHitToken
Definition: MuonTrackAnalyzer.h:111
funct::true
true
Definition: Factorize.h:173
MuonTrackAnalyzer::isInTheAcceptance
bool isInTheAcceptance(double eta)
Definition: MuonTrackAnalyzer.cc:379
MuonTrackAnalyzer::theTracksToken
edm::EDGetTokenT< reco::TrackCollection > theTracksToken
Definition: MuonTrackAnalyzer.h:108
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
MuonTrackAnalyzer::hHitsPerTrackVsEta
MonitorElement * hHitsPerTrackVsEta
Definition: MuonTrackAnalyzer.h:135
edm::ParameterSet
Definition: ParameterSet.h:36
MuonTrackAnalyzer::pset
edm::ParameterSet pset
Definition: MuonTrackAnalyzer.h:94
sim
Definition: GeometryProducer.h:20
muonSimHitMatcherPSet.simTrack
simTrack
Definition: muonSimHitMatcherPSet.py:4
MuonTrackAnalyzer::endcap
Definition: MuonTrackAnalyzer.h:53
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
edm::Service
Definition: Service.h:30
trajectoryStateTransform::transientState
TrajectoryStateOnSurface transientState(const PTrajectoryStateOnDet &ts, const Surface *surface, const MagneticField *field)
Definition: TrajectoryStateTransform.cc:35
MuonUpdatorAtVertex_cff.MuonUpdatorAtVertex
MuonUpdatorAtVertex
Definition: MuonUpdatorAtVertex_cff.py:3
MuonTrackAnalyzer::hHitsPerTrack
MonitorElement * hHitsPerTrack
Definition: MuonTrackAnalyzer.h:123
MuonTrackAnalyzer::theUpdator
MuonUpdatorAtVertex * theUpdator
Definition: MuonTrackAnalyzer.h:118
MuonTrackAnalyzer::hNumberOfTracks
MonitorElement * hNumberOfTracks
Definition: MuonTrackAnalyzer.h:127
MuonTrackAnalyzer::doSeedsAnalysis
bool doSeedsAnalysis
Definition: MuonTrackAnalyzer.h:114
MuonTrackAnalyzer::hChargeVsPt
MonitorElement * hChargeVsPt
Definition: MuonTrackAnalyzer.h:130
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
TrajectoryStateOnSurface::globalMomentum
GlobalVector globalMomentum() const
Definition: TrajectoryStateOnSurface.h:66
MuonTrackAnalyzer::theSimTracksLabel
edm::InputTag theSimTracksLabel
Definition: MuonTrackAnalyzer.h:99
MuonTrackAnalyzer::theRPCSimHitLabel
edm::InputTag theRPCSimHitLabel
Definition: MuonTrackAnalyzer.h:104
reco::TransientTrack
Definition: TransientTrack.h:19
MuonTrackAnalyzer::hChi2Prob
MonitorElement * hChi2Prob
Definition: MuonTrackAnalyzer.h:125
HTrack
Definition: HTrack.h:12
SimTrack
Definition: SimTrack.h:6
dt_dqm_sourceclient_common_cff.reco
reco
Definition: dt_dqm_sourceclient_common_cff.py:110
PropagationDirection
PropagationDirection
Definition: PropagationDirection.h:4
MuonTrackAnalyzer::numberOfRecTracks
int numberOfRecTracks
Definition: MuonTrackAnalyzer.h:151
MuonTrackAnalyzer::hChi2NormVsEta
MonitorElement * hChi2NormVsEta
Definition: MuonTrackAnalyzer.h:134
GeometricSearchDet::surface
virtual const BoundSurface & surface() const =0
The surface of the GeometricSearchDet.
TrackerOfflineValidation_Dqm_cff.dirName
dirName
Definition: TrackerOfflineValidation_Dqm_cff.py:55
MuonTrackAnalyzer::dbe_
DQMStore * dbe_
Definition: MuonTrackAnalyzer.h:89
HLT_2018_cff.track
track
Definition: HLT_2018_cff.py:10352
MuonTrackAnalyzer::EtaRange
EtaRange
Definition: MuonTrackAnalyzer.h:53
mps_fire.result
result
Definition: mps_fire.py:303
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:671
PTrajectoryStateOnDet
Definition: PTrajectoryStateOnDet.h:10
event
Definition: event.py:1
MuonTrackAnalyzer::hDeltaPt_In_Out_VsEta
MonitorElement * hDeltaPt_In_Out_VsEta
Definition: MuonTrackAnalyzer.h:139
MuonTrackAnalyzer::barrel
Definition: MuonTrackAnalyzer.h:53
MuonTrackAnalyzer::theTracksLabel
edm::InputTag theTracksLabel
Definition: MuonTrackAnalyzer.h:101
MuonTrackAnalyzer::tracksAnalysis
void tracksAnalysis(const edm::Event &event, const edm::EventSetup &eventSetup, edm::Handle< edm::SimTrackContainer > simTracks)
Definition: MuonTrackAnalyzer.cc:211
PV3DBase::perp
T perp() const
Definition: PV3DBase.h:69
MuonTrackAnalyzer::hChi2VsEta
MonitorElement * hChi2VsEta
Definition: MuonTrackAnalyzer.h:133
edm::InputTag
Definition: InputTag.h:15
MuonTrackAnalyzer::theService
MuonServiceProxy * theService
Definition: MuonTrackAnalyzer.h:117
TrajectoryStateOnSurface::isValid
bool isValid() const
Definition: TrajectoryStateOnSurface.h:54
SurveyInfoScenario_cff.seed
seed
Definition: SurveyInfoScenario_cff.py:295
python.rootplot.root2matplotlib.replace
def replace(string, replacements)
Definition: root2matplotlib.py:444
MuonTrackAnalyzer::fillPlots
void fillPlots(const edm::Event &event, edm::Handle< edm::SimTrackContainer > &simTracks)
Definition: MuonTrackAnalyzer.cc:263
MuonTrackAnalyzer::hDof
MonitorElement * hDof
Definition: MuonTrackAnalyzer.h:124