Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HLTFiltCand_h
0002 #define HLTFiltCand_h
0003 
0004 /** \class HLTFiltCand
0005  *
0006  *
0007  *  This class is an HLTFilter (-> EDFilter) implementing a very basic
0008  *  HLT trigger acting on candidates, requiring a g/e/m/j tuple above
0009  *  pt cuts
0010  *
0011  *
0012  *  \author Martin Grunewald
0013  *
0014  */
0015 
0016 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0017 #include "DataFormats/RecoCandidate/interface/RecoEcalCandidate.h"
0018 #include "DataFormats/RecoCandidate/interface/RecoEcalCandidateFwd.h"
0019 #include "DataFormats/EgammaCandidates/interface/Electron.h"
0020 #include "DataFormats/EgammaCandidates/interface/ElectronFwd.h"
0021 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidate.h"
0022 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h"
0023 #include "DataFormats/JetReco/interface/CaloJet.h"
0024 #include "DataFormats/JetReco/interface/CaloJetCollection.h"
0025 #include "DataFormats/Candidate/interface/CompositeCandidate.h"
0026 #include "DataFormats/Candidate/interface/CompositeCandidateFwd.h"
0027 #include "DataFormats/METReco/interface/CaloMET.h"
0028 #include "DataFormats/METReco/interface/CaloMETFwd.h"
0029 #include "DataFormats/METReco/interface/MET.h"
0030 #include "DataFormats/METReco/interface/METFwd.h"
0031 
0032 //
0033 // class declaration
0034 //
0035 
0036 class HLTFiltCand : public HLTFilter {
0037 public:
0038   explicit HLTFiltCand(const edm::ParameterSet&);
0039   ~HLTFiltCand() override;
0040   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0041   bool hltFilter(edm::Event&,
0042                  const edm::EventSetup&,
0043                  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0044 
0045 private:
0046   edm::InputTag photTag_;  // input tag identifying product containing photons
0047   edm::InputTag elecTag_;  // input tag identifying product containing electrons
0048   edm::InputTag muonTag_;  // input tag identifying product containing muons
0049   edm::InputTag tausTag_;  // input tag identifying product containing taus
0050   edm::InputTag jetsTag_;  // input tag identifying product containing jets
0051   edm::InputTag metsTag_;  // input tag identifying product containing METs
0052   edm::InputTag mhtsTag_;  // input tag identifying product containing HTs
0053   edm::InputTag trckTag_;  // input tag identifying product containing Tracks
0054   edm::InputTag ecalTag_;  // input tag identifying product containing SuperClusters
0055 
0056   edm::EDGetTokenT<reco::RecoEcalCandidateCollection> photToken_;     // token identifying product containing photons
0057   edm::EDGetTokenT<reco::ElectronCollection> elecToken_;              // token identifying product containing electrons
0058   edm::EDGetTokenT<reco::RecoChargedCandidateCollection> muonToken_;  // token identifying product containing muons
0059   edm::EDGetTokenT<reco::CaloJetCollection> tausToken_;               // token identifying product containing taus
0060   edm::EDGetTokenT<reco::CaloJetCollection> jetsToken_;               // token identifying product containing jets
0061   edm::EDGetTokenT<reco::CaloMETCollection> metsToken_;               // token identifying product containing METs
0062   edm::EDGetTokenT<reco::METCollection> mhtsToken_;                   // token identifying product containing HTs
0063   edm::EDGetTokenT<reco::RecoChargedCandidateCollection> trckToken_;  // token identifying product containing Tracks
0064   edm::EDGetTokenT<reco::RecoEcalCandidateCollection> ecalToken_;  // token identifying product containing SuperClusters
0065 
0066   double min_Pt_;  // min pt cut
0067 };
0068 
0069 #endif  //HLTFiltCand_h