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 24 of file MissingMassOutput.h.

Constructor & Destructor Documentation

◆ MissingMassOutput()

MissingMassOutput::MissingMassOutput ( )

Definition at line 16 of file MissingMassOutput.cxx.

16 {
17}

◆ ~MissingMassOutput()

MissingMassOutput::~MissingMassOutput ( )

Definition at line 20 of file MissingMassOutput.cxx.

20 {
21}

Member Function Documentation

◆ ClearOutput()

void MissingMassOutput::ClearOutput ( bool fUseVerbose)
private

Definition at line 24 of file MissingMassOutput.cxx.

24 {
25
26 if(fUseVerbose == 1){ Info("DiTauMassTools", "MissingMassCalculator::ClearOutput()"); }
28
29 for (int imeth=0; imeth<MMCFitMethod::MAX; ++imeth)
30 {
31 if(fUseVerbose == 1){ Info("DiTauMassTools", "%s", ("MissingMassCalculator::ClearOutput(): clearing for method "+std::to_string(imeth)).c_str()); }
32 m_FitSignificance[imeth] = -1.0;
33 m_FittedMass[imeth] = 0.0;
34 m_nuvec1[imeth].SetPxPyPzE(0.0,0.0,0.0,0.0);
35 m_objvec1[imeth].SetPxPyPzE(0.0,0.0,0.0,0.0);
36 m_nuvec2[imeth].SetPxPyPzE(0.0,0.0,0.0,0.0);
37 m_objvec2[imeth].SetPxPyPzE(0.0,0.0,0.0,0.0);
38 m_totalvec[imeth].SetPxPyPzE(0.0,0.0,0.0,0.0);
39 m_FittedMetVec[imeth].SetXY(0.0,0.0);
40 }
41
42 m_RMS2MPV = 0.0;
43
44 return;
45}
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 141 of file MissingMassOutput.cxx.

142{
143 return m_AveSolRMS;
144}

◆ GetFitSignificance()

double MissingMassOutput::GetFitSignificance ( int fitcode) const

Definition at line 54 of file MissingMassOutput.cxx.

54 {
55 double signif = -1.0;
56 if (fitcode<0 || fitcode >= MMCFitMethod::MAX) {
57 Error("DiTauMassTools", "%s", ("MissingMassCalculator::GetFitSignificance ERROR ! fitcode="+std::to_string(fitcode)
58 +". Should be between 0 and "+std::to_string(MMCFitMethod::MAX-1)).c_str());
59 } else {
60 signif = m_FitSignificance[fitcode];
61 }
62
63 return signif;
64}
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 49 of file MissingMassOutput.cxx.

49 {
50 return m_FitStatus;
51}

◆ GetFittedMass()

double MissingMassOutput::GetFittedMass ( int fitcode) const

Definition at line 72 of file MissingMassOutput.cxx.

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

◆ GetFittedMassErrorLow()

double MissingMassOutput::GetFittedMassErrorLow ( int fitcode) const

Definition at line 104 of file MissingMassOutput.cxx.

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

◆ GetFittedMassErrorUp()

double MissingMassOutput::GetFittedMassErrorUp ( int fitcode) const

Definition at line 88 of file MissingMassOutput.cxx.

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

◆ GetFittedMetVec()

XYVector MissingMassOutput::GetFittedMetVec ( int fitcode) const

Definition at line 207 of file MissingMassOutput.cxx.

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

◆ GetMassHistogram()

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

Definition at line 146 of file MissingMassOutput.cxx.

147{
148 return m_hMfit_all;
149}
std::shared_ptr< TH1F > m_hMfit_all

◆ GetMassHistogramNoWeight()

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

Definition at line 151 of file MissingMassOutput.cxx.

152{
153 return m_hMfit_allNoWeight;
154}
std::shared_ptr< TH1F > m_hMfit_allNoWeight

◆ GetNeutrino4vec()

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

Definition at line 157 of file MissingMassOutput.cxx.

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

◆ GetNSolutions()

int MissingMassOutput::GetNSolutions ( ) const

Definition at line 129 of file MissingMassOutput.cxx.

◆ GetNSuccesses()

int MissingMassOutput::GetNSuccesses ( ) const

Definition at line 124 of file MissingMassOutput.cxx.

◆ GetNTrials()

int MissingMassOutput::GetNTrials ( ) const

Definition at line 119 of file MissingMassOutput.cxx.

◆ GetResonanceVec()

PtEtaPhiMVector MissingMassOutput::GetResonanceVec ( int fitcode) const

Definition at line 191 of file MissingMassOutput.cxx.

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

◆ GetRms2Mpv()

double MissingMassOutput::GetRms2Mpv ( ) const

Definition at line 67 of file MissingMassOutput.cxx.

67 {
68 return m_RMS2MPV;
69}

◆ GetSumW()

double MissingMassOutput::GetSumW ( ) const

Definition at line 135 of file MissingMassOutput.cxx.

136{
137 return m_SumW;
138}

◆ GetTau4vec()

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

Definition at line 174 of file MissingMassOutput.cxx.

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

◆ MissingMassCalculator

friend class MissingMassCalculator
friend

Definition at line 49 of file MissingMassOutput.h.

Member Data Documentation

◆ m_AveSolRMS

double DiTauMassTools::MissingMassOutput::m_AveSolRMS {}
private

Definition at line 71 of file MissingMassOutput.h.

71{};

◆ m_FitSignificance

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

Definition at line 54 of file MissingMassOutput.h.

54{};

◆ m_FitStatus

int DiTauMassTools::MissingMassOutput::m_FitStatus {}
private

Definition at line 53 of file MissingMassOutput.h.

53{};

◆ m_FittedMass

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

Definition at line 55 of file MissingMassOutput.h.

55{};

◆ m_FittedMassLowerError

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

Definition at line 57 of file MissingMassOutput.h.

57{};

◆ m_FittedMassUpperError

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

Definition at line 56 of file MissingMassOutput.h.

56{};

◆ m_FittedMetVec

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

Definition at line 63 of file MissingMassOutput.h.

63{};

◆ m_hMfit_all

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

Definition at line 65 of file MissingMassOutput.h.

◆ m_hMfit_allNoWeight

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

Definition at line 66 of file MissingMassOutput.h.

◆ m_NSolutions

int DiTauMassTools::MissingMassOutput::m_NSolutions {}
private

Definition at line 69 of file MissingMassOutput.h.

69{};

◆ m_NSuccesses

int DiTauMassTools::MissingMassOutput::m_NSuccesses {}
private

Definition at line 68 of file MissingMassOutput.h.

68{};

◆ m_NTrials

int DiTauMassTools::MissingMassOutput::m_NTrials {}
private

Definition at line 67 of file MissingMassOutput.h.

67{};

◆ m_nuvec1

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

Definition at line 58 of file MissingMassOutput.h.

58{};

◆ m_nuvec2

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

Definition at line 60 of file MissingMassOutput.h.

60{};

◆ m_objvec1

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

Definition at line 59 of file MissingMassOutput.h.

59{};

◆ m_objvec2

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

Definition at line 61 of file MissingMassOutput.h.

61{};

◆ m_RMS2MPV

double DiTauMassTools::MissingMassOutput::m_RMS2MPV {}
private

Definition at line 64 of file MissingMassOutput.h.

64{};

◆ m_SumW

double DiTauMassTools::MissingMassOutput::m_SumW {}
private

Definition at line 70 of file MissingMassOutput.h.

70{};

◆ m_totalvec

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

Definition at line 62 of file MissingMassOutput.h.

62{};

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