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

# User Rev Content
1 bendavid 1.1 //--------------------------------------------------------------------------------------------------
2 loizides 1.4 // $Id: HitDropper.h,v 1.3 2008/10/16 18:39:09 bendavid Exp $
3 bendavid 1.1 //
4     // HitDropper
5     //
6 loizides 1.4 // Utility to remove (or rather flag) hits from a track which are inconsistant with a vertex fit.
7 bendavid 1.1 //
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 bendavid 1.2 #include "RecoTracker/TkDetLayers/interface/GeometricSearchTracker.h"
19     #include "Geometry/CommonDetUnit/interface/GeomDet.h"
20 bendavid 1.1 #include "MitEdm/DataFormats/interface/Types.h"
21    
22     namespace mitedm
23     {
24     class HitDropper
25     {
26     public:
27 bendavid 1.2 HitDropper(const TrackerGeometry *geo, const TransientTrackBuilder *builder,
28 loizides 1.4 const GeometricSearchTracker *search) :
29     trackerGeo_(geo),
30     builder_(builder),
31     trackerGeoSearch_(search) {}
32 bendavid 1.1 ~HitDropper() {}
33    
34 loizides 1.4 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 bendavid 1.1
47     protected:
48 loizides 1.4 const TrackerGeometry *trackerGeo_; //tracker geometry
49     const TransientTrackBuilder *builder_; //track builder
50     const GeometricSearchTracker *trackerGeoSearch_; //geometrical track searcher
51 bendavid 1.1 };
52     }
53 bendavid 1.2
54     //-------------------------------------------------------------------------------------------------
55     inline Bool_t mitedm::HitDropper::IsBarrel(const GeomDet *det) const
56     {
57 loizides 1.4 // Check if detector element is in a barrel layer.
58    
59 bendavid 1.2 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 loizides 1.4 // Check if detector element is in a barrel layer.
73    
74 bendavid 1.2 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 bendavid 1.1 #endif