CMS 3D CMS Logo

DisappearingMuonsSkimming.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: Skimming/DisappearingMuonsSkimming
4 // Class: DisappearingMuonsSkimming
5 //
13 //
14 // Original Author: Michael Revering
15 // Created: Tie, 31 Jan 2023 21:22:23 GMT
16 //
17 //
18 #ifndef Configuration_Skimming_DisappearingMuonsSkimming_h
19 #define Configuration_Skimming_DisappearingMuonsSkimming_h
20 
21 // system include files
22 #include <memory>
23 
24 // user include filter
40 
41 //
42 // class declaration
43 //
44 
46 public:
48  ~DisappearingMuonsSkimming() override = default;
49  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
50 
51 private:
52  bool filter(edm::Event&, const edm::EventSetup&) override;
53 
54  bool passTriggers(const edm::Event& iEvent,
56  const std::vector<std::string>& m_muonPathsToPass);
57 
58  bool findTrackInVertices(const reco::TrackRef& tkToMatch,
60  unsigned int& vtxIndex,
61  unsigned int& trackIndex);
62 
63  double getTrackIsolation(const reco::TrackRef& tkToMatch, const reco::VertexCollection& vertices);
65 
66  // ----------member data ---------------------------
76  const std::vector<std::string> muonPathsToPass_;
77 
78  //options
79  const double minMuPt_;
80  const double maxMuEta_;
81  const double minTrackEta_;
82  const double maxTrackEta_;
83  const double minTrackPt_;
84  const double maxTransDCA_;
85  const double maxLongDCA_;
86  const double maxVtxChi_;
87  const double minInvMass_;
88  const double maxInvMass_;
89  const double trackIsoConesize_;
90  const double trackIsoInnerCone_;
91  const double ecalIsoConesize_;
92  const double minEcalHitE_;
93  const double maxTrackIso_;
94  const double maxEcalIso_;
95  const double minSigInvMass_;
96  const double maxSigInvMass_;
97  const double minStandaloneDr_;
98  const double maxStandaloneDE_;
99  const bool keepOffPeak_;
100  const bool keepSameSign_;
101  const bool keepTotalRegion_;
102  const bool keepPartialRegion_;
103 };
104 #endif
~DisappearingMuonsSkimming() override=default
const std::vector< std::string > muonPathsToPass_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
const edm::EDGetTokenT< edm::TriggerResults > trigResultsToken_
std::vector< Vertex > VertexCollection
collection of Vertex objects
Definition: VertexFwd.h:9
const edm::EDGetTokenT< reco::VertexCollection > primaryVerticesToken_
int iEvent
Definition: GenABIO.cc:224
const edm::ESGetToken< TransientTrackBuilder, TransientTrackRecord > transientTrackToken_
const edm::EDGetTokenT< EcalRecHitCollection > reducedEndcapRecHitCollectionToken_
bool passTriggers(const edm::Event &iEvent, const edm::TriggerResults &results, const std::vector< std::string > &m_muonPathsToPass)
const edm::EDGetTokenT< reco::MuonCollection > recoMuonToken_
double getECALIsolation(const edm::Event &, const edm::EventSetup &, const reco::TransientTrack &track)
double getTrackIsolation(const reco::TrackRef &tkToMatch, const reco::VertexCollection &vertices)
bool findTrackInVertices(const reco::TrackRef &tkToMatch, const reco::VertexCollection &vertices, unsigned int &vtxIndex, unsigned int &trackIndex)
bool filter(edm::Event &, const edm::EventSetup &) override
const edm::ESGetToken< CaloGeometry, CaloGeometryRecord > geometryToken_
const edm::EDGetTokenT< reco::TrackCollection > standaloneMuonToken_
results
Definition: mysort.py:8
const edm::EDGetTokenT< EcalRecHitCollection > reducedBarrelRecHitCollectionToken_
const edm::EDGetTokenT< reco::TrackCollection > trackCollectionToken_
DisappearingMuonsSkimming(const edm::ParameterSet &)