ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitEdm/Producers/interface/HitDropper.h
Revision: 1.4
Committed: Fri Mar 20 18:01:48 2009 UTC (16 years, 1 month ago) by loizides
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_009c, Mit_009b, Mit_009a, Mit_009, Mit_008
Changes since 1.3: +25 -29 lines
Log Message:
Cleanup

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id: HitDropper.h,v 1.3 2008/10/16 18:39:09 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 ~HitDropper() {}
33
34 reco::HitPattern CorrectedHits(const reco::TransientTrack *tTrack,
35 const ThreeVector &vtxPos) const;
36 reco::HitPattern CorrectedHits(const reco::Track *track,
37 const ThreeVector &vtxPos) const;
38 reco::HitPattern CorrectedHits(const reco::Track *track,
39 const ThreeVector &vtxPos,
40 const ThreeVector &trkMom,
41 Double_t lxyError,
42 Double_t lzError,
43 Double_t sigmaTolerance=3.0) const;
44 Bool_t IsBarrel(const GeomDet *det) const;
45 Bool_t IsDisk(const GeomDet *det) const;
46
47 protected:
48 const TrackerGeometry *trackerGeo_; //tracker geometry
49 const TransientTrackBuilder *builder_; //track builder
50 const GeometricSearchTracker *trackerGeoSearch_; //geometrical track searcher
51 };
52 }
53
54 //-------------------------------------------------------------------------------------------------
55 inline Bool_t mitedm::HitDropper::IsBarrel(const GeomDet *det) const
56 {
57 // Check if detector element is in a barrel layer.
58
59 GeomDetEnumerators::SubDetector subDet = det->subDetector();
60
61 if (subDet==GeomDetEnumerators::PixelBarrel || subDet==GeomDetEnumerators::TIB
62 || subDet==GeomDetEnumerators::TOB || subDet==GeomDetEnumerators::DT
63 || subDet==GeomDetEnumerators::RPCBarrel)
64 return true;
65 else
66 return false;
67 }
68
69 //-------------------------------------------------------------------------------------------------
70 inline Bool_t mitedm::HitDropper::IsDisk(const GeomDet *det) const
71 {
72 // Check if detector element is in a barrel layer.
73
74 GeomDetEnumerators::SubDetector subDet = det->subDetector();
75
76 if (subDet==GeomDetEnumerators::PixelEndcap || subDet==GeomDetEnumerators::TID
77 || subDet==GeomDetEnumerators::TEC || subDet==GeomDetEnumerators::CSC
78 || subDet==GeomDetEnumerators::RPCEndcap)
79 return true;
80 else
81 return false;
82 }
83 #endif