src
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
21
#include "
FWCore/Framework/interface/Event.h
"
22
23
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
24
25
#include "
RecoMuon/TrackingTools/interface/MuonServiceProxy.h
"
26
27
#include "
DataFormats/Common/interface/Ref.h
"
28
29
#include "
Geometry/Records/interface/GlobalTrackingGeometryRecord.h
"
30
#include "
Geometry/CommonDetUnit/interface/GlobalTrackingGeometry.h
"
31
32
#include "
DataFormats/MuonReco/interface/Muon.h
"
33
#include "
DataFormats/MuonReco/interface/MuonFwd.h
"
34
#include "
RecoMuon/TrackingTools/interface/MuonSegmentMatcher.h
"
35
#include "
RecoMuon/MuonIdentification/interface/TimeMeasurementSequence.h
"
36
37
#include "
DataFormats/TrackReco/interface/Track.h
"
38
#include "
DataFormats/TrackReco/interface/TrackFwd.h
"
39
#include "
DataFormats/TrackReco/interface/TrackExtra.h
"
40
#include "
DataFormats/TrackReco/interface/TrackExtraFwd.h
"
41
42
#include <vector>
43
44
namespace
edm
{
45
class
ParameterSet
;
46
class
EventSetup
;
47
class
InputTag
;
48
}
// namespace edm
49
50
class
MuonServiceProxy
;
51
class
DTGeometry
;
52
class
MuonGeometryRecord
;
53
class
Propagator
;
54
class
TrackingComponentsRecord
;
55
56
class
DTTimingExtractor
{
57
public
:
59
DTTimingExtractor
(
const
edm::ParameterSet
&,
MuonSegmentMatcher
* segMatcher,
edm::ConsumesCollector
&);
60
62
~DTTimingExtractor
();
63
64
class
TimeMeasurement
{
65
public
:
66
bool
isLeft
;
67
bool
isPhi
;
68
float
posInLayer
;
69
float
distIP
;
70
float
timeCorr
;
71
int
station
;
72
DetId
driftCell
;
73
};
74
75
void
fillTiming
(
TimeMeasurementSequence
& tmSequence,
76
const
std::vector<const DTRecSegment4D*>& segments,
77
reco::TrackRef
muonTrack,
78
const
edm::Event
&
iEvent
,
79
const
edm::EventSetup
& iSetup);
80
81
void
fillTiming
(
TimeMeasurementSequence
& tmSequence,
82
reco::TrackRef
muonTrack,
83
const
edm::Event
&
iEvent
,
84
const
edm::EventSetup
& iSetup);
85
86
private
:
87
double
fitT0
(
double
&
a
,
88
double
&
b
,
89
const
std::vector<double>& xl,
90
const
std::vector<double>& yl,
91
const
std::vector<double>&
xr
,
92
const
std::vector<double>& yr);
93
94
edm::InputTag
DTSegmentTags_
;
95
unsigned
int
theHitsMin_
;
96
double
thePruneCut_
;
97
double
theTimeOffset_
;
98
double
theError_
;
99
bool
useSegmentT0_
;
100
bool
doWireCorr_
;
101
bool
dropTheta_
;
102
bool
requireBothProjections_
;
103
bool
debug
;
104
105
std::unique_ptr<MuonServiceProxy>
theService
;
106
MuonSegmentMatcher
*
theMatcher
;
107
edm::ESGetToken<DTGeometry, MuonGeometryRecord>
theDTGeomToken
;
108
edm::ESGetToken<Propagator, TrackingComponentsRecord>
thePropagatorToken
;
109
};
110
111
#endif
DTTimingExtractor::thePruneCut_
double thePruneCut_
Definition:
DTTimingExtractor.h:96
ProducerED_cfi.InputTag
InputTag
Definition:
ProducerED_cfi.py:5
DTTimingExtractor::theTimeOffset_
double theTimeOffset_
Definition:
DTTimingExtractor.h:97
DTTimingExtractor::TimeMeasurement::distIP
float distIP
Definition:
DTTimingExtractor.h:69
DTTimingExtractor::TimeMeasurement::station
int station
Definition:
DTTimingExtractor.h:71
GlobalTrackingGeometryRecord.h
ParameterSet
Definition:
Functions.h:16
edm::Ref< TrackCollection >
MuonServiceProxy.h
Event.h
DTTimingExtractor::doWireCorr_
bool doWireCorr_
Definition:
DTTimingExtractor.h:100
TrackingComponentsRecord
Definition:
TrackingComponentsRecord.h:12
DTGeometry
Definition:
DTGeometry.h:28
DTTimingExtractor::TimeMeasurement::posInLayer
float posInLayer
Definition:
DTTimingExtractor.h:68
TrackFwd.h
DTTimingExtractor::DTTimingExtractor
DTTimingExtractor(const edm::ParameterSet &, MuonSegmentMatcher *segMatcher, edm::ConsumesCollector &)
Constructor.
Definition:
DTTimingExtractor.cc:72
MuonSegmentMatcher.h
DTTimingExtractor::theError_
double theError_
Definition:
DTTimingExtractor.h:98
Frameworkfwd.h
MuonFwd.h
MuonGeometryRecord
Definition:
MuonGeometryRecord.h:34
ParameterSet.h
edm::ESGetToken< DTGeometry, MuonGeometryRecord >
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
EventSetup
iEvent
int iEvent
Definition:
GenABIO.cc:224
DTTimingExtractor::TimeMeasurement::isLeft
bool isLeft
Definition:
DTTimingExtractor.h:66
MuonServiceProxy
Definition:
MuonServiceProxy.h:38
DTTimingExtractor::DTSegmentTags_
edm::InputTag DTSegmentTags_
Definition:
DTTimingExtractor.h:94
edm::EventSetup
Definition:
EventSetup.h:56
Propagator
Definition:
Propagator.h:44
DTTimingExtractor::dropTheta_
bool dropTheta_
Definition:
DTTimingExtractor.h:101
Muon.h
DTTimingExtractor::~DTTimingExtractor
~DTTimingExtractor()
Destructor.
Definition:
DTTimingExtractor.cc:91
TrackExtraFwd.h
DTTimingExtractor::theService
std::unique_ptr< MuonServiceProxy > theService
Definition:
DTTimingExtractor.h:105
DTTimingExtractor::theHitsMin_
unsigned int theHitsMin_
Definition:
DTTimingExtractor.h:95
DetId
Definition:
DetId.h:17
TimeMeasurementSequence
Definition:
TimeMeasurementSequence.h:15
TimeMeasurementSequence.h
DTTimingExtractor::TimeMeasurement::timeCorr
float timeCorr
Definition:
DTTimingExtractor.h:70
Ref.h
b
double b
Definition:
hdecay.h:120
DTTimingExtractor::requireBothProjections_
bool requireBothProjections_
Definition:
DTTimingExtractor.h:102
DTTimingExtractor::theMatcher
MuonSegmentMatcher * theMatcher
Definition:
DTTimingExtractor.h:106
MuonSegmentMatcher
Definition:
MuonSegmentMatcher.h:29
edm
HLT enums.
Definition:
AlignableModifier.h:19
edm::InputTag
Definition:
InputTag.h:15
a
double a
Definition:
hdecay.h:121
DTTimingExtractor::TimeMeasurement::driftCell
DetId driftCell
Definition:
DTTimingExtractor.h:72
Track.h
edm::ParameterSet
Definition:
ParameterSet.h:47
mkfit::Config::xr
constexpr float xr
Definition:
ConfigStandalone.h:87
TrackExtra.h
edm::Event
Definition:
Event.h:73
DTTimingExtractor::useSegmentT0_
bool useSegmentT0_
Definition:
DTTimingExtractor.h:99
DTTimingExtractor::TimeMeasurement
Definition:
DTTimingExtractor.h:64
DTTimingExtractor::theDTGeomToken
edm::ESGetToken< DTGeometry, MuonGeometryRecord > theDTGeomToken
Definition:
DTTimingExtractor.h:107
GlobalTrackingGeometry.h
DTTimingExtractor
Definition:
DTTimingExtractor.h:56
DTTimingExtractor::TimeMeasurement::isPhi
bool isPhi
Definition:
DTTimingExtractor.h:67
DTTimingExtractor::debug
bool debug
Definition:
DTTimingExtractor.h:103
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:391
edm::ConsumesCollector
Definition:
ConsumesCollector.h:45
DTTimingExtractor::thePropagatorToken
edm::ESGetToken< Propagator, TrackingComponentsRecord > thePropagatorToken
Definition:
DTTimingExtractor.h:108
Generated for CMSSW Reference Manual by
1.8.14