Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
RecoTracker
DebugTools
interface
FixTrackHitPattern.h
Go to the documentation of this file.
1
#ifndef RecoTracker_DebugTools_FixTrackHitPattern_H
2
#define RecoTracker_DebugTools_FixTrackHitPattern_H
3
4
/*
5
* Recalculate the track HitPattern's, which one would usually get instead by calling
6
* Track::trackerExpectedHitsInner() and Track::trackerExpectedHitsOuter().
7
*
8
* Those functions inside the Track class only define a hit to be missing if the extrapolated
9
* track trajectory ALMOST CERTAINLY went through a functioning sensor in a given layer where no hit
10
* was found.
11
* This FixTrackHitPattern class does the same thing, except that it defines the hit to be missing if
12
* the extrapolated track trajectory MIGHT have gone through a functioning sensor in a given layer.
13
*
14
* If the uncertainty on the track trajectory is very small, the results should be very similar.
15
* (Although those returned by class FixTrackHitPattern will be less accurate, since it extrapolates
16
* the track trajectory from its point of closest approach to the beam spot, whereas the functions inside
17
* the Track class extrapolate it from from its point of closest approach to the inner/outermost valid
18
* hit on the track).
19
*
20
* However, if the uncertainty on the trajectory is large, then the functions inside the Track class
21
* will often return nothing, as because of this large uncertainty, they can't be certain if the
22
* track crosses a sensor in a given layer. In constrast, this class will continue to return useful
23
* information.
24
*
25
* For example, tracks with hits only in TOB/TEC can have a very large extrapolation uncertainty
26
* in towards the beam-spot. In consequence, the functions in the Track class will often indicate
27
* that they do not have missing hits in the Pixel or TIB/TID sensors, even though they actually do.
28
*
29
* It is recommended to compare the output of this class with that of the functions in the Track class.
30
* Which is best will depend on your analysis.
31
*
32
* See the hypernews thread https://hypernews.cern.ch/HyperNews/CMS/get/recoTracking/1123.html for details.
33
*
34
* To use: Just call function analyze(...) with your chosen track.
35
*
36
* N.B. Your _cfg.py must load RecoTracker.Configuration.RecoTracker_cff to use this.
37
*
38
* Author: Ian Tomalin
39
* Date: Oct. 2011
40
*/
41
42
#include <memory>
43
#include "
FWCore/Framework/interface/Frameworkfwd.h
"
44
#include "
FWCore/Framework/interface/Event.h
"
45
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
46
#include "
FWCore/Framework/interface/ESHandle.h
"
47
48
#include "
FWCore/Framework/interface/EventSetup.h
"
49
#include "
DataFormats/TrackReco/interface/Track.h
"
50
#include "
TrackingTools/TransientTrack/interface/TransientTrackBuilder.h
"
51
52
class
FixTrackHitPattern
{
53
54
public
:
55
56
struct
Result
{
57
reco::HitPattern
innerHitPattern
;
// Info on missing hits inside innermost valid hit.
58
reco::HitPattern
outerHitPattern
;
// Info on missing hits outside outermost valid hit.
59
};
60
61
FixTrackHitPattern
() {}
62
63
~FixTrackHitPattern
() {}
64
65
// Return the recalculated inner and outer HitPatterns on the track.
66
Result
analyze
(
const
edm::EventSetup
& iSetup,
const
reco::Track
& track);
67
68
private
:
69
// Create map indicating r/z values of all layers/disks.
70
void
init
(
const
edm::EventSetup
& iSetup);
71
72
private
:
73
// Makes TransientTracks needed for vertex fitting.
74
edm::ESHandle<TransientTrackBuilder>
trkTool_
;
75
};
76
77
#endif
TransientTrackBuilder.h
FixTrackHitPattern::~FixTrackHitPattern
~FixTrackHitPattern()
Definition:
FixTrackHitPattern.h:63
Event.h
reco::HitPattern
Definition:
HitPattern.h:145
EventSetup.h
FixTrackHitPattern::trkTool_
edm::ESHandle< TransientTrackBuilder > trkTool_
Definition:
FixTrackHitPattern.h:74
Frameworkfwd.h
ParameterSet.h
FixTrackHitPattern::analyze
Result analyze(const edm::EventSetup &iSetup, const reco::Track &track)
Definition:
FixTrackHitPattern.cc:28
edm::ESHandle< TransientTrackBuilder >
FixTrackHitPattern::Result::outerHitPattern
reco::HitPattern outerHitPattern
Definition:
FixTrackHitPattern.h:58
ESHandle.h
FixTrackHitPattern::Result
Definition:
FixTrackHitPattern.h:56
edm::EventSetup
Definition:
EventSetup.h:45
FixTrackHitPattern::init
void init(const edm::EventSetup &iSetup)
FixTrackHitPattern
Definition:
FixTrackHitPattern.h:52
FixTrackHitPattern::Result::innerHitPattern
reco::HitPattern innerHitPattern
Definition:
FixTrackHitPattern.h:57
reco::Track
Definition:
Track.h:28
FixTrackHitPattern::FixTrackHitPattern
FixTrackHitPattern()
Definition:
FixTrackHitPattern.h:61
Track.h
Generated for CMSSW Reference Manual by
1.8.5