ATLAS Offline Software
MissingEtTruth.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MISSINGETEVENT_MissingEtTruth_H
6 #define MISSINGETEVENT_MissingEtTruth_H
7 /********************************************************************
8 
9 NAME: MissingEtTruth.cxx
10 PACKAGE: offline/Reconstruction/MissingETEvent
11 
12 AUTHORS: P. Loch, S. Resconi
13 CREATED: Oct 2004
14 
15 PURPOSE:
16 ********************************************************************/
17 #include "AthenaKernel/CLASS_DEF.h"
20 
21 #include "AtlasHepMC/GenEvent.h"
22 #include "AtlasHepMC/GenParticle.h"
23 
24 #include <vector>
25 
26 
27 class MissingEtTruth : public MissingET
28 {
29  public:
30 
31  enum TruthIndex
32  {
33  Int = 0, // all interacting particles till abs(eta) <= 5
34  NonInt = 1, // non interacting particles
35  IntCentral = 2, // interacting particles in central region :
36  // till eta of the full sim
37  IntFwd = 3, // interacting particles in Forward region :
38  // with eta_full_sim < abs(eta) <= 5
39  IntOutCover= 4, // interacting particles with abs(eta) > 5
40  Muons = 5, // truth muons ( all )
41  Size = 6,
42  NotValid = 999
43  };
44 
45  //contructors
50 
51  virtual ~MissingEtTruth();
52 
53  // add a cell
54  void addPart(HepMC::ConstGenParticlePtr aPart, double etaFull);
55 
56  // set Truth contributions
57  void setExTruth(TruthIndex aTruth, double theEx);
58  void setEyTruth(TruthIndex aTruth, double theEy);
59  void setEtSumTruth(TruthIndex aTruth, double theEtSum);
60 
61  void setExTruthVec(std::vector<double>&& exCaloVec);
62  void setEyTruthVec(std::vector<double>&& exCaloVec);
63  void setEtSumTruthVec(std::vector<double>&& etSumCaloVec);
64 
65  // retrieve Truth contributions
66  double exTruth(TruthIndex aTruth) const;
67  double eyTruth(TruthIndex aTruth) const;
68  double etSumTruth(TruthIndex aTruth) const;
69 
70  const std::vector<double>& exTruthVec() const;
71  const std::vector<double>& eyTruthVec() const;
72  const std::vector<double>& etSumTruthVec() const;
73 
74 
75  protected:
76 
77  std::vector<double> m_exTruth;
78  std::vector<double> m_eyTruth;
79  std::vector<double> m_etSumTruth;
80 
81  void setup();
82 
83 };
84 
85 CLASS_DEF(MissingEtTruth, 73891893, 1)
86 
87 #endif
MissingEtTruth
Definition: MissingEtTruth.h:28
MissingEtTruth::NotValid
@ NotValid
Definition: MissingEtTruth.h:60
MissingEtRegions
Definition: MissingEtRegions.h:22
GenEvent.h
MissingET.h
MissingEtTruth::addPart
void addPart(HepMC::ConstGenParticlePtr aPart, double etaFull)
Definition: MissingEtTruth.cxx:47
MissingEtTruth::setEyTruth
void setEyTruth(TruthIndex aTruth, double theEy)
Definition: MissingEtTruth.cxx:109
MissingEtTruth::exTruth
double exTruth(TruthIndex aTruth) const
Definition: MissingEtTruth.cxx:147
MissingEtTruth::exTruthVec
const std::vector< double > & exTruthVec() const
Definition: MissingEtTruth.cxx:163
MissingEtTruth::Int
@ Int
Definition: MissingEtTruth.h:51
MissingET::Source
Source
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingET.h:38
MissingEtTruth::IntOutCover
@ IntOutCover
Definition: MissingEtTruth.h:57
MissingEtTruth::setup
void setup()
Definition: MissingEtTruth.cxx:181
MissingEtTruth::m_eyTruth
std::vector< double > m_eyTruth
Definition: MissingEtTruth.h:87
MissingEtTruth::IntCentral
@ IntCentral
Definition: MissingEtTruth.h:53
MissingEtTruth::TruthIndex
TruthIndex
Definition: MissingEtTruth.h:41
MissingEtTruth::setEtSumTruthVec
void setEtSumTruthVec(std::vector< double > &&etSumCaloVec)
Definition: MissingEtTruth.cxx:138
MissingEtTruth::NonInt
@ NonInt
Definition: MissingEtTruth.h:52
GenParticle.h
MissingEtTruth::m_etSumTruth
std::vector< double > m_etSumTruth
Definition: MissingEtTruth.h:88
MissingEtTruth::~MissingEtTruth
virtual ~MissingEtTruth()
Definition: MissingEtTruth.cxx:42
MissingEtTruth::m_exTruth
std::vector< double > m_exTruth
Definition: MissingEtTruth.h:86
MissingEtTruth::etSumTruthVec
const std::vector< double > & etSumTruthVec() const
Definition: MissingEtTruth.cxx:175
MissingEtTruth::eyTruthVec
const std::vector< double > & eyTruthVec() const
Definition: MissingEtTruth.cxx:169
MissingEtTruth::MissingEtTruth
MissingEtTruth()
Definition: MissingEtTruth.cxx:24
MissingEtTruth::Size
@ Size
Definition: MissingEtTruth.h:59
MissingEtTruth::eyTruth
double eyTruth(TruthIndex aTruth) const
Definition: MissingEtTruth.cxx:152
HepMC::ConstGenParticlePtr
const GenParticle * ConstGenParticlePtr
Definition: GenParticle.h:38
MissingEtRegions.h
MissingEtTruth::IntFwd
@ IntFwd
Definition: MissingEtTruth.h:55
MissingEtTruth::setExTruthVec
void setExTruthVec(std::vector< double > &&exCaloVec)
Definition: MissingEtTruth.cxx:124
MissingEtTruth::setEyTruthVec
void setEyTruthVec(std::vector< double > &&exCaloVec)
Definition: MissingEtTruth.cxx:131
MissingET
Definition: Reconstruction/MissingETEvent/MissingETEvent/MissingET.h:23
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
MissingEtTruth::Muons
@ Muons
Definition: MissingEtTruth.h:58
MissingEtTruth::setEtSumTruth
void setEtSumTruth(TruthIndex aTruth, double theEtSum)
Definition: MissingEtTruth.cxx:116
MissingEtTruth::etSumTruth
double etSumTruth(TruthIndex aTruth) const
Definition: MissingEtTruth.cxx:157
CLASS_DEF.h
macros to associate a CLID to a type
MissingEtTruth::setExTruth
void setExTruth(TruthIndex aTruth, double theEx)
Definition: MissingEtTruth.cxx:102