|
||||
File indexing completed on 2024-04-06 12:13:25
0001 #ifndef PYTHIAHEPMCFILTERGAMMAGAMMA_h 0002 #define PYTHIAHEPMCFILTERGAMMAGAMMA_h 0003 0004 // 0005 // Package: GeneratorInterface/GenFilters 0006 // Class: PythiaHepMCFilterGammaGamma 0007 // 0008 // Original Author: Matteo Sani 0009 // 0010 // 0011 0012 #include "FWCore/Framework/interface/Frameworkfwd.h" 0013 #include "GeneratorInterface/Core/interface/BaseHepMCFilter.h" 0014 0015 #include "FWCore/Framework/interface/Event.h" 0016 #include "FWCore/Framework/interface/MakerMacros.h" 0017 #include "FWCore/ParameterSet/interface/ParameterSet.h" 0018 0019 namespace edm { 0020 class HepMCProduct; 0021 } 0022 0023 class PythiaHepMCFilterGammaGamma : public BaseHepMCFilter { 0024 public: 0025 explicit PythiaHepMCFilterGammaGamma(const edm::ParameterSet&); 0026 ~PythiaHepMCFilterGammaGamma() override; 0027 0028 /** @return true if this GenEvent passes the double EM enrichment 0029 criterion */ 0030 bool filter(const HepMC::GenEvent* myGenEvent) override; 0031 0032 private: 0033 const edm::EDGetTokenT<edm::HepMCProduct> token_; 0034 0035 //---------- 0036 // filter parameters 0037 //---------- 0038 0039 /** minimum pt and maximum absolute eta for electron and photon seeds */ 0040 const double ptSeedThr, etaSeedThr; 0041 0042 /** minimum pt and maximum absolute eta for photons to be added 0043 to seeds to form candidates (see also ptElThr, etaElThr) */ 0044 const double ptGammaThr, etaGammaThr; 0045 0046 /** minimum pt and maximum absolute eta for charged (stable) particles 0047 to be counted in the isolation cone */ 0048 const double ptTkThr, etaTkThr; 0049 0050 /** minimum pt and maximum absolute eta for electrons to be added 0051 to seeds to form candidates (see also ptGammaThr, etaGammaThr) */ 0052 const double ptElThr, etaElThr; 0053 0054 /** delta R of cone around candidates in which charged tracks are counted */ 0055 const double dRTkMax; 0056 0057 /** delta R of cone around seeds in which other electrons/photons are 0058 added to seeds to form candidates */ 0059 const double dRSeedMax; 0060 0061 /** maximum difference in phi and eta for which other electrons/photons 0062 are added to seeds to form candidates. 0063 0064 Note that electrons/photons are accepted if they are within the cone 0065 specified by dRSeedMax or if they are within the rectangular region 0066 specified by (dPhiSeedMax, dEtaSeedMax). */ 0067 const double dPhiSeedMax, dEtaSeedMax; 0068 0069 /** this parameter is effectively unused */ 0070 const double dRNarrowCone; 0071 0072 /** minimum pt for leading and subleading candidate */ 0073 const double pTMinCandidate1, pTMinCandidate2; 0074 0075 /** maximum absolute eta for candidates */ 0076 const double etaMaxCandidate; 0077 0078 /** invariant mass range for mass of a pair of candidates */ 0079 const double invMassMin, invMassMax; 0080 0081 /** minimum energy for both candidates */ 0082 const double energyCut; 0083 0084 /** maximum number of charged particles in the isolation cone 0085 around each candidate */ 0086 const int nTkConeMax; 0087 0088 /** maximum number of charged particles summed over both 0089 cones of a pair of candidates */ 0090 const int nTkConeSum; 0091 0092 /** if true, prompt seeds (electrons/photons with no mother 0093 or only ancestors of the same type) will be considered 0094 as having zero charged tracks in the isolation cone */ 0095 const bool acceptPrompts; 0096 0097 /** minimum pt for prompt seed particles to be considered (only 0098 effective if acceptPrompts is true) */ 0099 const double promptPtThreshold; 0100 }; 0101 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |