Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
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
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
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
Frameworkfwd.h
MuonFwd.h
MuonGeometryRecord
Definition:
MuonGeometryRecord.h:34
ParameterSet.h
edm::ESGetToken< DTGeometry, MuonGeometryRecord >
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:59
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
TrackExtra.h
TimeMeasurementSequence
Definition:
TimeMeasurementSequence.h:15
TimeMeasurementSequence.h
DTTimingExtractor::TimeMeasurement::timeCorr
float timeCorr
Definition:
DTTimingExtractor.h:70
Ref.h
b
double b
Definition:
hdecay.h:118
DTTimingExtractor::requireBothProjections_
bool requireBothProjections_
Definition:
DTTimingExtractor.h:102
DTTimingExtractor::theMatcher
MuonSegmentMatcher * theMatcher
Definition:
DTTimingExtractor.h:106
MuonSegmentMatcher
Definition:
MuonSegmentMatcher.h:29
HLT_FULL_cff.InputTag
tuple InputTag
Definition:
HLT_FULL_cff.py:86956
edm::InputTag
Definition:
InputTag.h:15
a
double a
Definition:
hdecay.h:119
DTTimingExtractor::TimeMeasurement::driftCell
DetId driftCell
Definition:
DTTimingExtractor.h:72
Track.h
edm::ParameterSet
Definition:
ParameterSet.h:47
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.5