Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:18:21

0001 #ifndef HLTElectronPixelMatchFilter_h
0002 #define HLTElectronPixelMatchFilter_h
0003 
0004 /** \class HLTElectronPixelMatchFilter
0005  *
0006  *  \author Aidan Randle-Condle (ULB)
0007  *
0008  */
0009 
0010 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0011 #include "DataFormats/EgammaReco/interface/ElectronSeed.h"
0012 #include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h"
0013 #include "DataFormats/EgammaReco/interface/SuperClusterFwd.h"
0014 namespace edm {
0015   class ConfigurationDescriptions;
0016 }
0017 
0018 class HLTElectronPixelMatchFilter : public HLTFilter {
0019 public:
0020   explicit HLTElectronPixelMatchFilter(const edm::ParameterSet&);
0021   ~HLTElectronPixelMatchFilter() override;
0022   bool hltFilter(edm::Event&,
0023                  const edm::EventSetup&,
0024                  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0025   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0026 
0027 private:
0028   float calDPhi1Sq(reco::ElectronSeedCollection::const_iterator seed, int charge) const;
0029   float calDPhi2Sq(reco::ElectronSeedCollection::const_iterator seed, int charge) const;
0030   float calDZ2Sq(reco::ElectronSeedCollection::const_iterator seed, int charge) const;
0031   int getNrOfMatches(edm::Handle<reco::ElectronSeedCollection>& eleSeeds, reco::SuperClusterRef& candSCRef) const;
0032 
0033   edm::InputTag candTag_;  // input tag identifying product contains filtered egammas
0034   edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> candToken_;
0035 
0036   edm::InputTag l1PixelSeedsTag_;  // input tag for the pixel seed - supercluster map
0037   edm::EDGetTokenT<reco::ElectronSeedCollection> l1PixelSeedsToken_;
0038 
0039   double npixelmatchcut_;  // number of pixelmatch hits
0040   int ncandcut_;           // number of electrons required
0041 
0042   edm::InputTag l1EGTag_;
0043 
0044   // cuts on s2
0045   float s2BarrelThres_;
0046   float s2InterThres_;
0047   float s2ForwardThres_;
0048 
0049   //parameters to create s (divide by param)
0050   float sPhi1B_;
0051   float sPhi1I_;
0052   float sPhi1F_;
0053   float sPhi2B_;
0054   float sPhi2I_;
0055   float sPhi2F_;
0056   float sZ2B_;
0057   float sR2I_;
0058   float sR2F_;
0059 
0060   bool isPixelVeto_;
0061   bool useS_;
0062 };
0063 
0064 #endif  //HLTElectronPixelMatchFilter_h