Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef HLTMuonDimuonL2FromL1TFilter_h
0002 #define HLTMuonDimuonL2FromL1TFilter_h
0003 
0004 /** \class HLTMuonDimuonL2FromL1TFilter
0005  *
0006  *
0007  *  This class is an HLTFilter (-> EDFilter) implementing a muon pair
0008  *  filter for HLT muons
0009  *
0010  *  \author J. Alcaraz
0011  *
0012  */
0013 
0014 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0015 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
0016 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h"
0017 #include "HLTMuonL2ToL1TMap.h"
0018 
0019 namespace edm {
0020   class ConfigurationDescriptions;
0021 }
0022 
0023 class HLTMuonDimuonL2FromL1TFilter : public HLTFilter {
0024 public:
0025   explicit HLTMuonDimuonL2FromL1TFilter(const edm::ParameterSet&);
0026   ~HLTMuonDimuonL2FromL1TFilter() override;
0027   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0028   bool hltFilter(edm::Event&,
0029                  const edm::EventSetup&,
0030                  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0031 
0032 private:
0033   edm::InputTag beamspotTag_;
0034   edm::EDGetTokenT<reco::BeamSpot> beamspotToken_;
0035   edm::InputTag candTag_;                                             // input tag identifying product contains muons
0036   edm::EDGetTokenT<reco::RecoChargedCandidateCollection> candToken_;  // token identifying product contains muons
0037   edm::InputTag previousCandTag_;  // input tag identifying product contains muons passing the previous level
0038   edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs>
0039       previousCandToken_;  // token identifying product contains muons passing the previous level
0040   /// input tag of the map from the L2 seed to the sister L2 seeds of cleaned tracks
0041   edm::InputTag seedMapTag_;
0042   edm::EDGetTokenT<SeedMap> seedMapToken_;
0043 
0044   bool fast_Accept_;      // flag to save time: stop processing after identification of the first valid pair
0045   double max_Eta_;        // Eta cut
0046   int min_Nhits_;         // threshold on number of hits on muon
0047   int min_Nstations_;     // threshold on number of valid stations for muon
0048   int min_Nchambers_;     // threshold on number of valid chambers for muon
0049   double max_Dr_;         // impact parameter cut
0050   double max_Dz_;         // dz cut
0051   int chargeOpt_;         // Charge option (0:nothing; +1:same charge, -1:opposite charge)
0052   double min_PtPair_;     // minimum Pt for the dimuon system
0053   double min_PtMax_;      // minimum Pt for muon with max Pt in pair
0054   double min_PtMin_;      // minimum Pt for muon with min Pt in pair
0055   double min_InvMass_;    // minimum invariant mass of pair
0056   double max_InvMass_;    // maximum invariant mass of pair
0057   double min_Acop_;       // minimum acoplanarity
0058   double max_Acop_;       // maximum acoplanarity
0059   double min_Angle_;      // minimum 3D angle
0060   double max_Angle_;      // maximum 3D angle
0061   double min_PtBalance_;  // minimum Pt difference
0062   double max_PtBalance_;  // maximum Pt difference
0063   double nsigma_Pt_;      // pt uncertainty margin (in number of sigmas)
0064 };
0065 
0066 #endif  //HLTMuonDimuonFilter_h