ATLAS Offline Software
MultiBjetFilter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 // Written by Bill Balunas (balunas@cern.ch)
5 // Based on DiBjetFilter by Stephen Bienek
6 
7 #ifndef GENERATORFILTERSMULTIBJETFILTER_H
8 #define GENERATORFILTERSMULTIBJETFILTER_H
9 
12 
13 namespace CLHEP {
14  class HepRandomEngine;
15 }
16 
17 
18 class MultiBjetFilter:public GenFilter {
19 
20  public:
21  MultiBjetFilter(const std::string& name, ISvcLocator* pSvcLocator);
22  virtual ~MultiBjetFilter();
23  virtual StatusCode filterInitialize();
24  virtual StatusCode filterFinalize();
25  virtual StatusCode filterEvent();
26 
27 private:
28 
29  CLHEP::HepRandomEngine* getRandomEngine(const std::string& streamName,
30  const EventContext& ctx) const;
31 
32  // Basic jet requirements
34  double m_jetPtMin;
35  double m_jetEtaMax;
38 
39  // Variables for cutting sample into pt slices
42 
43  // Flavor filter variables
44  double m_bottomPtMin;
48 
49  // inclusive filter efficiency
51  ServiceHandle<IAthRNGSvc> m_rndmSvc{this, "RndmSvc", "AthRNGSvc"};
53 
54  // Internal bookkeeping variables
55  int m_NPass;
56  int m_Nevt;
59 
60  bool isBwithWeakDK(const int pID) const;
61 
62 
63 };
64 
65 #endif
66 
67 
MultiBjetFilter::isBwithWeakDK
bool isBwithWeakDK(const int pID) const
Definition: MultiBjetFilter.cxx:191
MultiBjetFilter::m_deltaRFromTruth
double m_deltaRFromTruth
Definition: MultiBjetFilter.h:33
MultiBjetFilter::m_SumOfWeights_Evt
double m_SumOfWeights_Evt
Definition: MultiBjetFilter.h:58
MultiBjetFilter::m_jetEtaMax
double m_jetEtaMax
Definition: MultiBjetFilter.h:35
MultiBjetFilter::m_nJetsMax
int m_nJetsMax
Definition: MultiBjetFilter.h:37
GenFilter.h
MultiBjetFilter::getRandomEngine
CLHEP::HepRandomEngine * getRandomEngine(const std::string &streamName, const EventContext &ctx) const
Definition: MultiBjetFilter.cxx:71
MultiBjetFilter::m_NPass
int m_NPass
Definition: MultiBjetFilter.h:55
MultiBjetFilter::m_rndmSvc
ServiceHandle< IAthRNGSvc > m_rndmSvc
Definition: MultiBjetFilter.h:51
MultiBjetFilter::filterFinalize
virtual StatusCode filterFinalize()
Definition: MultiBjetFilter.cxx:63
MultiBjetFilter::~MultiBjetFilter
virtual ~MultiBjetFilter()
Definition: MultiBjetFilter.cxx:49
MultiBjetFilter::m_bottomEtaMax
double m_bottomEtaMax
Definition: MultiBjetFilter.h:45
MultiBjetFilter::m_jetPtMin
double m_jetPtMin
Definition: MultiBjetFilter.h:34
MultiBjetFilter::m_TruthJetContainerName
std::string m_TruthJetContainerName
Definition: MultiBjetFilter.h:52
GenFilter
Base class for event generator filtering modules.
Definition: GenFilter.h:30
MultiBjetFilter
Definition: MultiBjetFilter.h:18
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MultiBjetFilter::m_leadJet_ptMin
double m_leadJet_ptMin
Definition: MultiBjetFilter.h:40
CLHEP
STD'S.
Definition: IAtRndmGenSvc.h:19
MultiBjetFilter::m_SumOfWeights_Pass
double m_SumOfWeights_Pass
Definition: MultiBjetFilter.h:57
MultiBjetFilter::filterEvent
virtual StatusCode filterEvent()
Definition: MultiBjetFilter.cxx:81
MultiBjetFilter::m_bottomPtMin
double m_bottomPtMin
Definition: MultiBjetFilter.h:44
MultiBjetFilter::filterInitialize
virtual StatusCode filterInitialize()
Definition: MultiBjetFilter.cxx:51
MultiBjetFilter::m_nBJetsMin
int m_nBJetsMin
Definition: MultiBjetFilter.h:46
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
MultiBjetFilter::m_inclusiveEff
double m_inclusiveEff
Definition: MultiBjetFilter.h:50
MultiBjetFilter::m_Nevt
int m_Nevt
Definition: MultiBjetFilter.h:56
MultiBjetFilter::m_nBJetsMax
int m_nBJetsMax
Definition: MultiBjetFilter.h:47
AthenaPoolExample_Copy.streamName
string streamName
Definition: AthenaPoolExample_Copy.py:39
MultiBjetFilter::m_leadJet_ptMax
double m_leadJet_ptMax
Definition: MultiBjetFilter.h:41
MultiBjetFilter::MultiBjetFilter
MultiBjetFilter(const std::string &name, ISvcLocator *pSvcLocator)
Definition: MultiBjetFilter.cxx:25
MultiBjetFilter::m_nJetsMin
int m_nJetsMin
Definition: MultiBjetFilter.h:36
IAthRNGSvc.h
ServiceHandle< IAthRNGSvc >