ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitEdm/Producers/interface/HitDropper.h
Revision: 1.10
Committed: Tue Jun 8 20:17:29 2010 UTC (14 years, 11 months ago) by bendavid
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_032, Mit_031, Mit_025c_branch2, Mit_025c_branch1, Mit_030, Mit_029c, Mit_029b, Mit_030_pre1, Mit_029a, Mit_029, Mit_029_pre1, Mit_028a, Mit_025c_branch0, Mit_028, Mit_027a, Mit_027, Mit_026, Mit_025e, Mit_025d, Mit_025c, Mit_025b, Mit_025a, Mit_025, Mit_025pre2, Mit_024b, Mit_025pre1, Mit_024a, Mit_024, Mit_023, Mit_022a, Mit_022, Mit_020d, TMit_020d, Mit_020c, Mit_021, Mit_021pre2, Mit_021pre1, Mit_020b, Mit_020a, Mit_020, Mit_020pre1, Mit_018, Mit_017, Mit_017pre3, Mit_017pre2, Mit_017pre1, V07-05-00, Mit_016, Mit_015b, Mit_015a, Mit_015, Mit_014e, Mit_014d, Mit_014c, Mit_014b, ConvRejection-10-06-09, HEAD
Branch point for: Mit_025c_branch
Changes since 1.9: +2 -2 lines
Log Message:
Add simple tool to do conversion selection and matching

File Contents

# User Rev Content
1 bendavid 1.1 //--------------------------------------------------------------------------------------------------
2 bendavid 1.10 // $Id: HitDropper.h,v 1.9 2009/12/15 23:27:34 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 loizides 1.6 HitDropper(const TrackerGeometry *geo, const TransientTrackBuilder *builder,
28     const GeometricSearchTracker *search) :
29     trackerGeo_(geo),
30     builder_(builder),
31     trackerGeoSearch_(search) {}
32 bendavid 1.1
33 loizides 1.4 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 bendavid 1.10 std::pair<reco::HitPattern,uint> CorrectedHitsAOD(const reco::Track *track,
44 bendavid 1.5 const ThreeVector &vtxPos,
45     const ThreeVector &trkMom,
46     Double_t lxyError,
47     Double_t lzError,
48 bendavid 1.7 Double_t sigmaTolerance=1.5) const;
49 bendavid 1.9 reco::HitPattern SharedHits(const reco::Track *t1, const reco::Track *t2) const;
50 loizides 1.6 bool IsBarrel(const GeomDet *det) const;
51     bool IsDisk(const GeomDet *det) const;
52 bendavid 1.1
53     protected:
54 bendavid 1.7 const DetLayer *FindLayer(int subdet, int layer, int side) const;
55     DetId StereoDetId(const DetId &i) const;
56 loizides 1.8
57 loizides 1.6 const TrackerGeometry *trackerGeo_; //tracker geometry
58     const TransientTrackBuilder *builder_; //track builder
59     const GeometricSearchTracker *trackerGeoSearch_; //geometrical track searcher
60 bendavid 1.1 };
61     }
62 bendavid 1.2
63     //-------------------------------------------------------------------------------------------------
64 loizides 1.6 inline bool mitedm::HitDropper::IsBarrel(const GeomDet *det) const
65 bendavid 1.2 {
66 loizides 1.4 // Check if detector element is in a barrel layer.
67    
68 bendavid 1.2 GeomDetEnumerators::SubDetector subDet = det->subDetector();
69    
70     if (subDet==GeomDetEnumerators::PixelBarrel || subDet==GeomDetEnumerators::TIB
71     || subDet==GeomDetEnumerators::TOB || subDet==GeomDetEnumerators::DT
72     || subDet==GeomDetEnumerators::RPCBarrel)
73     return true;
74     else
75     return false;
76     }
77    
78     //-------------------------------------------------------------------------------------------------
79 loizides 1.6 inline bool mitedm::HitDropper::IsDisk(const GeomDet *det) const
80 bendavid 1.2 {
81 loizides 1.4 // Check if detector element is in a barrel layer.
82    
83 bendavid 1.2 GeomDetEnumerators::SubDetector subDet = det->subDetector();
84    
85     if (subDet==GeomDetEnumerators::PixelEndcap || subDet==GeomDetEnumerators::TID
86     || subDet==GeomDetEnumerators::TEC || subDet==GeomDetEnumerators::CSC
87     || subDet==GeomDetEnumerators::RPCEndcap)
88     return true;
89     else
90     return false;
91     }
92 bendavid 1.1 #endif