CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
LeptonSkimming Class Reference

#include <SkimmingForB/LeptonSkimming/plugins/LeptonSkimming.cc>

Inheritance diagram for LeptonSkimming:
edm::stream::EDFilter<> edm::stream::EDFilterBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

 LeptonSkimming (const edm::ParameterSet &)
 
 ~LeptonSkimming () override
 
- Public Member Functions inherited from edm::stream::EDFilter<>
 EDFilter ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
- Public Member Functions inherited from edm::stream::EDFilterBase
 EDFilterBase ()
 
 EDFilterBase (const EDFilterBase &)=delete
 
ModuleDescription const & moduleDescription () const
 
const EDFilterBaseoperator= (const EDFilterBase &)=delete
 
 ~EDFilterBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::stream::EDFilterBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Member Functions

void beginStream (edm::StreamID) override
 
void endStream () override
 
bool filter (edm::Event &, const edm::EventSetup &) override
 
bool hltFired (const edm::Event &iEvent, const edm::EventSetup &iSetup, std::vector< string > HLTPath)
 
std::array< float, 5 > hltObject (const edm::Event &iEvent, const edm::EventSetup &iSetup, std::vector< string > Seed)
 

Private Attributes

float beam_x
 
float beam_y
 
float beam_z
 
edm::EDGetTokenT< reco::BeamSpotbeamSpotToken_
 
double BiasedWP = -100
 
std::vector< std::shared_ptr< reco::Track > > cleanedObjTracks
 
std::vector< std::shared_ptr< reco::Track > > cleanedPairTracks
 
std::vector< std::shared_ptr< reco::Track > > cleanedTracks
 
edm::EDGetTokenT< reco::ConversionCollectionconversionsToken_
 
double Cosee_Cut = -1
 
double CoseeK_Cut = 0
 
bool EarlyStop = false
 
std::vector< float > el_eta
 
std::vector< float > el_phi
 
std::vector< float > el_pt
 
edm::EDGetTokenT< edm::ValueMap< float > > eleBWPToken_
 
edm::EDGetToken electronsToken_
 
edm::EDGetTokenT< edm::ValueMap< float > > eleUnBWPToken_
 
std::vector< std::shared_ptr< reco::Track > > ElTracks
 
double ElTrgExclusionCone = 0
 
double ElTrgMuDz_Cut = 1000
 
std::vector< unsigned int > Epair_ObjectId
 
std::vector< unsigned int > Epair_ObjectIndex
 
std::vector< unsigned int > Epair_TrkIndex
 
double EpairZvtx_Cut = 10000000
 
double EtaTrack_Cut = 10
 
std::vector< string > HLTFilter_
 
std::vector< string > HLTPath_
 
double Ksdxy_Cut = 1000
 
double MaxChi2Track_Cut = 1000
 
double MaxMB_Cut = 1000
 
double MaxMee_Cut = 1000
 
double MinChi2Track_Cut = -1000
 
double MinMB_Cut = 0
 
double MinMee_Cut = 0
 
std::vector< float > muon_eta
 
std::vector< float > muon_medium
 
std::vector< float > muon_phi
 
std::vector< float > muon_pt
 
std::vector< float > muon_soft
 
std::vector< float > muon_tight
 
edm::EDGetToken muonsToken_
 
std::vector< std::shared_ptr< reco::Track > > MuTracks
 
double MuTrgExclusionCone = 0
 
double MuTrgMatchCone = 1000
 
double MuTrgMuDz_Cut = 1000
 
double MuTrkMinDR_Cut = 0
 
unsigned int nel = 0
 
unsigned int nmuons = 0
 
unsigned int ntracks = 0
 
std::vector< unsigned int > object_container
 
std::vector< unsigned int > object_id
 
bool ObjPtLargerThanTrack = false
 
double Probee_Cut = 0
 
double ProbeeK_Cut = 0
 
double PtB_Cut = 0
 
double PtEl_Cut = 0
 
double PtKTrack_Cut = 0
 
double PtMu_Cut = 0
 
double PtTrack_Cut = 0
 
double QualMu_Cut = 0
 
bool Result = false
 
bool SaveOnlyEPairTracks = false
 
bool SaveOnlyTracks = false
 
bool SaveOutputRoot = true
 
float SelectedMu_DR = -1
 
int SelectedMu_index
 
std::vector< float > SelectedTrgObj_PtEtaPhiCharge
 
bool SkimOnlyElectrons = false
 
bool SkimOnlyMuons = false
 
bool SkipIfNoMuMatch = false
 
double SLxy_Cut = 0
 
std::vector< float > tempPtEtaPhiM
 
std::vector< float > tempXYZ
 
int test_ev = 0
 
std::vector< float > track_vx
 
std::vector< float > track_vy
 
std::vector< float > track_vz
 
double TrackMuDz_Cut = 100000000
 
std::vector< unsigned int > trackObj_container
 
std::vector< unsigned int > trackPair_container
 
edm::EDGetToken Tracks_
 
double TrackSdxy_Cut = 0
 
double TrgExclusionCone = -1
 
edm::EDGetTokenT< edm::TriggerResultstrgresultsToken_
 
edm::EDGetTokenT< trigger::TriggerEventtrigobjectsToken_
 
std::vector< unsigned int > Trk_container
 
unsigned int trk_index = 0
 
double TrkObjExclusionCone = 0
 
double UnbiasedWP = -100
 
bool UseOnlyBKeeMCForTriplets = false
 
reco::TrackBase::Point vertex_point
 
edm::EDGetTokenT< reco::VertexCollectionvtxToken_
 
float ZvertexTrg = -1 * std::numeric_limits<float>::max()
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDFilter<>
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 
- Public Types inherited from edm::stream::EDFilterBase
typedef EDFilterAdaptorBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< B > consumes (edm::InputTag tag) noexcept
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Description: [one line class summary]

Implementation: [Notes on implementation]

Definition at line 85 of file LeptonSkimming.h.

Constructor & Destructor Documentation

◆ LeptonSkimming()

LeptonSkimming::LeptonSkimming ( const edm::ParameterSet iConfig)
explicit

Definition at line 26 of file LeptonSkimming.cc.

27  : electronsToken_(consumes<std::vector<reco::GsfElectron>>(iConfig.getParameter<edm::InputTag>("electrons"))),
30  muonsToken_(consumes<std::vector<reco::Muon>>(iConfig.getParameter<edm::InputTag>("muons"))),
31  Tracks_(consumes<std::vector<reco::Track>>(iConfig.getParameter<edm::InputTag>("tracks"))),
32  vtxToken_(consumes<std::vector<reco::Vertex>>(iConfig.getParameter<edm::InputTag>("vertices"))),
33  beamSpotToken_(consumes<reco::BeamSpot>(iConfig.getParameter<edm::InputTag>("beamSpot"))),
34  conversionsToken_(consumes<reco::ConversionCollection>(iConfig.getParameter<edm::InputTag>("conversions"))),
35 
36  trgresultsToken_(consumes<edm::TriggerResults>(iConfig.getParameter<edm::InputTag>("triggerresults"))),
37  trigobjectsToken_(consumes<trigger::TriggerEvent>(iConfig.getParameter<edm::InputTag>("triggerobjects"))),
38  HLTFilter_(iConfig.getParameter<vector<string>>("HLTFilter")),
39  HLTPath_(iConfig.getParameter<vector<string>>("HLTPath")) {
41  //mu matching with trigger
42  MuTrgMatchCone = runParameters.getParameter<double>("MuTrgMatchCone");
43  SkipIfNoMuMatch = runParameters.getParameter<bool>("SkipIfNoMuMatch");
44  //track cuts
45  PtTrack_Cut = runParameters.getParameter<double>("PtTrack_Cut");
46  EtaTrack_Cut = runParameters.getParameter<double>("EtaTrack_Cut");
47  MinChi2Track_Cut = runParameters.getParameter<double>("MinChi2Track_Cut");
48  MaxChi2Track_Cut = runParameters.getParameter<double>("MaxChi2Track_Cut");
49  MuTrkMinDR_Cut = runParameters.getParameter<double>("MuTrkMinDR_Cut");
50  TrackMuDz_Cut = runParameters.getParameter<double>("TrackMuDz_Cut");
51  TrgExclusionCone = runParameters.getParameter<double>("TrgExclusionCone");
52  //lepton cuts
53  PtMu_Cut = runParameters.getParameter<double>("PtMu_Cut");
54  PtEl_Cut = runParameters.getParameter<double>("PtEl_Cut");
55  QualMu_Cut = runParameters.getParameter<double>("QualMu_Cut");
56  MuTrgExclusionCone = runParameters.getParameter<double>("MuTrgExclusionCone");
57  ElTrgExclusionCone = runParameters.getParameter<double>("ElTrgExclusionCone");
58  TrkObjExclusionCone = runParameters.getParameter<double>("TrkObjExclusionCone");
59  MuTrgMuDz_Cut = runParameters.getParameter<double>("MuTrgMuDz_Cut");
60  ElTrgMuDz_Cut = runParameters.getParameter<double>("ElTrgMuDz_Cut");
61  BiasedWP = runParameters.getParameter<double>("BiasedWP");
62  UnbiasedWP = runParameters.getParameter<double>("UnbiasedWP");
63  SkimOnlyMuons = runParameters.getParameter<bool>("SkimOnlyMuons");
64  SkimOnlyElectrons = runParameters.getParameter<bool>("SkimOnlyElectrons");
65  //pair cuts
66  MaxMee_Cut = runParameters.getParameter<double>("MaxMee_Cut");
67  MinMee_Cut = runParameters.getParameter<double>("MinMee_Cut");
68  Probee_Cut = runParameters.getParameter<double>("Probee_Cut");
69  Cosee_Cut = runParameters.getParameter<double>("Cosee_Cut");
70  EpairZvtx_Cut = runParameters.getParameter<double>("EpairZvtx_Cut");
71  //kaon
72  PtKTrack_Cut = runParameters.getParameter<double>("PtKTrack_Cut");
73  TrackSdxy_Cut = runParameters.getParameter<double>("TrackSdxy_Cut");
74  Ksdxy_Cut = runParameters.getParameter<double>("Ksdxy_Cut");
75  //triplet
76  MaxMB_Cut = runParameters.getParameter<double>("MaxMB_Cut");
77  MinMB_Cut = runParameters.getParameter<double>("MinMB_Cut");
78  ProbeeK_Cut = runParameters.getParameter<double>("ProbeeK_Cut");
79  CoseeK_Cut = runParameters.getParameter<double>("CoseeK_Cut");
80  SLxy_Cut = runParameters.getParameter<double>("SLxy_Cut");
81  PtB_Cut = runParameters.getParameter<double>("PtB_Cut");
82 
83  ObjPtLargerThanTrack = runParameters.getParameter<bool>("ObjPtLargerThanTrack");
84 }

References BiasedWP, Cosee_Cut, CoseeK_Cut, ElTrgExclusionCone, ElTrgMuDz_Cut, EpairZvtx_Cut, EtaTrack_Cut, edm::ParameterSet::getParameter(), Ksdxy_Cut, MaxChi2Track_Cut, MaxMB_Cut, MaxMee_Cut, MinChi2Track_Cut, MinMB_Cut, MinMee_Cut, MuTrgExclusionCone, MuTrgMatchCone, MuTrgMuDz_Cut, MuTrkMinDR_Cut, ObjPtLargerThanTrack, Probee_Cut, ProbeeK_Cut, PtB_Cut, PtEl_Cut, PtKTrack_Cut, PtMu_Cut, PtTrack_Cut, QualMu_Cut, environment_file_cff::runParameters, SkimOnlyElectrons, SkimOnlyMuons, SkipIfNoMuMatch, SLxy_Cut, TrackMuDz_Cut, TrackSdxy_Cut, TrgExclusionCone, TrkObjExclusionCone, and UnbiasedWP.

◆ ~LeptonSkimming()

LeptonSkimming::~LeptonSkimming ( )
override

Definition at line 86 of file LeptonSkimming.cc.

86  {
87  // do anything here that needs to be done at destruction time
88  // (e.g. close files, deallocate resources etc.)
89 }

Member Function Documentation

◆ beginStream()

void LeptonSkimming::beginStream ( edm::StreamID  )
overrideprivatevirtual

Reimplemented from edm::stream::EDFilterBase.

Definition at line 529 of file LeptonSkimming.cc.

529 {}

◆ endStream()

void LeptonSkimming::endStream ( )
overrideprivatevirtual

Reimplemented from edm::stream::EDFilterBase.

Definition at line 532 of file LeptonSkimming.cc.

532 {}

◆ fillDescriptions()

void LeptonSkimming::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 567 of file LeptonSkimming.cc.

567  {
568  //The following says we do not know what parameters are allowed so do no validation
569  // Please change this to state exactly what you do use, even if it is no parameters
571  desc.setUnknown();
572  descriptions.addDefault(desc);
573 }

References edm::ConfigurationDescriptions::addDefault(), and submitPVResolutionJobs::desc.

◆ filter()

bool LeptonSkimming::filter ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::stream::EDFilterBase.

Definition at line 167 of file LeptonSkimming.cc.

167  {
168  using namespace std;
169  using namespace edm;
170  using namespace reco;
171  using namespace trigger;
172  // using namespace PhysicsTools;
173 
174  test_ev++;
175  //Get a few collections to apply basic electron ID
176  //Get electrons
178  iEvent.getByToken(electronsToken_, electrons);
179  //get bdt values
180  edm::Handle<edm::ValueMap<float>> ele_mva_wp_biased;
181  iEvent.getByToken(eleBWPToken_, ele_mva_wp_biased);
182  edm::Handle<edm::ValueMap<float>> ele_mva_wp_unbiased;
183  iEvent.getByToken(eleUnBWPToken_, ele_mva_wp_unbiased);
184  //get muons
186  iEvent.getByToken(muonsToken_, muons);
187  //Get conversions
189  iEvent.getByToken(conversionsToken_, conversions);
190  // Get the beam spot
191  edm::Handle<reco::BeamSpot> theBeamSpot;
192  iEvent.getByToken(beamSpotToken_, theBeamSpot);
193  //Get vertices
195  iEvent.getByToken(vtxToken_, vertices);
196  //continue if there are no vertices
197  if (vertices->empty())
198  return false;
200  iEvent.getByToken(Tracks_, tracks);
202  iEvent.getByToken(trgresultsToken_, trigResults);
203  edm::ESHandle<MagneticField> bFieldHandle;
204  iSetup.get<IdealMagneticFieldRecord>().get(bFieldHandle);
205  KalmanVertexFitter theKalmanFitter(false);
206  TransientVertex LLvertex;
207 
208  // trigger1=0; trigger2=0; trigger3=0; trigger4=0; trigger5=0; trigger6=0;
209  nmuons = 0;
210  nel = 0;
211  ntracks = 0;
212 
213  SelectedMu_index = -1;
215  muon_pt.clear();
216  muon_eta.clear();
217  muon_phi.clear();
218  Result = false;
219  el_pt.clear();
220  el_eta.clear();
221  el_phi.clear();
222  Trk_container.clear();
223  MuTracks.clear();
224  ElTracks.clear();
225  object_container.clear();
226  object_id.clear();
227  cleanedTracks.clear();
228  Epair_ObjectId.clear();
229  muon_soft.clear();
230  muon_medium.clear();
231  muon_tight.clear();
232  Epair_ObjectIndex.clear();
233  cleanedObjTracks.clear();
234  cleanedPairTracks.clear();
235  Epair_ObjectIndex.clear();
236  Epair_ObjectId.clear();
237  Epair_TrkIndex.clear();
238  //internal stuff
240  std::array<float, 5> SelectedTrgObj_PtEtaPhiCharge{{-999, -999, -999, -999, -999}};
241  vertex_point.SetCoordinates(-1 * std::numeric_limits<float>::max(),
244  for (const reco::Vertex& vtx : *vertices) {
245  bool isFake = vtx.isFake();
246  if (isFake)
247  continue;
248  vertex_point.SetCoordinates(vtx.x(), vtx.y(), vtx.z());
250  break;
251  }
253  return false;
254 
255  beam_x = theBeamSpot->x0();
256  beam_y = theBeamSpot->y0();
257  beam_z = theBeamSpot->z0();
258  if (!hltFired(iEvent, iSetup, HLTPath_))
259  return false;
260 
263  MuTracks.clear();
264  object_container.clear();
265  object_id.clear();
266  nmuons = 0;
267  for (const reco::Muon& mu : *muons) {
268  if (fabs(mu.eta()) > EtaTrack_Cut)
269  continue;
270  //find triggering muon
271  float deltaRmu = deltaR(mu.eta(), mu.phi(), SelectedTrgObj_PtEtaPhiCharge[1], SelectedTrgObj_PtEtaPhiCharge[2]);
272  if (deltaRmu < MuTrgMatchCone && SelectedMu_DR > deltaRmu) {
274  ZvertexTrg = mu.vz();
275  }
276  //save muons that we want to skim
277  if (!SkimOnlyElectrons) {
278  bool tight = false, soft = false;
279  if (vertices.isValid()) {
280  tight = isTightMuonCustom(*(&mu), (*vertices)[0]);
281  soft = muon::isSoftMuon(*(&mu), (*vertices)[0]);
282  }
283  const Track* mutrack = mu.bestTrack();
284  muon_medium.push_back(isMediumMuonCustom(*(&mu)));
285  muon_tight.push_back(tight);
286  muon_soft.push_back(soft);
287  muon_pt.push_back(mu.pt());
288  muon_eta.push_back(mu.eta());
289  muon_phi.push_back(mu.phi());
290  auto muTrack = std::make_shared<reco::Track>(*mutrack);
291  MuTracks.push_back(muTrack);
292  object_container.push_back(nmuons);
293  object_id.push_back(13);
294  nmuons++;
295  }
296  }
297 
299  return false;
300  }
301 
302  //Save electrons we want to skim
303  ElTracks.clear();
304  if (!SkimOnlyMuons) {
305  unsigned int count_el = -1;
306  for (const reco::GsfElectron& el : *electrons) {
307  count_el++;
308  bool passConvVeto = !ConversionTools::hasMatchedConversion(*(&el), *conversions, theBeamSpot->position());
309  if (!passConvVeto)
310  continue;
311  reco::GsfTrackRef seed = el.gsfTrack();
312  if (seed.isNull())
313  continue;
314  if ((*ele_mva_wp_biased)[seed] < BiasedWP)
315  continue;
316  if ((*ele_mva_wp_unbiased)[seed] < UnbiasedWP)
317  continue;
318  const Track* eltrack = el.bestTrack();
319  if (fabs(eltrack->eta()) > EtaTrack_Cut)
320  continue;
321  if (eltrack->pt() < PtEl_Cut)
322  continue;
323  auto ElTrack = std::make_shared<reco::Track>(*eltrack);
324  ElTracks.push_back(ElTrack);
325  object_container.push_back(nel);
326  el_pt.push_back(eltrack->pt());
327  el_eta.push_back(eltrack->eta());
328  el_phi.push_back(eltrack->phi());
329  nel++;
330  object_id.push_back(11);
331  }
332  }
333 
334  //Save tracks we want to skim: used both as mu or e candidate
335  cleanedTracks.clear();
336  trk_index = 0;
337  for (const reco::Track& trk : *tracks) {
338  if (!trk.quality(Track::highPurity))
339  continue;
340  if (trk.pt() < PtTrack_Cut)
341  continue;
342  if (fabs(trk.eta()) > EtaTrack_Cut)
343  continue;
344  if (trk.charge() == 0)
345  continue;
346  if (trk.normalizedChi2() > MaxChi2Track_Cut || trk.normalizedChi2() < MinChi2Track_Cut)
347  continue;
348  if (fabs(trk.dxy()) / trk.dxyError() < TrackSdxy_Cut)
349  continue;
351  if (fabs(ZvertexTrg - trk.vz()) > TrackMuDz_Cut)
352  continue;
353  if (deltaR(trk.eta(), trk.phi(), SelectedTrgObj_PtEtaPhiCharge[1], SelectedTrgObj_PtEtaPhiCharge[2]) <
355  continue;
356  }
357  //assignments
358  auto cleanTrack = std::make_shared<reco::Track>(trk);
359  cleanedTracks.push_back(cleanTrack);
360  Trk_container.push_back(trk_index);
361  trk_index++;
362  }
363 
364  //create ll combination
365 
366  // fit track pairs
367  cleanedObjTracks.clear();
368  cleanedPairTracks.clear();
369  TLorentzVector vel1, vel2;
370  std::vector<std::shared_ptr<reco::Track>> cleanedObjects;
371  //add tracks of objects
372  if (!SkimOnlyElectrons) {
373  for (auto& vec : MuTracks)
374  cleanedObjects.push_back(vec);
375  }
376 
377  if (!SkimOnlyMuons) {
378  for (auto& vec : ElTracks)
379  cleanedObjects.push_back(vec);
380  }
381 
382  if (cleanedObjects.empty())
383  return false;
384 
385  for (auto& obj : cleanedObjects) {
386  auto tranobj = std::make_shared<reco::TransientTrack>(reco::TransientTrack(*obj, &(*bFieldHandle)));
387  unsigned int iobj = &obj - &cleanedObjects[0];
388  unsigned int index = object_container.at(iobj);
389  float massLep = 0.0005;
390  if (object_id.at(iobj) == 13)
391  massLep = 0.105;
392  //posible cut in mu quality
393  if (object_id.at(iobj) == 13 && QualMu_Cut == 1 && !muon_soft.at(index))
394  continue;
395  if (object_id.at(iobj) == 13 && QualMu_Cut == 2 && !muon_medium.at(index))
396  continue;
397  if (object_id.at(iobj) == 13 && QualMu_Cut == 3 && !muon_tight.at(index))
398  continue;
399  // take the corresponding lepton track for lorentz vector
400  vel1.SetPtEtaPhiM(obj->pt(), obj->eta(), obj->phi(), massLep);
401  if (object_id.at(iobj) == 13 && vel1.Pt() < PtMu_Cut)
402  continue;
403  for (auto& trk2 : cleanedTracks) {
404  unsigned int itrk2 = &trk2 - &cleanedTracks[0];
405  //opposite sign
406  if (obj->charge() * trk2->charge() == 1)
407  continue;
408  if (ObjPtLargerThanTrack && vel1.Pt() < trk2->pt())
409  continue;
410  vel2.SetPtEtaPhiM(trk2->pt(), trk2->eta(), trk2->phi(), massLep);
411  //probe side cuts
412  if (object_id.at(iobj) == 13 &&
415  continue;
416  if (object_id.at(iobj) == 11 &&
419  continue;
421  if (object_id.at(iobj) == 13 && fabs(ZvertexTrg - obj->vz()) > MuTrgMuDz_Cut)
422  continue;
423  if (object_id.at(iobj) == 11 && fabs(ZvertexTrg - obj->vz()) > ElTrgMuDz_Cut)
424  continue;
425  }
426  //additional cuts
427  float InvMassLepLep = (vel1 + vel2).M();
428  if (InvMassLepLep > MaxMee_Cut || InvMassLepLep < MinMee_Cut)
429  continue;
430  auto trantrk2 = std::make_shared<reco::TransientTrack>(reco::TransientTrack(*trk2, &(*bFieldHandle)));
431  std::vector<reco::TransientTrack> tempTracks;
432  tempTracks.reserve(2);
433  tempTracks.push_back(*tranobj);
434  tempTracks.push_back(*trantrk2);
435  LLvertex = theKalmanFitter.vertex(tempTracks);
436  if (!LLvertex.isValid())
437  continue;
438  if (ChiSquaredProbability(LLvertex.totalChiSquared(), LLvertex.degreesOfFreedom()) < Probee_Cut)
439  continue;
441  fabs(ZvertexTrg - LLvertex.position().z()) > EpairZvtx_Cut)
442  continue;
443  GlobalError err = LLvertex.positionError();
444  GlobalPoint Dispbeamspot(-1 * ((theBeamSpot->x0() - LLvertex.position().x()) +
445  (LLvertex.position().z() - theBeamSpot->z0()) * theBeamSpot->dxdz()),
446  -1 * ((theBeamSpot->y0() - LLvertex.position().y()) +
447  (LLvertex.position().z() - theBeamSpot->z0()) * theBeamSpot->dydz()),
448  0);
449  math::XYZVector pperp((vel1 + vel2).Px(), (vel1 + vel2).Py(), 0);
450  math::XYZVector vperp(Dispbeamspot.x(), Dispbeamspot.y(), 0.);
451  float tempCos = vperp.Dot(pperp) / (vperp.R() * pperp.R());
452  if (tempCos < Cosee_Cut)
453  continue;
454  cleanedObjTracks.push_back(obj);
455  cleanedPairTracks.push_back(trk2);
456  Epair_ObjectIndex.push_back(object_container.at(iobj));
457  Epair_ObjectId.push_back(object_id.at(iobj));
458  Epair_TrkIndex.push_back(Trk_container.at(itrk2));
459  }
460  }
461 
462  // B recontrsuction
463  TLorentzVector vK;
464  for (unsigned int iobj = 0; iobj < cleanedObjTracks.size(); iobj++) {
465  auto objtrk = cleanedObjTracks.at(iobj);
466  auto pairtrk = cleanedPairTracks.at(iobj);
467  auto tranobj = std::make_shared<reco::TransientTrack>(reco::TransientTrack(*objtrk, &(*bFieldHandle)));
468  auto tranpair = std::make_shared<reco::TransientTrack>(reco::TransientTrack(*pairtrk, &(*bFieldHandle)));
469  //unsigned int index=Epair_ObjectIndex.at(iobj);
470  float massLep = 0.0005;
471  if (Epair_ObjectId.at(iobj) == 13)
472  massLep = 0.105;
473  vel1.SetPtEtaPhiM(objtrk->pt(), objtrk->eta(), objtrk->phi(), massLep);
474  vel2.SetPtEtaPhiM(pairtrk->pt(), pairtrk->eta(), pairtrk->phi(), massLep);
475  for (auto& trk : cleanedTracks) {
476  //reject track corresponding to mu or e
477  if (trk->charge() == objtrk->charge() &&
478  deltaR(objtrk->eta(), objtrk->phi(), trk->eta(), trk->phi()) < TrkObjExclusionCone)
479  continue;
480  if (trk->pt() < PtKTrack_Cut)
481  continue;
482  if (fabs(trk->dxy(vertex_point)) / trk->dxyError() < Ksdxy_Cut)
483  continue;
484  // skip the track that was used as mu or e
485  if (Epair_TrkIndex.at(iobj) == &trk - &cleanedTracks[0])
486  continue;
487  vK.SetPtEtaPhiM(trk->pt(), trk->eta(), trk->phi(), 0.493);
488  //final cuts
489  float InvMass = (vel1 + vel2 + vK).M();
490  if (InvMass > MaxMB_Cut || InvMass < MinMB_Cut)
491  continue;
492  if ((vel1 + vel2 + vK).Pt() < PtB_Cut)
493  continue;
494  auto trantrk = std::make_shared<reco::TransientTrack>(reco::TransientTrack(*trk, &(*bFieldHandle)));
495  std::vector<reco::TransientTrack> tempTracks;
496  tempTracks.reserve(3);
497  tempTracks.push_back(*tranobj);
498  tempTracks.push_back(*tranpair);
499  tempTracks.push_back(*trantrk);
500  LLvertex = theKalmanFitter.vertex(tempTracks);
501  if (!LLvertex.isValid())
502  continue;
503  if (ChiSquaredProbability(LLvertex.totalChiSquared(), LLvertex.degreesOfFreedom()) < ProbeeK_Cut)
504  continue;
505  GlobalError err = LLvertex.positionError();
506  GlobalPoint Dispbeamspot(-1 * ((theBeamSpot->x0() - LLvertex.position().x()) +
507  (LLvertex.position().z() - theBeamSpot->z0()) * theBeamSpot->dxdz()),
508  -1 * ((theBeamSpot->y0() - LLvertex.position().y()) +
509  (LLvertex.position().z() - theBeamSpot->z0()) * theBeamSpot->dydz()),
510  0);
511  math::XYZVector pperp((vel1 + vel2 + vK).Px(), (vel1 + vel2 + vK).Py(), 0);
512  math::XYZVector vperp(Dispbeamspot.x(), Dispbeamspot.y(), 0.);
513  float tempCos = vperp.Dot(pperp) / (vperp.R() * pperp.R());
514  if (tempCos < CoseeK_Cut)
515  continue;
516  if (SLxy_Cut > Dispbeamspot.perp() / sqrt(err.rerr(Dispbeamspot)))
517  continue;
518  Result = true;
519  break;
520  }
521  if (Result)
522  break;
523  }
524  //decission
525  return Result;
526 }

References beam_x, beam_y, beam_z, beamSpotToken_, BiasedWP, ChiSquaredProbability(), cleanedObjTracks, cleanedPairTracks, cleanedTracks, pwdgSkimBPark_cfi::conversions, conversionsToken_, Cosee_Cut, CoseeK_Cut, PbPb_ZMuSkimMuonDPG_cff::deltaR, reco::BeamSpot::dxdz(), reco::BeamSpot::dydz(), el_eta, el_phi, el_pt, eleBWPToken_, pwdgSkimBPark_cfi::electrons, electronsToken_, eleUnBWPToken_, ElTracks, ElTrgExclusionCone, ElTrgMuDz_Cut, Epair_ObjectId, Epair_ObjectIndex, Epair_TrkIndex, EpairZvtx_Cut, submitPVResolutionJobs::err, reco::TrackBase::eta(), EtaTrack_Cut, edm::EventSetup::get(), get, ConversionTools::hasMatchedConversion(), muons_cff::highPurity, HLTFilter_, hltFired(), hltObject(), HLTPath_, iEvent, isMediumMuonCustom(), muon::isSoftMuon(), isTightMuonCustom(), TransientVertex::isValid(), Ksdxy_Cut, SiStripPI::max, MaxChi2Track_Cut, MaxMB_Cut, MaxMee_Cut, MinChi2Track_Cut, MinMB_Cut, MinMee_Cut, amptDefaultParameters_cff::mu, muon_eta, muon_medium, muon_phi, muon_pt, muon_soft, muon_tight, PDWG_BPHSkim_cff::muons, muonsToken_, MuTracks, MuTrgExclusionCone, MuTrgMuDz_Cut, nel, nmuons, ntracks, getGTfromDQMFile::obj, object_container, object_id, ObjPtLargerThanTrack, PV3DBase< T, PVType, FrameType >::perp(), reco::TrackBase::phi(), reco::BeamSpot::position(), TransientVertex::position(), TransientVertex::positionError(), Probee_Cut, ProbeeK_Cut, reco::TrackBase::pt(), PtB_Cut, PtEl_Cut, PtKTrack_Cut, PtMu_Cut, PtTrack_Cut, QualMu_Cut, Result, fileCollector::seed, SelectedMu_DR, SelectedMu_index, SelectedTrgObj_PtEtaPhiCharge, SkimOnlyElectrons, SkimOnlyMuons, SkipIfNoMuMatch, SLxy_Cut, mathSSE::sqrt(), test_ev, TrackMuDz_Cut, PDWG_EXOHSCP_cff::tracks, Tracks_, TrackSdxy_Cut, TrgExclusionCone, trgresultsToken_, Trk_container, trk_index, TrkObjExclusionCone, UnbiasedWP, KalmanVertexFitter::vertex(), vertex_point, pwdgSkimBPark_cfi::vertices, extraflags_cff::vtx, vtxToken_, PV3DBase< T, PVType, FrameType >::x(), reco::BeamSpot::x0(), PV3DBase< T, PVType, FrameType >::y(), reco::BeamSpot::y0(), PV3DBase< T, PVType, FrameType >::z(), reco::BeamSpot::z0(), and ZvertexTrg.

◆ hltFired()

bool LeptonSkimming::hltFired ( const edm::Event iEvent,
const edm::EventSetup iSetup,
std::vector< string >  HLTPath 
)
private

Definition at line 91 of file LeptonSkimming.cc.

91  {
92  using namespace std;
93  using namespace edm;
94  using namespace reco;
95  using namespace trigger;
96 
98  iEvent.getByToken(trgresultsToken_, trigResults);
99  bool fire = false;
100  if (trigResults.failedToGet())
101  return false;
102  for (unsigned int ip = 0; ip < HLTPath.size(); ip++) {
103  int N_Triggers = trigResults->size();
104  const edm::TriggerNames& trigName = iEvent.triggerNames(*trigResults);
105  for (int i_Trig = 0; i_Trig < N_Triggers; ++i_Trig) {
106  if (!trigResults->accept(i_Trig))
107  continue;
108  const std::string& TrigPath = trigName.triggerName(i_Trig);
109  if (TrigPath.find(HLTPath[ip]) != std::string::npos)
110  fire = true;
111  }
112  }
113  return fire;
114 }

References edm::HLTGlobalStatus::accept(), edm::HandleBase::failedToGet(), pwdgSkimBPark_cfi::HLTPath, iEvent, edm::HLTGlobalStatus::size(), AlCaHLTBitMon_QueryRunRegistry::string, trgresultsToken_, and EgHLTOffTrigSelection_cfi::trigName.

Referenced by filter().

◆ hltObject()

std::array< float, 5 > LeptonSkimming::hltObject ( const edm::Event iEvent,
const edm::EventSetup iSetup,
std::vector< string >  Seed 
)
private

Definition at line 116 of file LeptonSkimming.cc.

118  {
119  using namespace std;
120  using namespace edm;
121  using namespace reco;
122  using namespace trigger;
123 
124  edm::Handle<trigger::TriggerEvent> triggerObjectsSummary;
125  iEvent.getByToken(trigobjectsToken_, triggerObjectsSummary);
126  trigger::TriggerObjectCollection selectedObjects;
127 
128  std::vector<std::array<float, 5>> max_per_trigger;
129 
130  for (unsigned int ipath = 0; ipath < Seed.size(); ipath++) {
131  std::vector<std::array<float, 5>> tot_tr_obj_pt_eta_phi;
132  if (!triggerObjectsSummary.isValid())
133  continue;
134  size_t filterIndex = (*triggerObjectsSummary).filterIndex(InputTag(Seed[ipath], "", "HLT"));
135  trigger::TriggerObjectCollection allTriggerObjects = triggerObjectsSummary->getObjects();
136  if (filterIndex < (*triggerObjectsSummary).sizeFilters()) {
137  const trigger::Keys& keys = (*triggerObjectsSummary).filterKeys(filterIndex);
138  for (size_t j = 0; j < keys.size(); j++) {
139  const trigger::TriggerObject& foundObject = (allTriggerObjects)[keys[j]];
140  std::array<float, 5> tr_obj_pt_eta_phi;
141  if (fabs(foundObject.id()) != 13)
142  continue;
143  tr_obj_pt_eta_phi[0] = foundObject.pt();
144  tr_obj_pt_eta_phi[1] = foundObject.eta();
145  tr_obj_pt_eta_phi[2] = foundObject.phi();
146  tr_obj_pt_eta_phi[3] = foundObject.id() / fabs(foundObject.id());
147  tot_tr_obj_pt_eta_phi.push_back(tr_obj_pt_eta_phi);
148  }
149  }
150  //take the max per hlt
151  if (!tot_tr_obj_pt_eta_phi.empty()) {
152  std::sort(tot_tr_obj_pt_eta_phi.begin(),
153  tot_tr_obj_pt_eta_phi.end(),
154  [](const std::array<float, 5>& a, const std::array<float, 5>& b) { return a[0] > b[0]; });
155  max_per_trigger.push_back(tot_tr_obj_pt_eta_phi.at(0));
156  }
157  }
158  //we know that at least a trigger fired
159  //find the total max
160  std::sort(max_per_trigger.begin(),
161  max_per_trigger.end(),
162  [](const std::array<float, 5>& a, const std::array<float, 5>& b) { return a[0] > b[0]; });
163  return max_per_trigger.at(0);
164 }

References a, b, trigger::TriggerObject::eta(), trigger::TriggerEvent::getObjects(), trigger::TriggerObject::id(), iEvent, HLT_FULL_cff::InputTag, edm::HandleBase::isValid(), dqmiolumiharvest::j, relativeConstraints::keys, trigger::TriggerObject::phi(), trigger::TriggerObject::pt(), and trigobjectsToken_.

Referenced by filter().

Member Data Documentation

◆ beam_x

float LeptonSkimming::beam_x
private

Definition at line 113 of file LeptonSkimming.h.

Referenced by filter().

◆ beam_y

float LeptonSkimming::beam_y
private

Definition at line 113 of file LeptonSkimming.h.

Referenced by filter().

◆ beam_z

float LeptonSkimming::beam_z
private

Definition at line 113 of file LeptonSkimming.h.

Referenced by filter().

◆ beamSpotToken_

edm::EDGetTokenT<reco::BeamSpot> LeptonSkimming::beamSpotToken_
private

Definition at line 106 of file LeptonSkimming.h.

Referenced by filter().

◆ BiasedWP

double LeptonSkimming::BiasedWP = -100
private

Definition at line 174 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ cleanedObjTracks

std::vector<std::shared_ptr<reco::Track> > LeptonSkimming::cleanedObjTracks
private

Definition at line 127 of file LeptonSkimming.h.

Referenced by filter().

◆ cleanedPairTracks

std::vector<std::shared_ptr<reco::Track> > LeptonSkimming::cleanedPairTracks
private

Definition at line 128 of file LeptonSkimming.h.

Referenced by filter().

◆ cleanedTracks

std::vector<std::shared_ptr<reco::Track> > LeptonSkimming::cleanedTracks
private

Definition at line 131 of file LeptonSkimming.h.

Referenced by filter().

◆ conversionsToken_

edm::EDGetTokenT<reco::ConversionCollection> LeptonSkimming::conversionsToken_
private

Definition at line 107 of file LeptonSkimming.h.

Referenced by filter().

◆ Cosee_Cut

double LeptonSkimming::Cosee_Cut = -1
private

Definition at line 152 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ CoseeK_Cut

double LeptonSkimming::CoseeK_Cut = 0
private

Definition at line 159 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ EarlyStop

bool LeptonSkimming::EarlyStop = false
private

Definition at line 153 of file LeptonSkimming.h.

◆ el_eta

std::vector<float> LeptonSkimming::el_eta
private

Definition at line 116 of file LeptonSkimming.h.

Referenced by filter().

◆ el_phi

std::vector<float> LeptonSkimming::el_phi
private

Definition at line 116 of file LeptonSkimming.h.

Referenced by filter().

◆ el_pt

std::vector<float> LeptonSkimming::el_pt
private

Definition at line 116 of file LeptonSkimming.h.

Referenced by filter().

◆ eleBWPToken_

edm::EDGetTokenT<edm::ValueMap<float> > LeptonSkimming::eleBWPToken_
private

Definition at line 101 of file LeptonSkimming.h.

Referenced by filter().

◆ electronsToken_

edm::EDGetToken LeptonSkimming::electronsToken_
private

Definition at line 100 of file LeptonSkimming.h.

Referenced by filter().

◆ eleUnBWPToken_

edm::EDGetTokenT<edm::ValueMap<float> > LeptonSkimming::eleUnBWPToken_
private

Definition at line 102 of file LeptonSkimming.h.

Referenced by filter().

◆ ElTracks

std::vector<std::shared_ptr<reco::Track> > LeptonSkimming::ElTracks
private

Definition at line 130 of file LeptonSkimming.h.

Referenced by filter().

◆ ElTrgExclusionCone

double LeptonSkimming::ElTrgExclusionCone = 0
private

Definition at line 168 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ ElTrgMuDz_Cut

double LeptonSkimming::ElTrgMuDz_Cut = 1000
private

Definition at line 171 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ Epair_ObjectId

std::vector<unsigned int> LeptonSkimming::Epair_ObjectId
private

Definition at line 117 of file LeptonSkimming.h.

Referenced by filter().

◆ Epair_ObjectIndex

std::vector<unsigned int> LeptonSkimming::Epair_ObjectIndex
private

Definition at line 117 of file LeptonSkimming.h.

Referenced by filter().

◆ Epair_TrkIndex

std::vector<unsigned int> LeptonSkimming::Epair_TrkIndex
private

Definition at line 117 of file LeptonSkimming.h.

Referenced by filter().

◆ EpairZvtx_Cut

double LeptonSkimming::EpairZvtx_Cut = 10000000
private

Definition at line 156 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ EtaTrack_Cut

double LeptonSkimming::EtaTrack_Cut = 10
private

Definition at line 138 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ HLTFilter_

std::vector<string> LeptonSkimming::HLTFilter_
private

Definition at line 110 of file LeptonSkimming.h.

Referenced by filter().

◆ HLTPath_

std::vector<string> LeptonSkimming::HLTPath_
private

Definition at line 110 of file LeptonSkimming.h.

Referenced by filter().

◆ Ksdxy_Cut

double LeptonSkimming::Ksdxy_Cut = 1000
private

Definition at line 157 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ MaxChi2Track_Cut

double LeptonSkimming::MaxChi2Track_Cut = 1000
private

Definition at line 140 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ MaxMB_Cut

double LeptonSkimming::MaxMB_Cut = 1000
private

Definition at line 144 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ MaxMee_Cut

double LeptonSkimming::MaxMee_Cut = 1000
private

Definition at line 142 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ MinChi2Track_Cut

double LeptonSkimming::MinChi2Track_Cut = -1000
private

Definition at line 139 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ MinMB_Cut

double LeptonSkimming::MinMB_Cut = 0
private

Definition at line 145 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ MinMee_Cut

double LeptonSkimming::MinMee_Cut = 0
private

Definition at line 150 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ muon_eta

std::vector<float> LeptonSkimming::muon_eta
private

Definition at line 116 of file LeptonSkimming.h.

Referenced by filter().

◆ muon_medium

std::vector<float> LeptonSkimming::muon_medium
private

Definition at line 116 of file LeptonSkimming.h.

Referenced by filter().

◆ muon_phi

std::vector<float> LeptonSkimming::muon_phi
private

Definition at line 116 of file LeptonSkimming.h.

Referenced by filter().

◆ muon_pt

std::vector<float> LeptonSkimming::muon_pt
private

Definition at line 116 of file LeptonSkimming.h.

Referenced by filter().

◆ muon_soft

std::vector<float> LeptonSkimming::muon_soft
private

Definition at line 116 of file LeptonSkimming.h.

Referenced by filter().

◆ muon_tight

std::vector<float> LeptonSkimming::muon_tight
private

Definition at line 116 of file LeptonSkimming.h.

Referenced by filter().

◆ muonsToken_

edm::EDGetToken LeptonSkimming::muonsToken_
private

Definition at line 103 of file LeptonSkimming.h.

Referenced by filter().

◆ MuTracks

std::vector<std::shared_ptr<reco::Track> > LeptonSkimming::MuTracks
private

Definition at line 129 of file LeptonSkimming.h.

Referenced by filter().

◆ MuTrgExclusionCone

double LeptonSkimming::MuTrgExclusionCone = 0
private

Definition at line 167 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ MuTrgMatchCone

double LeptonSkimming::MuTrgMatchCone = 1000
private

Definition at line 154 of file LeptonSkimming.h.

Referenced by LeptonSkimming().

◆ MuTrgMuDz_Cut

double LeptonSkimming::MuTrgMuDz_Cut = 1000
private

Definition at line 170 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ MuTrkMinDR_Cut

double LeptonSkimming::MuTrkMinDR_Cut = 0
private

Definition at line 141 of file LeptonSkimming.h.

Referenced by LeptonSkimming().

◆ nel

unsigned int LeptonSkimming::nel = 0
private

Definition at line 135 of file LeptonSkimming.h.

Referenced by filter().

◆ nmuons

unsigned int LeptonSkimming::nmuons = 0
private

Definition at line 135 of file LeptonSkimming.h.

Referenced by filter().

◆ ntracks

unsigned int LeptonSkimming::ntracks = 0
private

Definition at line 135 of file LeptonSkimming.h.

Referenced by filter().

◆ object_container

std::vector<unsigned int> LeptonSkimming::object_container
private

Definition at line 133 of file LeptonSkimming.h.

Referenced by filter().

◆ object_id

std::vector<unsigned int> LeptonSkimming::object_id
private

Definition at line 133 of file LeptonSkimming.h.

Referenced by filter().

◆ ObjPtLargerThanTrack

bool LeptonSkimming::ObjPtLargerThanTrack = false
private

Definition at line 173 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ Probee_Cut

double LeptonSkimming::Probee_Cut = 0
private

Definition at line 151 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ ProbeeK_Cut

double LeptonSkimming::ProbeeK_Cut = 0
private

Definition at line 158 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ PtB_Cut

double LeptonSkimming::PtB_Cut = 0
private

Definition at line 163 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ PtEl_Cut

double LeptonSkimming::PtEl_Cut = 0
private

Definition at line 166 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ PtKTrack_Cut

double LeptonSkimming::PtKTrack_Cut = 0
private

Definition at line 143 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ PtMu_Cut

double LeptonSkimming::PtMu_Cut = 0
private

Definition at line 164 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ PtTrack_Cut

double LeptonSkimming::PtTrack_Cut = 0
private

Definition at line 137 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ QualMu_Cut

double LeptonSkimming::QualMu_Cut = 0
private

Definition at line 165 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ Result

bool LeptonSkimming::Result = false
private

Definition at line 112 of file LeptonSkimming.h.

Referenced by filter().

◆ SaveOnlyEPairTracks

bool LeptonSkimming::SaveOnlyEPairTracks = false
private

Definition at line 147 of file LeptonSkimming.h.

◆ SaveOnlyTracks

bool LeptonSkimming::SaveOnlyTracks = false
private

Definition at line 146 of file LeptonSkimming.h.

◆ SaveOutputRoot

bool LeptonSkimming::SaveOutputRoot = true
private

Definition at line 172 of file LeptonSkimming.h.

◆ SelectedMu_DR

float LeptonSkimming::SelectedMu_DR = -1
private

Definition at line 122 of file LeptonSkimming.h.

Referenced by filter().

◆ SelectedMu_index

int LeptonSkimming::SelectedMu_index
private

Definition at line 120 of file LeptonSkimming.h.

Referenced by filter().

◆ SelectedTrgObj_PtEtaPhiCharge

std::vector<float> LeptonSkimming::SelectedTrgObj_PtEtaPhiCharge
private

Definition at line 119 of file LeptonSkimming.h.

Referenced by filter().

◆ SkimOnlyElectrons

bool LeptonSkimming::SkimOnlyElectrons = false
private

Definition at line 177 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ SkimOnlyMuons

bool LeptonSkimming::SkimOnlyMuons = false
private

Definition at line 176 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ SkipIfNoMuMatch

bool LeptonSkimming::SkipIfNoMuMatch = false
private

Definition at line 155 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ SLxy_Cut

double LeptonSkimming::SLxy_Cut = 0
private

Definition at line 162 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ tempPtEtaPhiM

std::vector<float> LeptonSkimming::tempPtEtaPhiM
private

Definition at line 126 of file LeptonSkimming.h.

◆ tempXYZ

std::vector<float> LeptonSkimming::tempXYZ
private

Definition at line 126 of file LeptonSkimming.h.

◆ test_ev

int LeptonSkimming::test_ev = 0
private

Definition at line 178 of file LeptonSkimming.h.

Referenced by filter().

◆ track_vx

std::vector<float> LeptonSkimming::track_vx
private

Definition at line 115 of file LeptonSkimming.h.

◆ track_vy

std::vector<float> LeptonSkimming::track_vy
private

Definition at line 115 of file LeptonSkimming.h.

◆ track_vz

std::vector<float> LeptonSkimming::track_vz
private

Definition at line 115 of file LeptonSkimming.h.

◆ TrackMuDz_Cut

double LeptonSkimming::TrackMuDz_Cut = 100000000
private

Definition at line 160 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ trackObj_container

std::vector<unsigned int> LeptonSkimming::trackObj_container
private

Definition at line 132 of file LeptonSkimming.h.

◆ trackPair_container

std::vector<unsigned int> LeptonSkimming::trackPair_container
private

Definition at line 132 of file LeptonSkimming.h.

◆ Tracks_

edm::EDGetToken LeptonSkimming::Tracks_
private

Definition at line 104 of file LeptonSkimming.h.

Referenced by filter().

◆ TrackSdxy_Cut

double LeptonSkimming::TrackSdxy_Cut = 0
private

Definition at line 148 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ TrgExclusionCone

double LeptonSkimming::TrgExclusionCone = -1
private

Definition at line 161 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ trgresultsToken_

edm::EDGetTokenT<edm::TriggerResults> LeptonSkimming::trgresultsToken_
private

Definition at line 108 of file LeptonSkimming.h.

Referenced by filter(), and hltFired().

◆ trigobjectsToken_

edm::EDGetTokenT<trigger::TriggerEvent> LeptonSkimming::trigobjectsToken_
private

Definition at line 109 of file LeptonSkimming.h.

Referenced by hltObject().

◆ Trk_container

std::vector<unsigned int> LeptonSkimming::Trk_container
private

Definition at line 133 of file LeptonSkimming.h.

Referenced by filter().

◆ trk_index

unsigned int LeptonSkimming::trk_index = 0
private

Definition at line 124 of file LeptonSkimming.h.

Referenced by filter().

◆ TrkObjExclusionCone

double LeptonSkimming::TrkObjExclusionCone = 0
private

Definition at line 169 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ UnbiasedWP

double LeptonSkimming::UnbiasedWP = -100
private

Definition at line 175 of file LeptonSkimming.h.

Referenced by filter(), and LeptonSkimming().

◆ UseOnlyBKeeMCForTriplets

bool LeptonSkimming::UseOnlyBKeeMCForTriplets = false
private

Definition at line 149 of file LeptonSkimming.h.

◆ vertex_point

reco::TrackBase::Point LeptonSkimming::vertex_point
private

Definition at line 125 of file LeptonSkimming.h.

Referenced by filter().

◆ vtxToken_

edm::EDGetTokenT<reco::VertexCollection> LeptonSkimming::vtxToken_
private

Definition at line 105 of file LeptonSkimming.h.

Referenced by filter().

◆ ZvertexTrg

float LeptonSkimming::ZvertexTrg = -1 * std::numeric_limits<float>::max()
private

Definition at line 123 of file LeptonSkimming.h.

Referenced by filter().

trigger::TriggerObject::phi
float phi() const
Definition: TriggerObject.h:54
PDWG_BPHSkim_cff.muons
muons
Definition: PDWG_BPHSkim_cff.py:47
LeptonSkimming::object_container
std::vector< unsigned int > object_container
Definition: LeptonSkimming.h:133
LeptonSkimming::EpairZvtx_Cut
double EpairZvtx_Cut
Definition: LeptonSkimming.h:156
LeptonSkimming::Result
bool Result
Definition: LeptonSkimming.h:112
PDWG_EXOHSCP_cff.tracks
tracks
Definition: PDWG_EXOHSCP_cff.py:28
LeptonSkimming::cleanedObjTracks
std::vector< std::shared_ptr< reco::Track > > cleanedObjTracks
Definition: LeptonSkimming.h:127
LeptonSkimming::nmuons
unsigned int nmuons
Definition: LeptonSkimming.h:135
LeptonSkimming::ElTrgExclusionCone
double ElTrgExclusionCone
Definition: LeptonSkimming.h:168
LeptonSkimming::Ksdxy_Cut
double Ksdxy_Cut
Definition: LeptonSkimming.h:157
LeptonSkimming::trigobjectsToken_
edm::EDGetTokenT< trigger::TriggerEvent > trigobjectsToken_
Definition: LeptonSkimming.h:109
muon::isSoftMuon
bool isSoftMuon(const reco::Muon &, const reco::Vertex &, bool run2016_hip_mitigation=false)
Definition: MuonSelectors.cc:916
LeptonSkimming::ElTrgMuDz_Cut
double ElTrgMuDz_Cut
Definition: LeptonSkimming.h:171
isTightMuonCustom
bool isTightMuonCustom(const reco::Muon &recoMu, const reco::Vertex recoVtx)
Definition: MuonID.h:36
LeptonSkimming::beam_z
float beam_z
Definition: LeptonSkimming.h:113
LeptonSkimming::SkimOnlyElectrons
bool SkimOnlyElectrons
Definition: LeptonSkimming.h:177
isMediumMuonCustom
bool isMediumMuonCustom(const reco::Muon &recoMu)
Definition: MuonID.h:27
LeptonSkimming::TrackSdxy_Cut
double TrackSdxy_Cut
Definition: LeptonSkimming.h:148
TransientVertex::isValid
bool isValid() const
Definition: TransientVertex.h:195
LeptonSkimming::MuTrgMuDz_Cut
double MuTrgMuDz_Cut
Definition: LeptonSkimming.h:170
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
LeptonSkimming::ntracks
unsigned int ntracks
Definition: LeptonSkimming.h:135
LeptonSkimming::ElTracks
std::vector< std::shared_ptr< reco::Track > > ElTracks
Definition: LeptonSkimming.h:130
amptDefaultParameters_cff.mu
mu
Definition: amptDefaultParameters_cff.py:16
reco::BeamSpot::z0
double z0() const
z coordinate
Definition: BeamSpot.h:65
ChiSquaredProbability
float ChiSquaredProbability(double chiSquared, double nrDOF)
Definition: ChiSquaredProbability.cc:13
edm
HLT enums.
Definition: AlignableModifier.h:19
LeptonSkimming::HLTPath_
std::vector< string > HLTPath_
Definition: LeptonSkimming.h:110
LeptonSkimming::MinMB_Cut
double MinMB_Cut
Definition: LeptonSkimming.h:145
LeptonSkimming::TrgExclusionCone
double TrgExclusionCone
Definition: LeptonSkimming.h:161
HLT_FULL_cff.InputTag
InputTag
Definition: HLT_FULL_cff.py:89287
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
LeptonSkimming::vertex_point
reco::TrackBase::Point vertex_point
Definition: LeptonSkimming.h:125
LeptonSkimming::TrkObjExclusionCone
double TrkObjExclusionCone
Definition: LeptonSkimming.h:169
TransientVertex::position
GlobalPoint position() const
Definition: TransientVertex.h:169
LeptonSkimming::ProbeeK_Cut
double ProbeeK_Cut
Definition: LeptonSkimming.h:158
LeptonSkimming::muon_soft
std::vector< float > muon_soft
Definition: LeptonSkimming.h:116
LeptonSkimming::muonsToken_
edm::EDGetToken muonsToken_
Definition: LeptonSkimming.h:103
relativeConstraints.keys
keys
Definition: relativeConstraints.py:89
LeptonSkimming::BiasedWP
double BiasedWP
Definition: LeptonSkimming.h:174
LeptonSkimming::trgresultsToken_
edm::EDGetTokenT< edm::TriggerResults > trgresultsToken_
Definition: LeptonSkimming.h:108
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
reco::BeamSpot::dxdz
double dxdz() const
dxdz slope
Definition: BeamSpot.h:78
LeptonSkimming::cleanedPairTracks
std::vector< std::shared_ptr< reco::Track > > cleanedPairTracks
Definition: LeptonSkimming.h:128
LeptonSkimming::PtB_Cut
double PtB_Cut
Definition: LeptonSkimming.h:163
edm::Handle
Definition: AssociativeIterator.h:50
LeptonSkimming::MinChi2Track_Cut
double MinChi2Track_Cut
Definition: LeptonSkimming.h:139
LeptonSkimming::conversionsToken_
edm::EDGetTokenT< reco::ConversionCollection > conversionsToken_
Definition: LeptonSkimming.h:107
LeptonSkimming::el_phi
std::vector< float > el_phi
Definition: LeptonSkimming.h:116
LeptonSkimming::MaxMB_Cut
double MaxMB_Cut
Definition: LeptonSkimming.h:144
reco::Muon
Definition: Muon.h:27
edm::Ref< GsfTrackCollection >
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
fileCollector.seed
seed
Definition: fileCollector.py:127
reco::TrackBase::pt
double pt() const
track transverse momentum
Definition: TrackBase.h:637
IdealMagneticFieldRecord
Definition: IdealMagneticFieldRecord.h:11
LeptonSkimming::EtaTrack_Cut
double EtaTrack_Cut
Definition: LeptonSkimming.h:138
trigger::TriggerObject::pt
float pt() const
Definition: TriggerObject.h:52
LeptonSkimming::trk_index
unsigned int trk_index
Definition: LeptonSkimming.h:124
LeptonSkimming::muon_eta
std::vector< float > muon_eta
Definition: LeptonSkimming.h:116
edm::EventSetup::get
T get() const
Definition: EventSetup.h:80
LeptonSkimming::eleUnBWPToken_
edm::EDGetTokenT< edm::ValueMap< float > > eleUnBWPToken_
Definition: LeptonSkimming.h:102
LeptonSkimming::PtEl_Cut
double PtEl_Cut
Definition: LeptonSkimming.h:166
LeptonSkimming::UnbiasedWP
double UnbiasedWP
Definition: LeptonSkimming.h:175
LeptonSkimming::Epair_ObjectId
std::vector< unsigned int > Epair_ObjectId
Definition: LeptonSkimming.h:117
edm::HLTGlobalStatus::size
unsigned int size() const
Get number of paths stored.
Definition: HLTGlobalStatus.h:35
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
LeptonSkimming::hltFired
bool hltFired(const edm::Event &iEvent, const edm::EventSetup &iSetup, std::vector< string > HLTPath)
Definition: LeptonSkimming.cc:91
ConversionTools::hasMatchedConversion
static bool hasMatchedConversion(const reco::GsfElectron &ele, const reco::ConversionCollection &convCol, const math::XYZPoint &beamspot, bool allowCkfMatch=true, float lxyMin=2.0, float probMin=1e-6, unsigned int nHitsBeforeVtxMax=0)
Definition: ConversionTools.cc:183
LeptonSkimming::SkimOnlyMuons
bool SkimOnlyMuons
Definition: LeptonSkimming.h:176
reco::Track
Definition: Track.h:27
edm::ESHandle< MagneticField >
LeptonSkimming::Trk_container
std::vector< unsigned int > Trk_container
Definition: LeptonSkimming.h:133
LeptonSkimming::beam_x
float beam_x
Definition: LeptonSkimming.h:113
LeptonSkimming::MuTracks
std::vector< std::shared_ptr< reco::Track > > MuTracks
Definition: LeptonSkimming.h:129
reco::GsfElectron
Definition: GsfElectron.h:35
reco::BeamSpot::position
const Point & position() const
position
Definition: BeamSpot.h:59
LeptonSkimming::el_pt
std::vector< float > el_pt
Definition: LeptonSkimming.h:116
LeptonSkimming::eleBWPToken_
edm::EDGetTokenT< edm::ValueMap< float > > eleBWPToken_
Definition: LeptonSkimming.h:101
Point3DBase< float, GlobalTag >
LeptonSkimming::Probee_Cut
double Probee_Cut
Definition: LeptonSkimming.h:151
b
double b
Definition: hdecay.h:118
reco::TrackBase::phi
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:649
trigger::TriggerObject
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:21
getGTfromDQMFile.obj
obj
Definition: getGTfromDQMFile.py:32
PbPb_ZMuSkimMuonDPG_cff.deltaR
deltaR
Definition: PbPb_ZMuSkimMuonDPG_cff.py:63
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
LeptonSkimming::QualMu_Cut
double QualMu_Cut
Definition: LeptonSkimming.h:165
EgHLTOffTrigSelection_cfi.trigName
trigName
Definition: EgHLTOffTrigSelection_cfi.py:8
LeptonSkimming::Tracks_
edm::EDGetToken Tracks_
Definition: LeptonSkimming.h:104
LeptonSkimming::MaxMee_Cut
double MaxMee_Cut
Definition: LeptonSkimming.h:142
LeptonSkimming::cleanedTracks
std::vector< std::shared_ptr< reco::Track > > cleanedTracks
Definition: LeptonSkimming.h:131
LeptonSkimming::Cosee_Cut
double Cosee_Cut
Definition: LeptonSkimming.h:152
edm::HandleBase::failedToGet
bool failedToGet() const
Definition: HandleBase.h:72
edm::ParameterSet
Definition: ParameterSet.h:47
LeptonSkimming::MuTrgMatchCone
double MuTrgMatchCone
Definition: LeptonSkimming.h:154
a
double a
Definition: hdecay.h:119
LeptonSkimming::ZvertexTrg
float ZvertexTrg
Definition: LeptonSkimming.h:123
LeptonSkimming::beamSpotToken_
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
Definition: LeptonSkimming.h:106
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
LeptonSkimming::muon_pt
std::vector< float > muon_pt
Definition: LeptonSkimming.h:116
trigger::TriggerObjectCollection
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:75
LeptonSkimming::MuTrkMinDR_Cut
double MuTrkMinDR_Cut
Definition: LeptonSkimming.h:141
reco::TrackBase::eta
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:652
trigger::TriggerObject::id
int id() const
getters
Definition: TriggerObject.h:51
math::XYZVector
XYZVectorD XYZVector
spatial vector with cartesian internal representation
Definition: Vector3D.h:31
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
iEvent
int iEvent
Definition: GenABIO.cc:224
trigger::Keys
std::vector< size_type > Keys
Definition: TriggerTypeDefs.h:19
trigger::TriggerObject::eta
float eta() const
Definition: TriggerObject.h:53
LeptonSkimming::nel
unsigned int nel
Definition: LeptonSkimming.h:135
GlobalErrorBase< double, ErrorMatrixTag >
TransientVertex
Definition: TransientVertex.h:18
submitPVResolutionJobs.err
err
Definition: submitPVResolutionJobs.py:85
LeptonSkimming::test_ev
int test_ev
Definition: LeptonSkimming.h:178
get
#define get
LeptonSkimming::ObjPtLargerThanTrack
bool ObjPtLargerThanTrack
Definition: LeptonSkimming.h:173
trigger::TriggerEvent::getObjects
const TriggerObjectCollection & getObjects() const
Definition: TriggerEvent.h:101
LeptonSkimming::Epair_ObjectIndex
std::vector< unsigned int > Epair_ObjectIndex
Definition: LeptonSkimming.h:117
environment_file_cff.runParameters
runParameters
Definition: environment_file_cff.py:13
LeptonSkimming::muon_phi
std::vector< float > muon_phi
Definition: LeptonSkimming.h:116
reco::BeamSpot::dydz
double dydz() const
dydz slope
Definition: BeamSpot.h:80
LeptonSkimming::MuTrgExclusionCone
double MuTrgExclusionCone
Definition: LeptonSkimming.h:167
reco::BeamSpot::x0
double x0() const
x coordinate
Definition: BeamSpot.h:61
LeptonSkimming::object_id
std::vector< unsigned int > object_id
Definition: LeptonSkimming.h:133
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
std
Definition: JetResolutionObject.h:76
LeptonSkimming::vtxToken_
edm::EDGetTokenT< reco::VertexCollection > vtxToken_
Definition: LeptonSkimming.h:105
reco::TransientTrack
Definition: TransientTrack.h:19
extraflags_cff.vtx
vtx
Definition: extraflags_cff.py:18
pwdgSkimBPark_cfi.electrons
electrons
Definition: pwdgSkimBPark_cfi.py:6
edm::ValueMap< float >
LeptonSkimming::PtMu_Cut
double PtMu_Cut
Definition: LeptonSkimming.h:164
edm::TriggerNames
Definition: TriggerNames.h:55
LeptonSkimming::SelectedMu_DR
float SelectedMu_DR
Definition: LeptonSkimming.h:122
LeptonSkimming::SLxy_Cut
double SLxy_Cut
Definition: LeptonSkimming.h:162
muons_cff.highPurity
highPurity
Definition: muons_cff.py:136
LeptonSkimming::SkipIfNoMuMatch
bool SkipIfNoMuMatch
Definition: LeptonSkimming.h:155
LeptonSkimming::MinMee_Cut
double MinMee_Cut
Definition: LeptonSkimming.h:150
LeptonSkimming::SelectedTrgObj_PtEtaPhiCharge
std::vector< float > SelectedTrgObj_PtEtaPhiCharge
Definition: LeptonSkimming.h:119
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
LeptonSkimming::PtTrack_Cut
double PtTrack_Cut
Definition: LeptonSkimming.h:137
edm::HLTGlobalStatus::accept
bool accept() const
Has at least one path accepted the event?
Definition: HLTGlobalStatus.h:49
LeptonSkimming::beam_y
float beam_y
Definition: LeptonSkimming.h:113
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
trigger
Definition: HLTPrescaleTableCond.h:8
pwdgSkimBPark_cfi.HLTPath
HLTPath
Definition: pwdgSkimBPark_cfi.py:19
LeptonSkimming::HLTFilter_
std::vector< string > HLTFilter_
Definition: LeptonSkimming.h:110
LeptonSkimming::hltObject
std::array< float, 5 > hltObject(const edm::Event &iEvent, const edm::EventSetup &iSetup, std::vector< string > Seed)
Definition: LeptonSkimming.cc:116
edm::EDConsumerBase::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: EDConsumerBase.h:153
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
LeptonSkimming::electronsToken_
edm::EDGetToken electronsToken_
Definition: LeptonSkimming.h:100
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
pwdgSkimBPark_cfi.conversions
conversions
Definition: pwdgSkimBPark_cfi.py:10
LeptonSkimming::Epair_TrkIndex
std::vector< unsigned int > Epair_TrkIndex
Definition: LeptonSkimming.h:117
reco::BeamSpot::y0
double y0() const
y coordinate
Definition: BeamSpot.h:63
LeptonSkimming::PtKTrack_Cut
double PtKTrack_Cut
Definition: LeptonSkimming.h:143
edm::ConfigurationDescriptions::addDefault
void addDefault(ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:99
LeptonSkimming::CoseeK_Cut
double CoseeK_Cut
Definition: LeptonSkimming.h:159
LeptonSkimming::muon_tight
std::vector< float > muon_tight
Definition: LeptonSkimming.h:116
LeptonSkimming::MaxChi2Track_Cut
double MaxChi2Track_Cut
Definition: LeptonSkimming.h:140
edm::InputTag
Definition: InputTag.h:15
LeptonSkimming::el_eta
std::vector< float > el_eta
Definition: LeptonSkimming.h:116
reco::Vertex
Definition: Vertex.h:35
LeptonSkimming::muon_medium
std::vector< float > muon_medium
Definition: LeptonSkimming.h:116
TransientVertex::positionError
GlobalError positionError() const
Definition: TransientVertex.h:170
LeptonSkimming::TrackMuDz_Cut
double TrackMuDz_Cut
Definition: LeptonSkimming.h:160
pwdgSkimBPark_cfi.vertices
vertices
Definition: pwdgSkimBPark_cfi.py:7
KalmanVertexFitter
Definition: KalmanVertexFitter.h:22
LeptonSkimming::SelectedMu_index
int SelectedMu_index
Definition: LeptonSkimming.h:120