ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
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< TH1FGetMassHistogram () const
 
std::shared_ptr< TH1FGetMassHistogramNoWeight () const
 
int GetNTrials () const
 
int GetNSuccesses () const
 
int GetNSolutions () const
 
double GetSumW () const
 
double GetAveSolRMS () const
 
double GetRms2Mpv () const
 
TLorentzVector GetNeutrino4vec (int fitcode, int ind) const
 
double GetFitSignificance (int fitcode) const
 
TLorentzVector GetTau4vec (int fitcode, int ind) const
 
TLorentzVector GetResonanceVec (int fitcode) const
 
TVector2 GetFittedMetVec (int fitcode) const
 

Private Member Functions

void ClearOutput (bool fUseVerbose)
 

Private Attributes

int m_FitStatus
 
double m_FitSignificance [MMCFitMethodV2::MAX]
 
double m_FittedMass [MMCFitMethodV2::MAX]
 
double m_FittedMassUpperError [MMCFitMethodV2::MAX]
 
double m_FittedMassLowerError [MMCFitMethodV2::MAX]
 
TLorentzVector m_nuvec1 [MMCFitMethodV2::MAX]
 
TLorentzVector m_objvec1 [MMCFitMethodV2::MAX]
 
TLorentzVector m_nuvec2 [MMCFitMethodV2::MAX]
 
TLorentzVector m_objvec2 [MMCFitMethodV2::MAX]
 
TLorentzVector m_totalvec [MMCFitMethodV2::MAX]
 
TVector2 m_FittedMetVec [MMCFitMethodV2::MAX]
 
double m_RMS2MPV
 
std::shared_ptr< TH1Fm_hMfit_all
 
std::shared_ptr< TH1Fm_hMfit_allNoWeight
 
int m_NTrials
 
int m_NSuccesses
 
int m_NSolutions
 
double m_SumW
 
double m_AveSolRMS
 

Friends

class MissingMassCalculatorV2
 

Detailed Description

Definition at line 21 of file MissingMassOutput.h.

Constructor & Destructor Documentation

◆ MissingMassOutput()

MissingMassOutput::MissingMassOutput ( )

Definition at line 14 of file MissingMassOutput.cxx.

14  {
15 }

◆ ~MissingMassOutput()

MissingMassOutput::~MissingMassOutput ( )

Definition at line 18 of file MissingMassOutput.cxx.

18  {
19 }

Member Function Documentation

◆ ClearOutput()

void MissingMassOutput::ClearOutput ( bool  fUseVerbose)
private

Definition at line 22 of file MissingMassOutput.cxx.

22  {
23 
24  if(fUseVerbose == 1){ Info("DiTauMassTools", "MissingMassCalculator::ClearOutput()"); }
25  m_FitStatus=0;
26 
27  for (int imeth=0; imeth<MMCFitMethodV2::MAX; ++imeth)
28  {
29  if(fUseVerbose == 1){ Info("DiTauMassTools", "%s", ("MissingMassCalculator::ClearOutput(): clearing for method "+std::to_string(imeth)).c_str()); }
30  m_FitSignificance[imeth] = -1.0;
31  m_FittedMass[imeth] = 0.0;
32  m_nuvec1[imeth].SetPxPyPzE(0.0,0.0,0.0,0.0);
33  m_objvec1[imeth].SetPxPyPzE(0.0,0.0,0.0,0.0);
34  m_nuvec2[imeth].SetPxPyPzE(0.0,0.0,0.0,0.0);
35  m_objvec2[imeth].SetPxPyPzE(0.0,0.0,0.0,0.0);
36  m_totalvec[imeth].SetPxPyPzE(0.0,0.0,0.0,0.0);
37  m_FittedMetVec[imeth].Set(0.0,0.0);
38  }
39 
40  m_RMS2MPV = 0.0;
41 
42  return;
43 }

◆ GetAveSolRMS()

double MissingMassOutput::GetAveSolRMS ( ) const

Definition at line 139 of file MissingMassOutput.cxx.

140 {
141  return m_AveSolRMS;
142 }

◆ GetFitSignificance()

double MissingMassOutput::GetFitSignificance ( int  fitcode) const

Definition at line 52 of file MissingMassOutput.cxx.

52  {
53  double signif = -1.0;
54  if (fitcode<0 || fitcode >= MMCFitMethodV2::MAX) {
55  Error("DiTauMassTools", "%s", ("MissingMassCalculatorV2::GetFitSignificance ERROR ! fitcode="+std::to_string(fitcode)
56  +". Should be between 0 and "+std::to_string(MMCFitMethodV2::MAX-1)).c_str());
57  } else {
58  signif = m_FitSignificance[fitcode];
59  }
60 
61  return signif;
62 }

◆ GetFitStatus()

int MissingMassOutput::GetFitStatus ( ) const

Definition at line 47 of file MissingMassOutput.cxx.

47  {
48  return m_FitStatus;
49 }

◆ GetFittedMass()

double MissingMassOutput::GetFittedMass ( int  fitcode) const

Definition at line 70 of file MissingMassOutput.cxx.

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

◆ GetFittedMassErrorLow()

double MissingMassOutput::GetFittedMassErrorLow ( int  fitcode) const

Definition at line 102 of file MissingMassOutput.cxx.

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

◆ GetFittedMassErrorUp()

double MissingMassOutput::GetFittedMassErrorUp ( int  fitcode) const

Definition at line 86 of file MissingMassOutput.cxx.

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

◆ GetFittedMetVec()

TVector2 MissingMassOutput::GetFittedMetVec ( int  fitcode) const

Definition at line 205 of file MissingMassOutput.cxx.

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

◆ GetMassHistogram()

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

Definition at line 144 of file MissingMassOutput.cxx.

145 {
146  return m_hMfit_all;
147 }

◆ GetMassHistogramNoWeight()

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

Definition at line 149 of file MissingMassOutput.cxx.

150 {
151  return m_hMfit_allNoWeight;
152 }

◆ GetNeutrino4vec()

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

Definition at line 155 of file MissingMassOutput.cxx.

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

◆ GetNSolutions()

int MissingMassOutput::GetNSolutions ( ) const

Definition at line 127 of file MissingMassOutput.cxx.

128 {
129  return m_NSolutions;
130 }

◆ GetNSuccesses()

int MissingMassOutput::GetNSuccesses ( ) const

Definition at line 122 of file MissingMassOutput.cxx.

123 {
124  return m_NSuccesses;
125 }

◆ GetNTrials()

int MissingMassOutput::GetNTrials ( ) const

Definition at line 117 of file MissingMassOutput.cxx.

118 {
119  return m_NTrials;
120 }

◆ GetResonanceVec()

TLorentzVector MissingMassOutput::GetResonanceVec ( int  fitcode) const

Definition at line 189 of file MissingMassOutput.cxx.

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

◆ GetRms2Mpv()

double MissingMassOutput::GetRms2Mpv ( ) const

Definition at line 65 of file MissingMassOutput.cxx.

65  {
66  return m_RMS2MPV;
67 }

◆ GetSumW()

double MissingMassOutput::GetSumW ( ) const

Definition at line 133 of file MissingMassOutput.cxx.

134 {
135  return m_SumW;
136 }

◆ GetTau4vec()

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

Definition at line 172 of file MissingMassOutput.cxx.

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

Friends And Related Function Documentation

◆ MissingMassCalculatorV2

friend class MissingMassCalculatorV2
friend

Definition at line 46 of file MissingMassOutput.h.

Member Data Documentation

◆ m_AveSolRMS

double DiTauMassTools::MissingMassOutput::m_AveSolRMS
private

Definition at line 68 of file MissingMassOutput.h.

◆ m_FitSignificance

double DiTauMassTools::MissingMassOutput::m_FitSignificance[MMCFitMethodV2::MAX]
private

Definition at line 51 of file MissingMassOutput.h.

◆ m_FitStatus

int DiTauMassTools::MissingMassOutput::m_FitStatus
private

Definition at line 50 of file MissingMassOutput.h.

◆ m_FittedMass

double DiTauMassTools::MissingMassOutput::m_FittedMass[MMCFitMethodV2::MAX]
private

Definition at line 52 of file MissingMassOutput.h.

◆ m_FittedMassLowerError

double DiTauMassTools::MissingMassOutput::m_FittedMassLowerError[MMCFitMethodV2::MAX]
private

Definition at line 54 of file MissingMassOutput.h.

◆ m_FittedMassUpperError

double DiTauMassTools::MissingMassOutput::m_FittedMassUpperError[MMCFitMethodV2::MAX]
private

Definition at line 53 of file MissingMassOutput.h.

◆ m_FittedMetVec

TVector2 DiTauMassTools::MissingMassOutput::m_FittedMetVec[MMCFitMethodV2::MAX]
private

Definition at line 60 of file MissingMassOutput.h.

◆ m_hMfit_all

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

Definition at line 62 of file MissingMassOutput.h.

◆ m_hMfit_allNoWeight

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

Definition at line 63 of file MissingMassOutput.h.

◆ m_NSolutions

int DiTauMassTools::MissingMassOutput::m_NSolutions
private

Definition at line 66 of file MissingMassOutput.h.

◆ m_NSuccesses

int DiTauMassTools::MissingMassOutput::m_NSuccesses
private

Definition at line 65 of file MissingMassOutput.h.

◆ m_NTrials

int DiTauMassTools::MissingMassOutput::m_NTrials
private

Definition at line 64 of file MissingMassOutput.h.

◆ m_nuvec1

TLorentzVector DiTauMassTools::MissingMassOutput::m_nuvec1[MMCFitMethodV2::MAX]
private

Definition at line 55 of file MissingMassOutput.h.

◆ m_nuvec2

TLorentzVector DiTauMassTools::MissingMassOutput::m_nuvec2[MMCFitMethodV2::MAX]
private

Definition at line 57 of file MissingMassOutput.h.

◆ m_objvec1

TLorentzVector DiTauMassTools::MissingMassOutput::m_objvec1[MMCFitMethodV2::MAX]
private

Definition at line 56 of file MissingMassOutput.h.

◆ m_objvec2

TLorentzVector DiTauMassTools::MissingMassOutput::m_objvec2[MMCFitMethodV2::MAX]
private

Definition at line 58 of file MissingMassOutput.h.

◆ m_RMS2MPV

double DiTauMassTools::MissingMassOutput::m_RMS2MPV
private

Definition at line 61 of file MissingMassOutput.h.

◆ m_SumW

double DiTauMassTools::MissingMassOutput::m_SumW
private

Definition at line 67 of file MissingMassOutput.h.

◆ m_totalvec

TLorentzVector DiTauMassTools::MissingMassOutput::m_totalvec[MMCFitMethodV2::MAX]
private

Definition at line 59 of file MissingMassOutput.h.


The documentation for this class was generated from the following files:
DiTauMassTools::MissingMassOutput::m_FitSignificance
double m_FitSignificance[MMCFitMethodV2::MAX]
Definition: MissingMassOutput.h:51
DiTauMassTools::MissingMassOutput::m_nuvec1
TLorentzVector m_nuvec1[MMCFitMethodV2::MAX]
Definition: MissingMassOutput.h:55
DiTauMassTools::MissingMassOutput::m_nuvec2
TLorentzVector m_nuvec2[MMCFitMethodV2::MAX]
Definition: MissingMassOutput.h:57
DiTauMassTools::MissingMassOutput::m_objvec1
TLorentzVector m_objvec1[MMCFitMethodV2::MAX]
Definition: MissingMassOutput.h:56
DiTauMassTools::MissingMassOutput::m_FittedMetVec
TVector2 m_FittedMetVec[MMCFitMethodV2::MAX]
Definition: MissingMassOutput.h:60
DiTauMassTools::MissingMassOutput::m_objvec2
TLorentzVector m_objvec2[MMCFitMethodV2::MAX]
Definition: MissingMassOutput.h:58
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
DiTauMassTools::MissingMassOutput::m_hMfit_all
std::shared_ptr< TH1F > m_hMfit_all
Definition: MissingMassOutput.h:62
ZDCMsg::Info
@ Info
Definition: ZDCMsg.h:20
dqt_zlumi_pandas.mass
mass
Definition: dqt_zlumi_pandas.py:170
DiTauMassTools::MissingMassOutput::m_FittedMassLowerError
double m_FittedMassLowerError[MMCFitMethodV2::MAX]
Definition: MissingMassOutput.h:54
DiTauMassTools::MissingMassOutput::m_hMfit_allNoWeight
std::shared_ptr< TH1F > m_hMfit_allNoWeight
Definition: MissingMassOutput.h:63
DiTauMassTools::MissingMassOutput::m_FittedMassUpperError
double m_FittedMassUpperError[MMCFitMethodV2::MAX]
Definition: MissingMassOutput.h:53
CxxUtils::vec
typename vecDetail::vec_typedef< T, N >::type vec
Define a nice alias for the vectorized type.
Definition: vec.h:207
DiTauMassTools::MMCFitMethodV2::MAXW
@ MAXW
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:42
DiTauMassTools::MMCFitMethodV2::MLNU3P
@ MLNU3P
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:42
DiTauMassTools::MissingMassOutput::m_NSolutions
int m_NSolutions
Definition: MissingMassOutput.h:66
DiTauMassTools::MissingMassOutput::m_totalvec
TLorentzVector m_totalvec[MMCFitMethodV2::MAX]
Definition: MissingMassOutput.h:59
DiTauMassTools::MissingMassOutput::m_RMS2MPV
double m_RMS2MPV
Definition: MissingMassOutput.h:61
DiTauMassTools::MissingMassOutput::m_NSuccesses
int m_NSuccesses
Definition: MissingMassOutput.h:65
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
DiTauMassTools::MissingMassOutput::m_AveSolRMS
double m_AveSolRMS
Definition: MissingMassOutput.h:68
DiTauMassTools::MissingMassOutput::m_NTrials
int m_NTrials
Definition: MissingMassOutput.h:64
DiTauMassTools::MissingMassOutput::m_FitStatus
int m_FitStatus
Definition: MissingMassOutput.h:50
L1Topo::Error
Error
The different types of error that can be flagged in the L1TopoRDO.
Definition: Error.h:16
DiTauMassTools::MissingMassOutput::m_SumW
double m_SumW
Definition: MissingMassOutput.h:67
DiTauMassTools::MissingMassOutput::m_FittedMass
double m_FittedMass[MMCFitMethodV2::MAX]
Definition: MissingMassOutput.h:52
checkFileSG.ind
list ind
Definition: checkFileSG.py:118
DiTauMassTools::MMCFitMethodV2::MAX
@ MAX
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:42