CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TrackAssociatorByHits.h
Go to the documentation of this file.
1 #ifndef TrackAssociatorByHits_h
2 #define TrackAssociatorByHits_h
3 
11 
12 //reco track
16 //TrackingParticle
20 
22 
23  public:
24 
26 
27  explicit TrackAssociatorByHits( const edm::ParameterSet& );
29 
30  /* Associate SimTracks to RecoTracks By Hits */
31 
33  virtual
36  const edm::Event * event ,
37  const edm::EventSetup * setup ) const override;
39  virtual
42  const edm::Event * event ,
43  const edm::EventSetup * setup ) const override;
44 
46  virtual
49  const edm::Event * event ,
50  const edm::EventSetup * setup ) const override {
51  return TrackAssociatorBase::associateRecoToSim(tCH,tPCH,event,setup);
52  }
53 
55  virtual
58  const edm::Event * event ,
59  const edm::EventSetup * setup ) const override {
60  return TrackAssociatorBase::associateSimToReco(tCH,tPCH,event,setup);
61  }
62 
63  //seed
64  virtual
67  const edm::Event * event ,
68  const edm::EventSetup * setup ) const override;
69 
70  virtual
73  const edm::Event * event ,
74  const edm::EventSetup * setup ) const override;
75  template<typename iter>
76  void getMatchedIds(std::vector<SimHitIdpr>&,
77  std::vector<SimHitIdpr>&,
78  int&,
79  iter,
80  iter,
81  TrackerHitAssociator*) const;
82 
83  int getShared(std::vector<SimHitIdpr>&,
84  std::vector<SimHitIdpr>&,
85  TrackingParticleCollection::const_iterator) const;
86 
87  template<typename iter>
88  int getDoubleCount(iter,iter,TrackerHitAssociator*,TrackingParticleCollection::const_iterator) const;
89 
90  private:
91  // ----- member data
95  const double quality_SimToReco;
96  const double purity_SimToReco;
97  const double cut_RecoToSim;
98  const bool UsePixels;
99  const bool UseGrouped;
100  const bool UseSplitting;
102 
104  const TrackingRecHit* getHitPtr(trackingRecHit_iterator iter) const {return &**iter;}
105 
107 };
108 
109 #endif
TrackAssociatorByHits(const edm::ParameterSet &)
virtual reco::SimToRecoCollection associateSimToReco(const edm::RefToBaseVector< reco::Track > &, const edm::RefVector< TrackingParticleCollection > &, const edm::Event *event, const edm::EventSetup *setup) const override
Association Sim To Reco with Collections.
void getMatchedIds(std::vector< SimHitIdpr > &, std::vector< SimHitIdpr > &, int &, iter, iter, TrackerHitAssociator *) const
int getShared(std::vector< SimHitIdpr > &, std::vector< SimHitIdpr > &, TrackingParticleCollection::const_iterator) const
const TrackingRecHit * getHitPtr(edm::OwnVector< TrackingRecHit >::const_iterator iter) const
virtual reco::SimToRecoCollection associateSimToReco(edm::Handle< edm::View< reco::Track > > &tCH, edm::Handle< TrackingParticleCollection > &tPCH, const edm::Event *event, const edm::EventSetup *setup) const override
compare reco to sim the handle of reco::Track and TrackingParticle collections
virtual reco::RecoToSimCollection associateRecoToSim(edm::Handle< edm::View< reco::Track > > &tCH, edm::Handle< TrackingParticleCollection > &tPCH, const edm::Event *event, const edm::EventSetup *setup) const override
compare reco to sim the handle of reco::Track and TrackingParticle collections
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
virtual reco::RecoToSimCollection associateRecoToSim(edm::Handle< edm::View< reco::Track > > &tCH, edm::Handle< TrackingParticleCollection > &tPCH, const edm::Event *event, const edm::EventSetup *setup) const
compare reco to sim the handle of reco::Track and TrackingParticle collections
const TrackingRecHit * getHitPtr(trackingRecHit_iterator iter) const
virtual reco::SimToRecoCollection associateSimToReco(edm::Handle< edm::View< reco::Track > > &tCH, edm::Handle< TrackingParticleCollection > &tPCH, const edm::Event *event, const edm::EventSetup *setup) const
compare reco to sim the handle of reco::Track and TrackingParticle collections
virtual reco::RecoToSimCollection associateRecoToSim(const edm::RefToBaseVector< reco::Track > &, const edm::RefVector< TrackingParticleCollection > &, const edm::Event *event, const edm::EventSetup *setup) const override
Association Reco To Sim with Collections.
const edm::ParameterSet & conf_
int getDoubleCount(iter, iter, TrackerHitAssociator *, TrackingParticleCollection::const_iterator) const
SimToRecoDenomType SimToRecoDenominator
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")