ATLAS Offline Software
Generators
GeneratorFilters
GeneratorFilters
xAODVBFMjjIntervalFilter.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef GENERATORFILTERSXAODVBFMJJINTERVALFILTER_H
6
#define GENERATORFILTERSXAODVBFMJJINTERVALFILTER_H
7
8
#include "
AthContainers/ConstDataVector.h
"
9
#include "
GeneratorModules/GenFilter.h
"
10
#include "GaudiKernel/ServiceHandle.h"
11
#include "
AthenaKernel/IAthRNGSvc.h
"
12
#include "
xAODJet/JetContainer.h
"
13
14
#include "
xAODTruth/TruthEvent.h
"
15
#include "
xAODTruth/TruthEventContainer.h
"
16
#include "
xAODTruth/TruthParticle.h
"
17
18
namespace
CLHEP
{
19
class
HepRandomEngine;
20
}
21
22
class
xAODVBFMjjIntervalFilter
:
public
GenFilter
{
23
public
:
24
25
xAODVBFMjjIntervalFilter
(
const
std::string&
name
, ISvcLocator* pSvcLocator);
26
virtual
StatusCode
filterInitialize
();
27
virtual
StatusCode
filterEvent
();
28
29
private
:
30
31
CLHEP::HepRandomEngine*
getRandomEngine
(
const
std::string&
streamName
,
32
const
EventContext& ctx)
const
;
33
34
ServiceHandle<IAthRNGSvc>
m_rndmSvc
{
this
,
"RndmSvc"
,
"AthRNGSvc"
};
// Random number generator
35
36
double
m_olapPt
;
37
double
m_yMax
;
// Rapidity acceptance
38
double
m_pTavgMin
;
// Required average dijet pT
39
std::string
m_TruthJetContainerName
;
// Name of the truth jet container
40
41
//long m_total; // Total number of events tested
42
//long m_passed; // Number of events passing all cuts
43
//long m_outsideAcceptance; // Number of events failing rapidity acceptance cuts
44
45
double
m_norm
;
// Normalization for weights
46
//double m_high; // High-side function level
47
//bool m_doShape; // Attempt to flatten the dY distribution
48
double
m_prob0
;
49
double
m_prob1
;
50
double
m_prob2low
;
51
double
m_prob2high
;
52
double
m_mjjlow
;
53
bool
m_truncatelowmjj
;
54
double
m_mjjhigh
;
55
bool
m_truncatehighmjj
;
56
bool
m_photonjetoverlap
;
57
bool
m_electronjetoverlap
;
58
bool
m_taujetoverlap
;
59
double
m_alpha
;
60
bool
m_ApplyNjet
;
61
unsigned
int
m_NJetsMin
;
62
unsigned
int
m_NJetsMax
;
63
bool
m_ApplyWeighting
;
64
bool
m_applyDphi
;
65
double
m_dphijj
;
66
67
68
bool
checkOverlap
(
double
,
double
,
const
std::vector<const xAOD::TruthParticle*>&);
69
bool
checkOverlap
(
double
,
double
,
const
std::vector<TLorentzVector>&);
70
TLorentzVector
sumDaughterNeutrinos
(
const
xAOD::TruthParticle
* );
71
72
public
:
73
74
bool
ApplyMassDphi
(
ConstDataVector<xAOD::JetContainer>
*
jets
);
75
double
getEventWeight
(
ConstDataVector<xAOD::JetContainer>
*
jets
)
const
;
76
};
77
78
#endif
xAODVBFMjjIntervalFilter::m_rndmSvc
ServiceHandle< IAthRNGSvc > m_rndmSvc
Definition:
xAODVBFMjjIntervalFilter.h:34
xAODVBFMjjIntervalFilter::getEventWeight
double getEventWeight(ConstDataVector< xAOD::JetContainer > *jets) const
Definition:
xAODVBFMjjIntervalFilter.cxx:344
xAODVBFMjjIntervalFilter::m_NJetsMin
unsigned int m_NJetsMin
Definition:
xAODVBFMjjIntervalFilter.h:61
ConstDataVector.h
DataVector adapter that acts like it holds const pointers.
xAODVBFMjjIntervalFilter::m_ApplyWeighting
bool m_ApplyWeighting
Definition:
xAODVBFMjjIntervalFilter.h:63
GenFilter.h
xAODVBFMjjIntervalFilter::m_yMax
double m_yMax
Definition:
xAODVBFMjjIntervalFilter.h:37
xAODVBFMjjIntervalFilter::xAODVBFMjjIntervalFilter
xAODVBFMjjIntervalFilter(const std::string &name, ISvcLocator *pSvcLocator)
Definition:
xAODVBFMjjIntervalFilter.cxx:23
xAODVBFMjjIntervalFilter::m_photonjetoverlap
bool m_photonjetoverlap
Definition:
xAODVBFMjjIntervalFilter.h:56
xAODVBFMjjIntervalFilter::m_mjjhigh
double m_mjjhigh
Definition:
xAODVBFMjjIntervalFilter.h:54
xAODVBFMjjIntervalFilter::m_norm
double m_norm
Definition:
xAODVBFMjjIntervalFilter.h:45
xAODVBFMjjIntervalFilter::m_TruthJetContainerName
std::string m_TruthJetContainerName
Definition:
xAODVBFMjjIntervalFilter.h:39
xAODVBFMjjIntervalFilter
Definition:
xAODVBFMjjIntervalFilter.h:22
GenFilter
Base class for event generator filtering modules.
Definition:
GenFilter.h:30
xAODVBFMjjIntervalFilter::filterEvent
virtual StatusCode filterEvent()
Definition:
xAODVBFMjjIntervalFilter.cxx:63
xAODVBFMjjIntervalFilter::m_dphijj
double m_dphijj
Definition:
xAODVBFMjjIntervalFilter.h:65
xAODVBFMjjIntervalFilter::sumDaughterNeutrinos
TLorentzVector sumDaughterNeutrinos(const xAOD::TruthParticle *)
Definition:
xAODVBFMjjIntervalFilter.cxx:391
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAODVBFMjjIntervalFilter::getRandomEngine
CLHEP::HepRandomEngine * getRandomEngine(const std::string &streamName, const EventContext &ctx) const
Definition:
xAODVBFMjjIntervalFilter.cxx:416
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition:
TruthParticle_v1.h:41
CLHEP
STD'S.
Definition:
IAtRndmGenSvc.h:19
xAODVBFMjjIntervalFilter::m_prob2high
double m_prob2high
Definition:
xAODVBFMjjIntervalFilter.h:51
xAODVBFMjjIntervalFilter::m_prob0
double m_prob0
Definition:
xAODVBFMjjIntervalFilter.h:48
xAODVBFMjjIntervalFilter::m_truncatehighmjj
bool m_truncatehighmjj
Definition:
xAODVBFMjjIntervalFilter.h:55
xAODVBFMjjIntervalFilter::m_electronjetoverlap
bool m_electronjetoverlap
Definition:
xAODVBFMjjIntervalFilter.h:57
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:195
xAODVBFMjjIntervalFilter::m_ApplyNjet
bool m_ApplyNjet
Definition:
xAODVBFMjjIntervalFilter.h:60
xAODVBFMjjIntervalFilter::m_olapPt
double m_olapPt
Definition:
xAODVBFMjjIntervalFilter.h:36
xAODVBFMjjIntervalFilter::m_pTavgMin
double m_pTavgMin
Definition:
xAODVBFMjjIntervalFilter.h:38
xAODVBFMjjIntervalFilter::m_alpha
double m_alpha
Definition:
xAODVBFMjjIntervalFilter.h:59
xAODVBFMjjIntervalFilter::ApplyMassDphi
bool ApplyMassDphi(ConstDataVector< xAOD::JetContainer > *jets)
Definition:
xAODVBFMjjIntervalFilter.cxx:326
AthenaPoolExample_Copy.streamName
string streamName
Definition:
AthenaPoolExample_Copy.py:39
JetContainer.h
ConstDataVector
DataVector adapter that acts like it holds const pointers.
Definition:
ConstDataVector.h:76
xAODVBFMjjIntervalFilter::m_truncatelowmjj
bool m_truncatelowmjj
Definition:
xAODVBFMjjIntervalFilter.h:53
defineDB.jets
list jets
Definition:
JetTagCalibration/share/defineDB.py:24
xAODVBFMjjIntervalFilter::m_taujetoverlap
bool m_taujetoverlap
Definition:
xAODVBFMjjIntervalFilter.h:58
xAODVBFMjjIntervalFilter::m_prob2low
double m_prob2low
Definition:
xAODVBFMjjIntervalFilter.h:50
xAODVBFMjjIntervalFilter::m_prob1
double m_prob1
Definition:
xAODVBFMjjIntervalFilter.h:49
TruthParticle.h
xAODVBFMjjIntervalFilter::checkOverlap
bool checkOverlap(double, double, const std::vector< const xAOD::TruthParticle * > &)
Definition:
xAODVBFMjjIntervalFilter.cxx:274
TruthEventContainer.h
xAODVBFMjjIntervalFilter::m_mjjlow
double m_mjjlow
Definition:
xAODVBFMjjIntervalFilter.h:52
xAODVBFMjjIntervalFilter::m_applyDphi
bool m_applyDphi
Definition:
xAODVBFMjjIntervalFilter.h:64
xAODVBFMjjIntervalFilter::m_NJetsMax
unsigned int m_NJetsMax
Definition:
xAODVBFMjjIntervalFilter.h:62
TruthEvent.h
xAODVBFMjjIntervalFilter::filterInitialize
virtual StatusCode filterInitialize()
Definition:
xAODVBFMjjIntervalFilter.cxx:52
IAthRNGSvc.h
ServiceHandle< IAthRNGSvc >
Generated on Fri Jul 5 2024 21:33:16 for ATLAS Offline Software by
1.8.18