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 >
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::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
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

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_FULL_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(), cscDigiValidation_cfi::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, cscDigiValidation_cfi::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, cscDigiValidation_cfi::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, cscDigiValidation_cfi::simTrack, and HLT_FULL_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, cscDigiValidation_cfi::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, fileCollector::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(), TrackValidation_cff::e5, TrajectoryStateOnSurface::globalMomentum(), LogTrace, mps_fire::result, cscDigiValidation_cfi::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, fileCollector::seed, DetachedQuadStep_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(), cscDigiValidation_cfi::simTrack, TrackCandidateProducer_cfi::simTracks, mathSSE::sqrt(), submitPVValidationJobs::t, HLT_FULL_cff::track, and 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
cscDigiValidation_cfi.simTrack
simTrack
Definition: cscDigiValidation_cfi.py:29
MuonTrackAnalyzer::hRecoTracksPCA
HTrack * hRecoTracksPCA
Definition: MuonTrackAnalyzer.h:145
MuonTrackAnalyzer::theSeedsToken
edm::EDGetTokenT< TrajectorySeedCollection > theSeedsToken
Definition: MuonTrackAnalyzer.h:107
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11724
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
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89301
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
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
TrajectoryStateOnSurface::charge
TrackCharge charge() const
Definition: TrajectoryStateOnSurface.h:68
MuonTrackAnalyzer::numberOfSimTracks
int numberOfSimTracks
Definition: MuonTrackAnalyzer.h:150
TrackValidation_cff.e5
e5
Definition: TrackValidation_cff.py:654
timingPdfMaker.histo
histo
Definition: timingPdfMaker.py:278
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:46
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:14
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
fileCollector.seed
seed
Definition: fileCollector.py:127
DetId
Definition: DetId.h:17
cmsdt::algo
algo
Definition: constants.h:171
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:70
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
dqm::implementation::NavigatorBase::cd
virtual void cd()
Definition: DQMStore.cc:29
MuonTrackAnalyzer::hDofVsEta
MonitorElement * hDofVsEta
Definition: MuonTrackAnalyzer.h:136
MuonTrackAnalyzer::theSeedsLabel
edm::InputTag theSeedsLabel
Definition: MuonTrackAnalyzer.h:100
MuonTrackAnalyzer::hSimTracks
HTrackVariables * hSimTracks
Definition: MuonTrackAnalyzer.h:141
MuonTrackAnalyzer::hChargeVsEta
MonitorElement * hChargeVsEta
Definition: MuonTrackAnalyzer.h:129
MuonTrackAnalyzer::hRecoSeedPCA
HTrack * hRecoSeedPCA
Definition: MuonTrackAnalyzer.h:144
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
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
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:233
MuonTrackAnalyzer::hHitsPerTrackVsEta
MonitorElement * hHitsPerTrackVsEta
Definition: MuonTrackAnalyzer.h:135
edm::ParameterSet
Definition: ParameterSet.h:47
MuonTrackAnalyzer::pset
edm::ParameterSet pset
Definition: MuonTrackAnalyzer.h:94
tracks
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
Definition: CAHitNtupletGeneratorKernelsImpl.h:176
sim
Definition: GeometryProducer.h:20
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
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
MuonTrackAnalyzer::hChargeVsPt
MonitorElement * hChargeVsPt
Definition: MuonTrackAnalyzer.h:130
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
DetachedQuadStep_cff.seeds
seeds
Definition: DetachedQuadStep_cff.py:195
reco::TransientTrack
Definition: TransientTrack.h:19
MuonTrackAnalyzer::hChi2Prob
MonitorElement * hChi2Prob
Definition: MuonTrackAnalyzer.h:125
HTrack
Definition: HTrack.h:12
SimTrack
Definition: SimTrack.h:9
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
dt_dqm_sourceclient_common_cff.reco
reco
Definition: dt_dqm_sourceclient_common_cff.py:111
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
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
MuonTrackAnalyzer::EtaRange
EtaRange
Definition: MuonTrackAnalyzer.h:53
mps_fire.result
result
Definition: mps_fire.py:311
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:234
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
submitPVValidationJobs.t
string t
Definition: submitPVValidationJobs.py:644
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
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
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