ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitEdm/Producers/interface/HitDropper.h
Revision: 1.8
Committed: Mon Oct 12 21:41:08 2009 UTC (15 years, 6 months ago) by loizides
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_012f, Mit_012e, Mit_012d, Mit_012c, Mit_012b, Mit_012a, Mit_012, Mit_011a
Changes since 1.7: +2 -2 lines
Log Message:
Coding conventions

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id: HitDropper.h,v 1.7 2009/10/04 12:49:25 bendavid Exp $
3 //
4 // HitDropper
5 //
6 // Utility to remove (or rather flag) hits from a track which are inconsistant with a vertex fit.
7 //
8 // Authors: J.Bendavid
9 //--------------------------------------------------------------------------------------------------
10
11 #ifndef MITEDM_PRODUCERS_HITDROPPER_H
12 #define MITEDM_PRODUCERS_HITDROPPER_H
13
14 #include "TrackingTools/TransientTrack/interface/TransientTrackBuilder.h"
15 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
16 #include "DataFormats/TrackReco/interface/Track.h"
17 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
18 #include "RecoTracker/TkDetLayers/interface/GeometricSearchTracker.h"
19 #include "Geometry/CommonDetUnit/interface/GeomDet.h"
20 #include "MitEdm/DataFormats/interface/Types.h"
21
22 namespace mitedm
23 {
24 class HitDropper
25 {
26 public:
27 HitDropper(const TrackerGeometry *geo, const TransientTrackBuilder *builder,
28 const GeometricSearchTracker *search) :
29 trackerGeo_(geo),
30 builder_(builder),
31 trackerGeoSearch_(search) {}
32
33 reco::HitPattern CorrectedHits(const reco::TransientTrack *tTrack,
34 const ThreeVector &vtxPos) const;
35 reco::HitPattern CorrectedHits(const reco::Track *track,
36 const ThreeVector &vtxPos) const;
37 reco::HitPattern CorrectedHits(const reco::Track *track,
38 const ThreeVector &vtxPos,
39 const ThreeVector &trkMom,
40 Double_t lxyError,
41 Double_t lzError,
42 Double_t sigmaTolerance=3.0) const;
43 reco::HitPattern CorrectedHitsAOD(const reco::Track *track,
44 const ThreeVector &vtxPos,
45 const ThreeVector &trkMom,
46 Double_t lxyError,
47 Double_t lzError,
48 Double_t sigmaTolerance=1.5) const;
49 bool IsBarrel(const GeomDet *det) const;
50 bool IsDisk(const GeomDet *det) const;
51
52 protected:
53 const DetLayer *FindLayer(int subdet, int layer, int side) const;
54 DetId StereoDetId(const DetId &i) const;
55
56 const TrackerGeometry *trackerGeo_; //tracker geometry
57 const TransientTrackBuilder *builder_; //track builder
58 const GeometricSearchTracker *trackerGeoSearch_; //geometrical track searcher
59 };
60 }
61
62 //-------------------------------------------------------------------------------------------------
63 inline bool mitedm::HitDropper::IsBarrel(const GeomDet *det) const
64 {
65 // Check if detector element is in a barrel layer.
66
67 GeomDetEnumerators::SubDetector subDet = det->subDetector();
68
69 if (subDet==GeomDetEnumerators::PixelBarrel || subDet==GeomDetEnumerators::TIB
70 || subDet==GeomDetEnumerators::TOB || subDet==GeomDetEnumerators::DT
71 || subDet==GeomDetEnumerators::RPCBarrel)
72 return true;
73 else
74 return false;
75 }
76
77 //-------------------------------------------------------------------------------------------------
78 inline bool mitedm::HitDropper::IsDisk(const GeomDet *det) const
79 {
80 // Check if detector element is in a barrel layer.
81
82 GeomDetEnumerators::SubDetector subDet = det->subDetector();
83
84 if (subDet==GeomDetEnumerators::PixelEndcap || subDet==GeomDetEnumerators::TID
85 || subDet==GeomDetEnumerators::TEC || subDet==GeomDetEnumerators::CSC
86 || subDet==GeomDetEnumerators::RPCEndcap)
87 return true;
88 else
89 return false;
90 }
91 #endif