ATLAS Offline Software
TTBarElectronJetOverlap.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 #ifndef __TTBARELECTRONJETOVERLAP_H__
6 #define __TTBARELECTRONJETOVERLAP_H__
7 
8 #include <vector>
9 #include <set>
10 #include <utility>
11 #include "TLorentzVector.h"
12 
13 #include "xAODJet/JetContainer.h"
15 
17 private:
18  std::vector<TLorentzVector> fJetTLVs;
19  std::vector<float> fJetJVFs;
20  std::vector<float> fJetD3PDTrkPtPVSums;
21  std::vector<float> fJetD3PDTrkPtSums;
22 
23  std::vector<bool> fGoodJets;
24  std::vector<int> fSubJets;
25  std::vector<std::set<int> > fJetAssocElCls;
26 
27  std::vector<TLorentzVector> fElTLVs;
28  std::vector<TLorentzVector> fOrigJetTLVs;
29  std::vector<TLorentzVector> fElClTLVs;
30  std::vector<bool> fElGood; // this registers if the electron passed the object definition
31 
32  std::vector<bool> fGoodEls;
33  std::vector<int> fElClAssocJet;
34 
35  bool fDebug;
36 
37  void FindAssocEls();
38  void SubtractEls();
39  void FindGoodObjects();
40  void RecalcJVF();
41 
42 
45 public:
46  TTBarElectronJetOverlap() : fDebug(false), m_jets(nullptr), m_electrons(nullptr) {
47  }
48 
50 
51  void AnalyzeEvent(const std::string& leptonDef);
52 
53  // sets the debug level (info will print if set true).
54  void SetDebug(bool db) {
55  fDebug = db;
56  }
57 
58  bool GetDebug() {
59  return fDebug;
60  }
61 
62  // load all anti-kt 0.4 LCTopo jets in the event.
63  // these variables should correspond to the *corrected* jet
64  // quantities. Every jet in the D3PD should be passed.
65  // load selected electrons.
66  // these variables should only be filled for /selected/
67  // electrons (i.e. pass ID and isolation cuts).
68  void Load(xAOD::JetContainer* jets, xAOD::ElectronContainer* electrons, const std::string& leptonDef);
69 };
70 
71 #endif
TTBarElectronJetOverlap::FindGoodObjects
void FindGoodObjects()
Definition: TTBarElectronJetOverlap.cxx:133
TTBarElectronJetOverlap::fJetD3PDTrkPtPVSums
std::vector< float > fJetD3PDTrkPtPVSums
Definition: TTBarElectronJetOverlap.h:20
TTBarElectronJetOverlap::GetDebug
bool GetDebug()
Definition: TTBarElectronJetOverlap.h:58
TTBarElectronJetOverlap::fGoodEls
std::vector< bool > fGoodEls
Definition: TTBarElectronJetOverlap.h:32
TTBarElectronJetOverlap::fElClAssocJet
std::vector< int > fElClAssocJet
Definition: TTBarElectronJetOverlap.h:33
TTBarElectronJetOverlap::fJetJVFs
std::vector< float > fJetJVFs
Definition: TTBarElectronJetOverlap.h:19
TTBarElectronJetOverlap::fJetTLVs
std::vector< TLorentzVector > fJetTLVs
Definition: TTBarElectronJetOverlap.h:18
CaloCondBlobAlgs_fillNoiseFromASCII.db
db
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:43
TTBarElectronJetOverlap::m_electrons
xAOD::ElectronContainer * m_electrons
Definition: TTBarElectronJetOverlap.h:44
TTBarElectronJetOverlap::fElTLVs
std::vector< TLorentzVector > fElTLVs
Definition: TTBarElectronJetOverlap.h:27
TTBarElectronJetOverlap::Load
void Load(xAOD::JetContainer *jets, xAOD::ElectronContainer *electrons, const std::string &leptonDef)
Definition: TTBarElectronJetOverlap.cxx:16
TTBarElectronJetOverlap::~TTBarElectronJetOverlap
~TTBarElectronJetOverlap()
Definition: TTBarElectronJetOverlap.h:49
TTBarElectronJetOverlap
Definition: TTBarElectronJetOverlap.h:16
TTBarElectronJetOverlap::FindAssocEls
void FindAssocEls()
Definition: TTBarElectronJetOverlap.cxx:83
ElectronContainer.h
TTBarElectronJetOverlap::SetDebug
void SetDebug(bool db)
Definition: TTBarElectronJetOverlap.h:54
TTBarElectronJetOverlap::AnalyzeEvent
void AnalyzeEvent(const std::string &leptonDef)
Definition: TTBarElectronJetOverlap.cxx:294
TTBarElectronJetOverlap::m_jets
xAOD::JetContainer * m_jets
Definition: TTBarElectronJetOverlap.h:43
TTBarElectronJetOverlap::fOrigJetTLVs
std::vector< TLorentzVector > fOrigJetTLVs
Definition: TTBarElectronJetOverlap.h:28
TTBarElectronJetOverlap::fGoodJets
std::vector< bool > fGoodJets
Definition: TTBarElectronJetOverlap.h:23
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
TTBarElectronJetOverlap::TTBarElectronJetOverlap
TTBarElectronJetOverlap()
Definition: TTBarElectronJetOverlap.h:46
TTBarElectronJetOverlap::SubtractEls
void SubtractEls()
Definition: TTBarElectronJetOverlap.cxx:113
JetContainer.h
TTBarElectronJetOverlap::fJetAssocElCls
std::vector< std::set< int > > fJetAssocElCls
Definition: TTBarElectronJetOverlap.h:25
TTBarElectronJetOverlap::fDebug
bool fDebug
Definition: TTBarElectronJetOverlap.h:35
defineDB.jets
list jets
Definition: JetTagCalibration/share/defineDB.py:24
TTBarElectronJetOverlap::RecalcJVF
void RecalcJVF()
Definition: TTBarElectronJetOverlap.cxx:243
TTBarElectronJetOverlap::fElGood
std::vector< bool > fElGood
Definition: TTBarElectronJetOverlap.h:30
TTBarElectronJetOverlap::fJetD3PDTrkPtSums
std::vector< float > fJetD3PDTrkPtSums
Definition: TTBarElectronJetOverlap.h:21
InDetDD::electrons
@ electrons
Definition: InDetDD_Defs.h:17
TTBarElectronJetOverlap::fSubJets
std::vector< int > fSubJets
Definition: TTBarElectronJetOverlap.h:24
TTBarElectronJetOverlap::fElClTLVs
std::vector< TLorentzVector > fElClTLVs
Definition: TTBarElectronJetOverlap.h:29