File indexing completed on 2023-03-17 11:05:53
0001 #ifndef HLTDisplacedmumumuVtxProducer_h
0002 #define HLTDisplacedmumumuVtxProducer_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include "FWCore/Framework/interface/global/EDProducer.h"
0017 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0018 #include "FWCore/Framework/interface/Event.h"
0019 #include "FWCore/Framework/interface/EventSetup.h"
0020 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h"
0021 #include "DataFormats/TrackReco/interface/TrackFwd.h"
0022 #include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h"
0023 #include "DataFormats/HLTReco/interface/TriggerRefsCollections.h"
0024 #include "TrackingTools/TransientTrack/interface/TransientTrackBuilder.h"
0025 #include "TrackingTools/Records/interface/TransientTrackRecord.h"
0026 #include <vector>
0027
0028 namespace edm {
0029 class ConfigurationDescriptions;
0030 }
0031
0032 class HLTDisplacedmumumuVtxProducer : public edm::global::EDProducer<> {
0033 public:
0034 explicit HLTDisplacedmumumuVtxProducer(const edm::ParameterSet&);
0035 ~HLTDisplacedmumumuVtxProducer() override;
0036 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0037 void produce(edm::StreamID, edm::Event&, const edm::EventSetup&) const override;
0038
0039 private:
0040 bool checkPreviousCand(const reco::TrackRef& trackref, const std::vector<reco::RecoChargedCandidateRef>& ref2) const;
0041
0042 const edm::ESGetToken<TransientTrackBuilder, TransientTrackRecord> transientTrackRecordToken_;
0043 const edm::InputTag srcTag_;
0044 const edm::EDGetTokenT<reco::RecoChargedCandidateCollection> srcToken_;
0045 const edm::InputTag previousCandTag_;
0046 const edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> previousCandToken_;
0047 const double maxEta_;
0048 const double minPt_;
0049 const double minPtTriplet_;
0050 const double minInvMass_;
0051 const double maxInvMass_;
0052 const int chargeOpt_;
0053 };
0054
0055 #endif