RecoMuon
MuonIdentification
interface
DTTimingExtractor.h
Go to the documentation of this file.
1
#ifndef MuonIdentification_DTTimingExtractor_H
2
#define MuonIdentification_DTTimingExtractor_H
3
9
//
10
// Original Author: Traczyk Piotr
11
// Created: Thu Oct 11 15:01:28 CEST 2007
12
//
13
//
14
15
// system include files
16
#include <memory>
17
18
// user include files
19
#include "
FWCore/Framework/interface/Frameworkfwd.h
"
20
#include "
FWCore/Framework/interface/EDProducer.h
"
21
22
#include "
FWCore/Framework/interface/Event.h
"
23
#include "
FWCore/Framework/interface/MakerMacros.h
"
24
25
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
26
27
#include "
RecoMuon/TrackingTools/interface/MuonServiceProxy.h
"
28
29
#include "
DataFormats/Common/interface/Ref.h
"
30
31
#include "
Geometry/Records/interface/GlobalTrackingGeometryRecord.h
"
32
#include "
Geometry/CommonDetUnit/interface/GlobalTrackingGeometry.h
"
33
34
#include "
DataFormats/MuonReco/interface/Muon.h
"
35
#include "
DataFormats/MuonReco/interface/MuonFwd.h
"
36
#include "
RecoMuon/TrackingTools/interface/MuonSegmentMatcher.h
"
37
#include "
RecoMuon/MuonIdentification/interface/TimeMeasurementSequence.h
"
38
39
#include "
DataFormats/TrackReco/interface/Track.h
"
40
#include "
DataFormats/TrackReco/interface/TrackFwd.h
"
41
#include "
DataFormats/TrackReco/interface/TrackExtra.h
"
42
#include "
DataFormats/TrackReco/interface/TrackExtraFwd.h
"
43
44
#include <vector>
45
46
namespace
edm
{
47
class
ParameterSet
;
48
class
EventSetup
;
49
class
InputTag
;
50
}
// namespace edm
51
52
class
MuonServiceProxy
;
53
54
class
DTTimingExtractor
{
55
public
:
57
DTTimingExtractor
(
const
edm::ParameterSet
&,
MuonSegmentMatcher
* segMatcher,
edm::ConsumesCollector
&);
58
60
~DTTimingExtractor
();
61
62
class
TimeMeasurement
{
63
public
:
64
bool
isLeft
;
65
bool
isPhi
;
66
float
posInLayer
;
67
float
distIP
;
68
float
timeCorr
;
69
int
station
;
70
DetId
driftCell
;
71
};
72
73
void
fillTiming
(
TimeMeasurementSequence
& tmSequence,
74
const
std::vector<const DTRecSegment4D*>& segments,
75
reco::TrackRef
muonTrack,
76
const
edm::Event
&
iEvent
,
77
const
edm::EventSetup
& iSetup);
78
79
void
fillTiming
(
TimeMeasurementSequence
& tmSequence,
80
reco::TrackRef
muonTrack,
81
const
edm::Event
&
iEvent
,
82
const
edm::EventSetup
& iSetup);
83
84
private
:
85
double
fitT0
(
double
&
a
,
86
double
&
b
,
87
const
std::vector<double>& xl,
88
const
std::vector<double>& yl,
89
const
std::vector<double>& xr,
90
const
std::vector<double>& yr);
91
92
edm::InputTag
DTSegmentTags_
;
93
unsigned
int
theHitsMin_
;
94
double
thePruneCut_
;
95
double
theTimeOffset_
;
96
double
theError_
;
97
bool
useSegmentT0_
;
98
bool
doWireCorr_
;
99
bool
dropTheta_
;
100
bool
requireBothProjections_
;
101
bool
debug
;
102
103
std::unique_ptr<MuonServiceProxy>
theService
;
104
MuonSegmentMatcher
*
theMatcher
;
105
};
106
107
#endif
TrackExtra.h
DTTimingExtractor::doWireCorr_
bool doWireCorr_
Definition:
DTTimingExtractor.h:98
Muon.h
TrackExtraFwd.h
DTTimingExtractor::TimeMeasurement::driftCell
DetId driftCell
Definition:
DTTimingExtractor.h:70
EDProducer.h
edm
HLT enums.
Definition:
AlignableModifier.h:19
DTTimingExtractor::TimeMeasurement::station
int station
Definition:
DTTimingExtractor.h:69
DTTimingExtractor::DTTimingExtractor
DTTimingExtractor(const edm::ParameterSet &, MuonSegmentMatcher *segMatcher, edm::ConsumesCollector &)
Constructor.
Definition:
DTTimingExtractor.cc:74
edm::Ref< TrackCollection >
MuonSegmentMatcher.h
DetId
Definition:
DetId.h:17
DTTimingExtractor::theError_
double theError_
Definition:
DTTimingExtractor.h:96
DTTimingExtractor::TimeMeasurement::posInLayer
float posInLayer
Definition:
DTTimingExtractor.h:66
MakerMacros.h
Track.h
DTTimingExtractor::TimeMeasurement::isLeft
bool isLeft
Definition:
DTTimingExtractor.h:64
TrackFwd.h
MuonFwd.h
DTTimingExtractor
Definition:
DTTimingExtractor.h:54
DTTimingExtractor::fillTiming
void fillTiming(TimeMeasurementSequence &tmSequence, const std::vector< const DTRecSegment4D * > &segments, reco::TrackRef muonTrack, const edm::Event &iEvent, const edm::EventSetup &iSetup)
Definition:
DTTimingExtractor.cc:96
DTTimingExtractor::DTSegmentTags_
edm::InputTag DTSegmentTags_
Definition:
DTTimingExtractor.h:92
b
double b
Definition:
hdecay.h:118
DTTimingExtractor::theHitsMin_
unsigned int theHitsMin_
Definition:
DTTimingExtractor.h:93
GlobalTrackingGeometryRecord.h
DTTimingExtractor::~DTTimingExtractor
~DTTimingExtractor()
Destructor.
Definition:
DTTimingExtractor.cc:91
HLT_2018_cff.InputTag
InputTag
Definition:
HLT_2018_cff.py:79016
edm::ParameterSet
Definition:
ParameterSet.h:36
a
double a
Definition:
hdecay.h:119
DTTimingExtractor::theService
std::unique_ptr< MuonServiceProxy > theService
Definition:
DTTimingExtractor.h:103
Event.h
ParameterSet
Definition:
Functions.h:16
iEvent
int iEvent
Definition:
GenABIO.cc:224
edm::EventSetup
Definition:
EventSetup.h:57
DTTimingExtractor::TimeMeasurement
Definition:
DTTimingExtractor.h:62
DTTimingExtractor::dropTheta_
bool dropTheta_
Definition:
DTTimingExtractor.h:99
DTTimingExtractor::TimeMeasurement::distIP
float distIP
Definition:
DTTimingExtractor.h:67
Ref.h
Frameworkfwd.h
MuonServiceProxy.h
DTTimingExtractor::debug
bool debug
Definition:
DTTimingExtractor.h:101
TimeMeasurementSequence.h
DTTimingExtractor::useSegmentT0_
bool useSegmentT0_
Definition:
DTTimingExtractor.h:97
DTTimingExtractor::thePruneCut_
double thePruneCut_
Definition:
DTTimingExtractor.h:94
DTTimingExtractor::requireBothProjections_
bool requireBothProjections_
Definition:
DTTimingExtractor.h:100
EventSetup
DTTimingExtractor::theMatcher
MuonSegmentMatcher * theMatcher
Definition:
DTTimingExtractor.h:104
ParameterSet.h
DTTimingExtractor::TimeMeasurement::isPhi
bool isPhi
Definition:
DTTimingExtractor.h:65
MuonServiceProxy
Definition:
MuonServiceProxy.h:38
DTTimingExtractor::theTimeOffset_
double theTimeOffset_
Definition:
DTTimingExtractor.h:95
GlobalTrackingGeometry.h
edm::Event
Definition:
Event.h:73
DTTimingExtractor::fitT0
double fitT0(double &a, double &b, const std::vector< double > &xl, const std::vector< double > &yl, const std::vector< double > &xr, const std::vector< double > &yr)
Definition:
DTTimingExtractor.cc:394
MuonSegmentMatcher
Definition:
MuonSegmentMatcher.h:29
edm::InputTag
Definition:
InputTag.h:15
edm::ConsumesCollector
Definition:
ConsumesCollector.h:39
TimeMeasurementSequence
Definition:
TimeMeasurementSequence.h:15
DTTimingExtractor::TimeMeasurement::timeCorr
float timeCorr
Definition:
DTTimingExtractor.h:68
Generated for CMSSW Reference Manual by
1.8.16