ATLAS Offline Software
xAODMultiBjetFilter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 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 GENERATORFILTERSxAODMULTIBJETFILTER_H
8 #define GENERATORFILTERSxAODMULTIBJETFILTER_H
9 
14 #include "xAODTruth/TruthEvent.h"
16 
17 //Random number generator required for accepting light jets
18 class TRandom3;
19 
21 
22  public:
23  xAODMultiBjetFilter(const std::string& name, ISvcLocator* pSvcLocator);
24  virtual ~xAODMultiBjetFilter();
25  virtual StatusCode filterInitialize();
26  virtual StatusCode filterFinalize();
27  virtual StatusCode filterEvent();
28 
29 private:
30 
31  // Basic jet requirements
32  Gaudi::Property<double> m_deltaRFromTruth{this,"DeltaRFromTruth",0.3,"Delta R from truth particle"};
33  Gaudi::Property<double> m_jetPtMin{this,"JetPtMin",15000.,"Minimal jet Pt"};
34  Gaudi::Property<double> m_jetEtaMax{this,"JetEtaMax",2.7,"Maximal jet eta"};
35  Gaudi::Property<int> m_nJetsMin{this,"NJetsMin",0,"Minimal jet multiplicity"};
36  Gaudi::Property<int> m_nJetsMax{this,"NJetsMax",-1,"Maximal jet multiplicity"};
37 
38  // Variables for cutting sample into pt slices
39  Gaudi::Property<double> m_leadJet_ptMin{this,"LeadJetPtMin",0,"Minimal leading b-jet Pt"};
40  Gaudi::Property<double> m_leadJet_ptMax{this,"LeadJetPtMax",-1,"Maximal leading b-jet Pt"};
41 
42  // Flavor filter variables
43  Gaudi::Property<double> m_bottomPtMin{this,"BottomPtMin",5000.,"Minimal bottom Pt"};
44  Gaudi::Property<double> m_bottomEtaMax{this,"BottomEtaMax",3.0,"Maximal bottom eta"};
45  Gaudi::Property<int> m_nBJetsMin{this,"NBJetsMin",0,"Minimal b-jet multiplicity"};
46  Gaudi::Property<int> m_nBJetsMax{this,"NBJetsMax",-1,"Maximal b-jet multiplicity"};
47  Gaudi::Property<std::string> m_TruthJetContainerName{this,"TruthContainerName","AntiKt4TruthJets","Truht jet container name"};
48 
49  // Internal bookkeeping variables
50  int m_NPass;
51  int m_Nevt;
54 
55  bool isBwithWeakDK(const int pID) const;
56 
57 
58 };
59 
60 #endif
61 
62 
xAODMultiBjetFilter::m_TruthJetContainerName
Gaudi::Property< std::string > m_TruthJetContainerName
Definition: xAODMultiBjetFilter.h:47
TruthParticleContainer.h
GenFilter.h
xAODMultiBjetFilter::m_nJetsMin
Gaudi::Property< int > m_nJetsMin
Definition: xAODMultiBjetFilter.h:35
xAODMultiBjetFilter::xAODMultiBjetFilter
xAODMultiBjetFilter(const std::string &name, ISvcLocator *pSvcLocator)
Definition: xAODMultiBjetFilter.cxx:24
xAODMultiBjetFilter::m_deltaRFromTruth
Gaudi::Property< double > m_deltaRFromTruth
Definition: xAODMultiBjetFilter.h:32
TruthParticleAuxContainer.h
xAODMultiBjetFilter::m_jetEtaMax
Gaudi::Property< double > m_jetEtaMax
Definition: xAODMultiBjetFilter.h:34
xAODMultiBjetFilter::isBwithWeakDK
bool isBwithWeakDK(const int pID) const
Definition: xAODMultiBjetFilter.cxx:145
GenFilter
Base class for event generator filtering modules.
Definition: GenFilter.h:30
xAODMultiBjetFilter::filterFinalize
virtual StatusCode filterFinalize()
Definition: xAODMultiBjetFilter.cxx:48
xAODMultiBjetFilter::filterInitialize
virtual StatusCode filterInitialize()
Definition: xAODMultiBjetFilter.cxx:37
xAODMultiBjetFilter
Definition: xAODMultiBjetFilter.h:20
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAODMultiBjetFilter::m_jetPtMin
Gaudi::Property< double > m_jetPtMin
Definition: xAODMultiBjetFilter.h:33
xAODMultiBjetFilter::~xAODMultiBjetFilter
virtual ~xAODMultiBjetFilter()
Definition: xAODMultiBjetFilter.cxx:35
xAODMultiBjetFilter::m_bottomPtMin
Gaudi::Property< double > m_bottomPtMin
Definition: xAODMultiBjetFilter.h:43
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
xAODMultiBjetFilter::filterEvent
virtual StatusCode filterEvent()
Definition: xAODMultiBjetFilter.cxx:56
xAODMultiBjetFilter::m_nBJetsMax
Gaudi::Property< int > m_nBJetsMax
Definition: xAODMultiBjetFilter.h:46
xAODMultiBjetFilter::m_SumOfWeights_Pass
double m_SumOfWeights_Pass
Definition: xAODMultiBjetFilter.h:52
xAODMultiBjetFilter::m_leadJet_ptMax
Gaudi::Property< double > m_leadJet_ptMax
Definition: xAODMultiBjetFilter.h:40
xAODMultiBjetFilter::m_Nevt
int m_Nevt
Definition: xAODMultiBjetFilter.h:51
xAODMultiBjetFilter::m_leadJet_ptMin
Gaudi::Property< double > m_leadJet_ptMin
Definition: xAODMultiBjetFilter.h:39
xAODMultiBjetFilter::m_SumOfWeights_Evt
double m_SumOfWeights_Evt
Definition: xAODMultiBjetFilter.h:53
xAODMultiBjetFilter::m_NPass
int m_NPass
Definition: xAODMultiBjetFilter.h:50
TruthParticle.h
TruthEventContainer.h
xAODMultiBjetFilter::m_nBJetsMin
Gaudi::Property< int > m_nBJetsMin
Definition: xAODMultiBjetFilter.h:45
TruthEvent.h
xAODMultiBjetFilter::m_nJetsMax
Gaudi::Property< int > m_nJetsMax
Definition: xAODMultiBjetFilter.h:36
xAODMultiBjetFilter::m_bottomEtaMax
Gaudi::Property< double > m_bottomEtaMax
Definition: xAODMultiBjetFilter.h:44