ATLAS Offline Software
xAODMultiCjetFilter.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 Dominik Derendarz (dominik.derendarz@cern.ch)
5 // Based on MultiBjetFilter by Bill Balunas
6 
7 #ifndef GENERATORFILTERSXAODMULTICJETFILTER_H
8 #define GENERATORFILTERSXAODMULTICJETFILTER_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  xAODMultiCjetFilter(const std::string& name, ISvcLocator* pSvcLocator);
24  virtual ~xAODMultiCjetFilter();
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_nCJetsMin{this,"NCJetsMin",0,"Minimal c-jet multiplicity"};
46  Gaudi::Property<int> m_nCJetsMax{this,"NCJetsMax",-1,"Maximal c-jet multiplicity"};
47  Gaudi::Property<double> m_charmPtMin{this,"CharmPtMin",5000.,"Minimal charm Pt"};
48  Gaudi::Property<double> m_charmEtaMax{this,"CharmEtaMax",3.0,"Maximal charm eta"};
49  Gaudi::Property<std::string> m_TruthJetContainerName{this,"TruthContainerName","AntiKt4TruthJets","Truht jet container name"};
50 
51  // Internal bookkeeping variables
52  int m_NPass;
53  int m_Nevt;
56 
57  bool isBwithWeakDK(const int pID) const;
58  bool isCwithWeakDK(const int pID) const;
59 
60 
61 };
62 
63 #endif
64 
65 
xAODMultiCjetFilter::~xAODMultiCjetFilter
virtual ~xAODMultiCjetFilter()
Definition: xAODMultiCjetFilter.cxx:38
xAODMultiCjetFilter::isBwithWeakDK
bool isBwithWeakDK(const int pID) const
Definition: xAODMultiCjetFilter.cxx:185
xAODMultiCjetFilter::m_nCJetsMin
Gaudi::Property< int > m_nCJetsMin
Definition: xAODMultiCjetFilter.h:45
TruthParticleContainer.h
xAODMultiCjetFilter::m_jetPtMin
Gaudi::Property< double > m_jetPtMin
Definition: xAODMultiCjetFilter.h:33
GenFilter.h
xAODMultiCjetFilter::filterInitialize
virtual StatusCode filterInitialize()
Definition: xAODMultiCjetFilter.cxx:40
xAODMultiCjetFilter::m_charmPtMin
Gaudi::Property< double > m_charmPtMin
Definition: xAODMultiCjetFilter.h:47
xAODMultiCjetFilter::m_charmEtaMax
Gaudi::Property< double > m_charmEtaMax
Definition: xAODMultiCjetFilter.h:48
xAODMultiCjetFilter::m_bottomPtMin
Gaudi::Property< double > m_bottomPtMin
Definition: xAODMultiCjetFilter.h:43
xAODMultiCjetFilter
Definition: xAODMultiCjetFilter.h:20
TruthParticleAuxContainer.h
xAODMultiCjetFilter::m_TruthJetContainerName
Gaudi::Property< std::string > m_TruthJetContainerName
Definition: xAODMultiCjetFilter.h:49
GenFilter
Base class for event generator filtering modules.
Definition: GenFilter.h:30
xAODMultiCjetFilter::m_nJetsMax
Gaudi::Property< int > m_nJetsMax
Definition: xAODMultiCjetFilter.h:36
xAODMultiCjetFilter::m_nJetsMin
Gaudi::Property< int > m_nJetsMin
Definition: xAODMultiCjetFilter.h:35
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAODMultiCjetFilter::m_leadJet_ptMin
Gaudi::Property< double > m_leadJet_ptMin
Definition: xAODMultiCjetFilter.h:39
xAODMultiCjetFilter::isCwithWeakDK
bool isCwithWeakDK(const int pID) const
Definition: xAODMultiCjetFilter.cxx:200
xAODMultiCjetFilter::m_Nevt
int m_Nevt
Definition: xAODMultiCjetFilter.h:53
xAODMultiCjetFilter::m_leadJet_ptMax
Gaudi::Property< double > m_leadJet_ptMax
Definition: xAODMultiCjetFilter.h:40
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
xAODMultiCjetFilter::m_NPass
int m_NPass
Definition: xAODMultiCjetFilter.h:52
xAODMultiCjetFilter::m_SumOfWeights_Pass
double m_SumOfWeights_Pass
Definition: xAODMultiCjetFilter.h:54
xAODMultiCjetFilter::m_deltaRFromTruth
Gaudi::Property< double > m_deltaRFromTruth
Definition: xAODMultiCjetFilter.h:32
xAODMultiCjetFilter::m_jetEtaMax
Gaudi::Property< double > m_jetEtaMax
Definition: xAODMultiCjetFilter.h:34
xAODMultiCjetFilter::m_nCJetsMax
Gaudi::Property< int > m_nCJetsMax
Definition: xAODMultiCjetFilter.h:46
xAODMultiCjetFilter::m_bottomEtaMax
Gaudi::Property< double > m_bottomEtaMax
Definition: xAODMultiCjetFilter.h:44
xAODMultiCjetFilter::filterFinalize
virtual StatusCode filterFinalize()
Definition: xAODMultiCjetFilter.cxx:51
xAODMultiCjetFilter::filterEvent
virtual StatusCode filterEvent()
Definition: xAODMultiCjetFilter.cxx:59
xAODMultiCjetFilter::xAODMultiCjetFilter
xAODMultiCjetFilter(const std::string &name, ISvcLocator *pSvcLocator)
Definition: xAODMultiCjetFilter.cxx:27
TruthParticle.h
xAODMultiCjetFilter::m_SumOfWeights_Evt
double m_SumOfWeights_Evt
Definition: xAODMultiCjetFilter.h:55
TruthEventContainer.h
TruthEvent.h