ATLAS Offline Software
Loading...
Searching...
No Matches
DiTauMassTools::MissingMassOutput Class Reference

#include <MissingMassOutput.h>

Collaboration diagram for DiTauMassTools::MissingMassOutput:

Public Member Functions

 MissingMassOutput ()
 ~MissingMassOutput ()
int GetFitStatus () const
double GetFittedMass (int fitcode) const
double GetFittedMassErrorUp (int fitcode) const
double GetFittedMassErrorLow (int fitcode) const
std::shared_ptr< TH1F > GetMassHistogram () const
std::shared_ptr< TH1F > GetMassHistogramNoWeight () const
int GetNTrials () const
int GetNSuccesses () const
int GetNSolutions () const
double GetSumW () const
double GetAveSolRMS () const
double GetRms2Mpv () const
PtEtaPhiMVector GetNeutrino4vec (int fitcode, int ind) const
double GetFitSignificance (int fitcode) const
PtEtaPhiMVector GetTau4vec (int fitcode, int ind) const
PtEtaPhiMVector GetResonanceVec (int fitcode) const
XYVector GetFittedMetVec (int fitcode) const

Private Member Functions

void ClearOutput (bool fUseVerbose)

Private Attributes

int m_FitStatus {}
double m_FitSignificance [MMCFitMethod::MAX] {}
double m_FittedMass [MMCFitMethod::MAX] {}
double m_FittedMassUpperError [MMCFitMethod::MAX] {}
double m_FittedMassLowerError [MMCFitMethod::MAX] {}
PtEtaPhiMVector m_nuvec1 [MMCFitMethod::MAX] {}
PtEtaPhiMVector m_objvec1 [MMCFitMethod::MAX] {}
PtEtaPhiMVector m_nuvec2 [MMCFitMethod::MAX] {}
PtEtaPhiMVector m_objvec2 [MMCFitMethod::MAX] {}
PtEtaPhiMVector m_totalvec [MMCFitMethod::MAX] {}
XYVector m_FittedMetVec [MMCFitMethod::MAX] {}
double m_RMS2MPV {}
std::shared_ptr< TH1F > m_hMfit_all
std::shared_ptr< TH1F > m_hMfit_allNoWeight
int m_NTrials {}
int m_NSuccesses {}
int m_NSolutions {}
double m_SumW {}
double m_AveSolRMS {}

Friends

class MissingMassCalculator

Detailed Description

Definition at line 25 of file MissingMassOutput.h.

Constructor & Destructor Documentation

◆ MissingMassOutput()

MissingMassOutput::MissingMassOutput ( )

Definition at line 18 of file MissingMassOutput.cxx.

18 {
19}

◆ ~MissingMassOutput()

MissingMassOutput::~MissingMassOutput ( )

Definition at line 22 of file MissingMassOutput.cxx.

22 {
23}

Member Function Documentation

◆ ClearOutput()

void MissingMassOutput::ClearOutput ( bool fUseVerbose)
private

Definition at line 26 of file MissingMassOutput.cxx.

26 {
27
28 if(fUseVerbose == 1){ Info("DiTauMassTools", "MissingMassCalculator::ClearOutput()"); }
30
31 for (int imeth=0; imeth<MMCFitMethod::MAX; ++imeth)
32 {
33 if(fUseVerbose == 1){ Info("DiTauMassTools", "%s", ("MissingMassCalculator::ClearOutput(): clearing for method "+std::to_string(imeth)).c_str()); }
34 m_FitSignificance[imeth] = -1.0;
35 m_FittedMass[imeth] = 0.0;
36 m_nuvec1[imeth].SetPxPyPzE(0.0,0.0,0.0,0.0);
37 m_objvec1[imeth].SetPxPyPzE(0.0,0.0,0.0,0.0);
38 m_nuvec2[imeth].SetPxPyPzE(0.0,0.0,0.0,0.0);
39 m_objvec2[imeth].SetPxPyPzE(0.0,0.0,0.0,0.0);
40 m_totalvec[imeth].SetPxPyPzE(0.0,0.0,0.0,0.0);
41 m_FittedMetVec[imeth].SetXY(0.0,0.0);
42 }
43
44 m_RMS2MPV = 0.0;
45
46 return;
47}
PtEtaPhiMVector m_objvec2[MMCFitMethod::MAX]
PtEtaPhiMVector m_nuvec1[MMCFitMethod::MAX]
XYVector m_FittedMetVec[MMCFitMethod::MAX]
PtEtaPhiMVector m_totalvec[MMCFitMethod::MAX]
PtEtaPhiMVector m_nuvec2[MMCFitMethod::MAX]
double m_FittedMass[MMCFitMethod::MAX]
PtEtaPhiMVector m_objvec1[MMCFitMethod::MAX]
double m_FitSignificance[MMCFitMethod::MAX]
@ Info
Definition ZDCMsg.h:20

◆ GetAveSolRMS()

double MissingMassOutput::GetAveSolRMS ( ) const

Definition at line 143 of file MissingMassOutput.cxx.

144{
145 return m_AveSolRMS;
146}

◆ GetFitSignificance()

double MissingMassOutput::GetFitSignificance ( int fitcode) const

Definition at line 56 of file MissingMassOutput.cxx.

56 {
57 double signif = -1.0;
58 if (fitcode<0 || fitcode >= MMCFitMethod::MAX) {
59 Error("DiTauMassTools", "%s", ("MissingMassCalculator::GetFitSignificance ERROR ! fitcode="+std::to_string(fitcode)
60 +". Should be between 0 and "+std::to_string(MMCFitMethod::MAX-1)).c_str());
61 } else {
62 signif = m_FitSignificance[fitcode];
63 }
64
65 return signif;
66}
Error
The different types of error that can be flagged in the L1TopoRDO.
Definition Error.h:16

◆ GetFitStatus()

int MissingMassOutput::GetFitStatus ( ) const

Definition at line 51 of file MissingMassOutput.cxx.

51 {
52 return m_FitStatus;
53}

◆ GetFittedMass()

double MissingMassOutput::GetFittedMass ( int fitcode) const

Definition at line 74 of file MissingMassOutput.cxx.

74 {
75 // 0 best parameter space
76 // 1 best mass
77 // best nu from hist
78 double mass = 0.0;
79 if (fitcode<0 || fitcode >= MMCFitMethod::MAX) {
80 Error("DiTauMassTools", "%s", ("MissingMassCalculator::GetFittedMass ERROR ! fitcode="+std::to_string(fitcode)
81 +". Should be between 0 and "+std::to_string(MMCFitMethod::MAX-1)).c_str());
82 } else {
83 mass = m_FittedMass[fitcode];
84 }
85
86 return mass;
87}

◆ GetFittedMassErrorLow()

double MissingMassOutput::GetFittedMassErrorLow ( int fitcode) const

Definition at line 106 of file MissingMassOutput.cxx.

106 {
107 // 0 best parameter space
108 // 1 best mass
109 // best nu from hist
110 double massLowerError = 0.0;
111 if (fitcode<0 || fitcode >= MMCFitMethod::MAX) {
112 Error("DiTauMassTools", "%s", ("MissingMassCalculator::GetFittedMass ERROR ! fitcode="+std::to_string(fitcode)
113 +". Should be between 0 and "+std::to_string(MMCFitMethod::MAX-1)).c_str());
114 } else {
115 massLowerError = m_FittedMassLowerError[fitcode];
116 }
117
118 return massLowerError;
119}
double m_FittedMassLowerError[MMCFitMethod::MAX]

◆ GetFittedMassErrorUp()

double MissingMassOutput::GetFittedMassErrorUp ( int fitcode) const

Definition at line 90 of file MissingMassOutput.cxx.

90 {
91 // 0 best parameter space
92 // 1 best mass
93 // best nu from hist
94 double massUpperError = 0.0;
95 if (fitcode<0 || fitcode >= MMCFitMethod::MAX) {
96 Error("DiTauMassTools", "%s", ("MissingMassCalculator::GetFittedMass ERROR ! fitcode="+std::to_string(fitcode)
97 +". Should be between 0 and "+std::to_string(MMCFitMethod::MAX-1)).c_str());
98 } else {
99 massUpperError = m_FittedMassUpperError[fitcode];
100 }
101
102 return massUpperError;
103}
double m_FittedMassUpperError[MMCFitMethod::MAX]

◆ GetFittedMetVec()

XYVector MissingMassOutput::GetFittedMetVec ( int fitcode) const

Definition at line 209 of file MissingMassOutput.cxx.

209 {
210 XYVector vec(0.0,0.0);
211 if (fitcode!=MMCFitMethod::MAXW && fitcode!=MMCFitMethod::MLNU3P )
212 {
213 Error("DiTauMassTools", "%s", ("MissingMassCalculator::GetFittedMetVec ERROR ! fitcode="+std::to_string(fitcode)
214 +". Should be either "+std::to_string(MMCFitMethod::MAXW)+" or "+std::to_string(MMCFitMethod::MLNU3P)).c_str());
215 }
216 else if (m_FitStatus>0)
217 {
218 vec=m_FittedMetVec[fitcode];
219 }
220
221 return vec;
222}
std::vector< size_t > vec

◆ GetMassHistogram()

std::shared_ptr< TH1F > MissingMassOutput::GetMassHistogram ( ) const

Definition at line 148 of file MissingMassOutput.cxx.

149{
150 return m_hMfit_all;
151}
std::shared_ptr< TH1F > m_hMfit_all

◆ GetMassHistogramNoWeight()

std::shared_ptr< TH1F > MissingMassOutput::GetMassHistogramNoWeight ( ) const

Definition at line 153 of file MissingMassOutput.cxx.

154{
155 return m_hMfit_allNoWeight;
156}
std::shared_ptr< TH1F > m_hMfit_allNoWeight

◆ GetNeutrino4vec()

PtEtaPhiMVector MissingMassOutput::GetNeutrino4vec ( int fitcode,
int ind ) const

Definition at line 159 of file MissingMassOutput.cxx.

160{
161 PtEtaPhiMVector vec(0.0,0.0,0.0,0.0);
162 if (fitcode!=MMCFitMethod::MAXW && fitcode!=MMCFitMethod::MLNU3P )
163 {
164 Error("DiTauMassTools", "%s", ("MissingMassCalculator::GetNeutrino4Vec ERROR ! fitcode="+std::to_string(fitcode)
165 +". Should be either "+std::to_string(MMCFitMethod::MAXW)+" or "+std::to_string(MMCFitMethod::MLNU3P)).c_str());
166 }
167 else if (m_FitStatus>0)
168 {
169 if(ind==0) vec = m_nuvec1[fitcode];
170 else if(ind==1) vec = m_nuvec2[fitcode];
171 }
172 return vec;
173}

◆ GetNSolutions()

int MissingMassOutput::GetNSolutions ( ) const

Definition at line 131 of file MissingMassOutput.cxx.

◆ GetNSuccesses()

int MissingMassOutput::GetNSuccesses ( ) const

Definition at line 126 of file MissingMassOutput.cxx.

◆ GetNTrials()

int MissingMassOutput::GetNTrials ( ) const

Definition at line 121 of file MissingMassOutput.cxx.

◆ GetResonanceVec()

PtEtaPhiMVector MissingMassOutput::GetResonanceVec ( int fitcode) const

Definition at line 193 of file MissingMassOutput.cxx.

193 {
194 PtEtaPhiMVector vec(0.0,0.0,0.0,0.0);
195 if (fitcode!=MMCFitMethod::MAXW && fitcode!=MMCFitMethod::MLNU3P )
196 {
197 Error("DiTauMassTools", "%s", ("MissingMassCalculator::GetResonanceVec ERROR ! fitcode="+std::to_string(fitcode)
198 +". Should be either "+std::to_string(MMCFitMethod::MAXW)+" or "+std::to_string(MMCFitMethod::MLNU3P)).c_str());
199 }
200 else if (m_FitStatus>0)
201 {
202 vec = m_objvec1[fitcode]+m_objvec2[fitcode];
203 }
204
205 return vec;
206}

◆ GetRms2Mpv()

double MissingMassOutput::GetRms2Mpv ( ) const

Definition at line 69 of file MissingMassOutput.cxx.

69 {
70 return m_RMS2MPV;
71}

◆ GetSumW()

double MissingMassOutput::GetSumW ( ) const

Definition at line 137 of file MissingMassOutput.cxx.

138{
139 return m_SumW;
140}

◆ GetTau4vec()

PtEtaPhiMVector MissingMassOutput::GetTau4vec ( int fitcode,
int ind ) const

Definition at line 176 of file MissingMassOutput.cxx.

177{
178 PtEtaPhiMVector vec(0.0,0.0,0.0,0.0);
179 if (fitcode!=MMCFitMethod::MAXW && fitcode!=MMCFitMethod::MLNU3P )
180 {
181 Error("DiTauMassTools", "%s", ("MissingMassCalculator::GetTau4vec ERROR ! fitcode="+std::to_string(fitcode)
182 +". Should be either "+std::to_string(MMCFitMethod::MAXW)+" or "+std::to_string(MMCFitMethod::MLNU3P)).c_str());
183 }
184 else if (m_FitStatus>0)
185 {
186 if(ind==0) vec = m_objvec1[fitcode];
187 else if(ind==1) vec = m_objvec2[fitcode];
188 }
189 return vec;
190}

◆ MissingMassCalculator

friend class MissingMassCalculator
friend

Definition at line 50 of file MissingMassOutput.h.

Member Data Documentation

◆ m_AveSolRMS

double DiTauMassTools::MissingMassOutput::m_AveSolRMS {}
private

Definition at line 72 of file MissingMassOutput.h.

72{};

◆ m_FitSignificance

double DiTauMassTools::MissingMassOutput::m_FitSignificance[MMCFitMethod::MAX] {}
private

Definition at line 55 of file MissingMassOutput.h.

55{};

◆ m_FitStatus

int DiTauMassTools::MissingMassOutput::m_FitStatus {}
private

Definition at line 54 of file MissingMassOutput.h.

54{};

◆ m_FittedMass

double DiTauMassTools::MissingMassOutput::m_FittedMass[MMCFitMethod::MAX] {}
private

Definition at line 56 of file MissingMassOutput.h.

56{};

◆ m_FittedMassLowerError

double DiTauMassTools::MissingMassOutput::m_FittedMassLowerError[MMCFitMethod::MAX] {}
private

Definition at line 58 of file MissingMassOutput.h.

58{};

◆ m_FittedMassUpperError

double DiTauMassTools::MissingMassOutput::m_FittedMassUpperError[MMCFitMethod::MAX] {}
private

Definition at line 57 of file MissingMassOutput.h.

57{};

◆ m_FittedMetVec

XYVector DiTauMassTools::MissingMassOutput::m_FittedMetVec[MMCFitMethod::MAX] {}
private

Definition at line 64 of file MissingMassOutput.h.

64{};

◆ m_hMfit_all

std::shared_ptr<TH1F> DiTauMassTools::MissingMassOutput::m_hMfit_all
private

Definition at line 66 of file MissingMassOutput.h.

◆ m_hMfit_allNoWeight

std::shared_ptr<TH1F> DiTauMassTools::MissingMassOutput::m_hMfit_allNoWeight
private

Definition at line 67 of file MissingMassOutput.h.

◆ m_NSolutions

int DiTauMassTools::MissingMassOutput::m_NSolutions {}
private

Definition at line 70 of file MissingMassOutput.h.

70{};

◆ m_NSuccesses

int DiTauMassTools::MissingMassOutput::m_NSuccesses {}
private

Definition at line 69 of file MissingMassOutput.h.

69{};

◆ m_NTrials

int DiTauMassTools::MissingMassOutput::m_NTrials {}
private

Definition at line 68 of file MissingMassOutput.h.

68{};

◆ m_nuvec1

PtEtaPhiMVector DiTauMassTools::MissingMassOutput::m_nuvec1[MMCFitMethod::MAX] {}
private

Definition at line 59 of file MissingMassOutput.h.

59{};

◆ m_nuvec2

PtEtaPhiMVector DiTauMassTools::MissingMassOutput::m_nuvec2[MMCFitMethod::MAX] {}
private

Definition at line 61 of file MissingMassOutput.h.

61{};

◆ m_objvec1

PtEtaPhiMVector DiTauMassTools::MissingMassOutput::m_objvec1[MMCFitMethod::MAX] {}
private

Definition at line 60 of file MissingMassOutput.h.

60{};

◆ m_objvec2

PtEtaPhiMVector DiTauMassTools::MissingMassOutput::m_objvec2[MMCFitMethod::MAX] {}
private

Definition at line 62 of file MissingMassOutput.h.

62{};

◆ m_RMS2MPV

double DiTauMassTools::MissingMassOutput::m_RMS2MPV {}
private

Definition at line 65 of file MissingMassOutput.h.

65{};

◆ m_SumW

double DiTauMassTools::MissingMassOutput::m_SumW {}
private

Definition at line 71 of file MissingMassOutput.h.

71{};

◆ m_totalvec

PtEtaPhiMVector DiTauMassTools::MissingMassOutput::m_totalvec[MMCFitMethod::MAX] {}
private

Definition at line 63 of file MissingMassOutput.h.

63{};

The documentation for this class was generated from the following files: