ATLAS Offline Software
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 
10 #include "GaudiKernel/ServiceHandle.h"
12 #include "xAODJet/JetContainer.h"
13 
14 #include "xAODTruth/TruthEvent.h"
17 
18 namespace CLHEP {
19  class HepRandomEngine;
20 }
21 
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;
54  double m_mjjhigh;
59  double m_alpha;
60  bool m_ApplyNjet;
61  unsigned int m_NJetsMin;
62  unsigned int m_NJetsMax;
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 
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 >