CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PythiaFilterIsolatedTrack.h
Go to the documentation of this file.
1 #ifndef PythiaFilterIsolatedTrack_h
2 #define PythiaFilterIsolatedTrack_h
3 
17 // system include files
18 #include <memory>
19 
20 // user include files
23 
26 
28 
31 
32 namespace edm {
33  class HepMCProduct;
34 }
35 
37  public:
40 
41  virtual bool filter(edm::Event&, const edm::EventSetup&);
42 
43 
44  // helper functions
45  static std::pair<double,double> GetEtaPhiAtEcal(double etaIP, double phiIP, double pT, int charge, double vtxZ);
46  static double getDistInCM(double eta1, double phi1, double eta2, double phi2);
47 
48  private:
49 
50  // parameters
51  edm::EDGetTokenT<edm::HepMCProduct> token_; // token to get the generated particles
52  double MaxSeedEta_; // maximum eta of the isolated track seed
53  double MinSeedMom_; // minimum momentum of the isolated track seed
54  double MinIsolTrackMom_; // minimum prohibited momentum of a nearby track
55  double IsolCone_; // cone size (in mm) around the seed to consider a track "nearby"
56  double PixelEfficiency_; // efficiency to reconstruct a pixel track (used to throw out nearby tracks, randomly)
57 
58  // to get a random number
60 };
61 #endif
virtual bool filter(edm::Event &, const edm::EventSetup &)
edm::EDGetTokenT< edm::HepMCProduct > token_
static double getDistInCM(double eta1, double phi1, double eta2, double phi2)
PythiaFilterIsolatedTrack(const edm::ParameterSet &)
edm::Service< edm::RandomNumberGenerator > rng_
static std::pair< double, double > GetEtaPhiAtEcal(double etaIP, double phiIP, double pT, int charge, double vtxZ)