CMS 3D CMS Logo

MuonSeedCleaner.h
Go to the documentation of this file.
1 #ifndef RecoMuon_MuonSeedCleaner_H
2 #define RecoMuon_MuonSeedCleaner_H
3 
16 
17 //muon service
19 
20 #include <vector>
21 
22 class DetLayer;
25 
26 typedef std::vector<TrajectorySeed> SeedContainer;
27 
29 public:
31  typedef std::deque<bool> BoolContainer;
32 
35 
38 
39  // Operations
40 
42  //void setGeometry( const MuonDetLayerGeometry* lgeom ) {muonLayers = lgeom;}
43 
45  //void setBField( const MagneticField* theField ) {BField = theField;}
46 
48  std::vector<TrajectorySeed> seedCleaner(const edm::EventSetup& eventSetup, std::vector<TrajectorySeed>& seeds);
49 
50  int NRecHitsFromSegment(const TrackingRecHit& rhit);
52  //int NRecHitsFromSegment( const MuonTransientTrackingRecHit& rhit );
53 
54  std::vector<int> badSeedLayer;
55 
56 private:
58  std::vector<SeedContainer> GroupSeeds(std::vector<TrajectorySeed>& seeds);
59 
61  TrajectorySeed Chi2LengthSelection(std::vector<TrajectorySeed>& seeds);
63  TrajectorySeed LeanHighMomentum(std::vector<TrajectorySeed>& seeds);
65  TrajectorySeed BiggerCone(std::vector<TrajectorySeed>& seeds);
67  TrajectorySeed MoreRecHits(std::vector<TrajectorySeed>& seeds);
68 
70  bool MomentumFilter(std::vector<TrajectorySeed>& seeds);
72  SeedContainer SeedCandidates(std::vector<TrajectorySeed>& seeds, bool good);
74  unsigned int OverlapSegments(const TrajectorySeed& seed1, const TrajectorySeed& seed2);
75 
77  double NChi2OfSegment(const TrackingRecHit& rhit);
78 
79  double SeedChi2(const TrajectorySeed& seed);
80  int SeedLength(const TrajectorySeed& seed);
81 
86 
87  // obsoleted functions
90  SeedContainer LengthFilter(std::vector<TrajectorySeed>& seeds);
91 
92  // This Producer private debug flag
93  bool debug;
94 
95  // Number of Segments from a shower
97  std::vector<int> ShoweringLayers;
98 
99  // muon service
101 
102  // Minimum separation when we can distinguish between 2 muon seeds
103  // (to suppress combinatorics)
104 };
105 #endif
Vector3DBase
Definition: Vector3DBase.h:8
MuonSeedCleaner::~MuonSeedCleaner
~MuonSeedCleaner()
Destructor.
Definition: MuonSeedCleaner.cc:61
good
const auto good
min quality of good
Definition: CAHitNtupletGeneratorKernelsImpl.h:760
DetLayer
Definition: DetLayer.h:21
MuonSeedCleaner::MoreRecHits
TrajectorySeed MoreRecHits(std::vector< TrajectorySeed > &seeds)
select the seed with more rechits
Definition: MuonSeedCleaner.cc:212
MuonTransientTrackingRecHit::MuonRecHitContainer
std::vector< MuonRecHitPointer > MuonRecHitContainer
Definition: MuonTransientTrackingRecHit.h:26
MuonTransientTrackingRecHit
Definition: MuonTransientTrackingRecHit.h:19
MuonSeedCleaner::SeedChi2
double SeedChi2(const TrajectorySeed &seed)
Definition: MuonSeedCleaner.cc:403
MuonSeedCleaner::ShoweringLayers
std::vector< int > ShoweringLayers
Definition: MuonSeedCleaner.h:97
fileCollector.seed
seed
Definition: fileCollector.py:127
MuonDetLayerGeometry
Definition: MuonDetLayerGeometry.h:21
MuonSeedCleaner::SeedPosition
GlobalPoint SeedPosition(const TrajectorySeed &seed)
retrieve seed global position
Definition: MuonSeedCleaner.cc:426
MuonSeedCleaner::SeedLength
int SeedLength(const TrajectorySeed &seed)
Definition: MuonSeedCleaner.cc:415
MuonSeedCleaner::NChi2OfSegment
double NChi2OfSegment(const TrackingRecHit &rhit)
retrieve number of rechits& normalized chi2 of associated segments of a seed
Definition: MuonSeedCleaner.cc:491
MuonSeedCleaner::BoolContainer
std::deque< bool > BoolContainer
Definition: MuonSeedCleaner.h:31
MuonSeedCleaner::MomentumFilter
bool MomentumFilter(std::vector< TrajectorySeed > &seeds)
filter out the bad pt seeds, if all are bad pt seeds then keep all
Definition: MuonSeedCleaner.cc:262
MuonSeedCleaner::MuonSeedCleaner
MuonSeedCleaner(const edm::ParameterSet &, edm::ConsumesCollector &&)
Constructor.
Definition: MuonSeedCleaner.cc:49
MuonSeedCleaner::debug
bool debug
Definition: MuonSeedCleaner.h:93
SeedContainer
std::vector< TrajectorySeed > SeedContainer
Definition: MuonSeedBuilder.h:26
MuonSeedCleaner::NRecHitsFromSegment
int NRecHitsFromSegment(const TrackingRecHit &rhit)
Definition: MuonSeedCleaner.cc:448
MuonSeedCleaner::SegmentContainer
MuonTransientTrackingRecHit::MuonRecHitContainer SegmentContainer
Definition: MuonSeedCleaner.h:30
SeedContainer
std::vector< TrajectorySeed > SeedContainer
Definition: MuonSeedCleaner.h:24
Point3DBase< float, GlobalTag >
MuonSeedCleaner::LengthFilter
SeedContainer LengthFilter(std::vector< TrajectorySeed > &seeds)
Definition: MuonSeedCleaner.cc:242
MuonSeedCleaner::OverlapSegments
unsigned int OverlapSegments(const TrajectorySeed &seed1, const TrajectorySeed &seed2)
check overlapping segment for seeds
Definition: MuonSeedCleaner.cc:376
MuonSeedCleaner::BiggerCone
TrajectorySeed BiggerCone(std::vector< TrajectorySeed > &seeds)
select the seed with bigger projection cone to next layer
Definition: MuonSeedCleaner.cc:161
edm::ParameterSet
Definition: ParameterSet.h:47
MuonSeedCleaner::theService
MuonServiceProxy * theService
Definition: MuonSeedCleaner.h:100
FrameworkfwdMostUsed.h
MuonSeedCleaner::LeanHighMomentum
TrajectorySeed LeanHighMomentum(std::vector< TrajectorySeed > &seeds)
select the highest momentum pt seed
Definition: MuonSeedCleaner.cc:193
MuonSeedCleaner
Definition: MuonSeedCleaner.h:28
MuonSeedCleaner::SeedCandidates
SeedContainer SeedCandidates(std::vector< TrajectorySeed > &seeds, bool good)
pick the seeds w/ 1st layer information and w/ more than 1 segments
Definition: MuonSeedCleaner.cc:282
MuonSeedCleaner::GroupSeeds
std::vector< SeedContainer > GroupSeeds(std::vector< TrajectorySeed > &seeds)
group the seeds
Definition: MuonSeedCleaner.cc:325
edm::EventSetup
Definition: EventSetup.h:58
MuonSeedCleaner::SeedMomentum
GlobalVector SeedMomentum(const TrajectorySeed &seed)
retrieve seed global momentum
Definition: MuonSeedCleaner.cc:437
TrajectorySeedCollection.h
TrackingRecHit
Definition: TrackingRecHit.h:21
MuonSeedCleaner::ShoweringSegments
SegmentContainer ShoweringSegments
Definition: MuonSeedCleaner.h:96
DetachedQuadStep_cff.seeds
seeds
Definition: DetachedQuadStep_cff.py:195
MuonSeedCleaner::badSeedLayer
std::vector< int > badSeedLayer
Definition: MuonSeedCleaner.h:54
MuonDetLayerMeasurements.h
MuonSeedCleaner::seedCleaner
std::vector< TrajectorySeed > seedCleaner(const edm::EventSetup &eventSetup, std::vector< TrajectorySeed > &seeds)
Cache pointer to geometry.
Definition: MuonSeedCleaner.cc:71
MuonServiceProxy.h
TrajectorySeed
Definition: TrajectorySeed.h:18
ParameterSet.h
MuonServiceProxy
Definition: MuonServiceProxy.h:38
MagneticField
Definition: MagneticField.h:19
MuonSeedCleaner::Chi2LengthSelection
TrajectorySeed Chi2LengthSelection(std::vector< TrajectorySeed > &seeds)
select seed by balance length and chi2
Definition: MuonSeedCleaner.cc:123
edm::ConsumesCollector
Definition: ConsumesCollector.h:45