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< 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 23 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()"); }
27  m_FitStatus=0;
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 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ GetMassHistogram()

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

Definition at line 146 of file MissingMassOutput.cxx.

147 {
148  return m_hMfit_all;
149 }

◆ GetMassHistogramNoWeight()

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

Definition at line 151 of file MissingMassOutput.cxx.

152 {
153  return m_hMfit_allNoWeight;
154 }

◆ 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.

130 {
131  return m_NSolutions;
132 }

◆ GetNSuccesses()

int MissingMassOutput::GetNSuccesses ( ) const

Definition at line 124 of file MissingMassOutput.cxx.

125 {
126  return m_NSuccesses;
127 }

◆ GetNTrials()

int MissingMassOutput::GetNTrials ( ) const

Definition at line 119 of file MissingMassOutput.cxx.

120 {
121  return m_NTrials;
122 }

◆ 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 }

Friends And Related Function Documentation

◆ MissingMassCalculator

friend class MissingMassCalculator
friend

Definition at line 48 of file MissingMassOutput.h.

Member Data Documentation

◆ m_AveSolRMS

double DiTauMassTools::MissingMassOutput::m_AveSolRMS
private

Definition at line 70 of file MissingMassOutput.h.

◆ m_FitSignificance

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

Definition at line 53 of file MissingMassOutput.h.

◆ m_FitStatus

int DiTauMassTools::MissingMassOutput::m_FitStatus
private

Definition at line 52 of file MissingMassOutput.h.

◆ m_FittedMass

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

Definition at line 54 of file MissingMassOutput.h.

◆ m_FittedMassLowerError

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

Definition at line 56 of file MissingMassOutput.h.

◆ m_FittedMassUpperError

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

Definition at line 55 of file MissingMassOutput.h.

◆ m_FittedMetVec

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

Definition at line 62 of file MissingMassOutput.h.

◆ m_hMfit_all

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

Definition at line 64 of file MissingMassOutput.h.

◆ m_hMfit_allNoWeight

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

Definition at line 65 of file MissingMassOutput.h.

◆ m_NSolutions

int DiTauMassTools::MissingMassOutput::m_NSolutions
private

Definition at line 68 of file MissingMassOutput.h.

◆ m_NSuccesses

int DiTauMassTools::MissingMassOutput::m_NSuccesses
private

Definition at line 67 of file MissingMassOutput.h.

◆ m_NTrials

int DiTauMassTools::MissingMassOutput::m_NTrials
private

Definition at line 66 of file MissingMassOutput.h.

◆ m_nuvec1

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

Definition at line 57 of file MissingMassOutput.h.

◆ m_nuvec2

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

Definition at line 59 of file MissingMassOutput.h.

◆ m_objvec1

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

Definition at line 58 of file MissingMassOutput.h.

◆ m_objvec2

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

Definition at line 60 of file MissingMassOutput.h.

◆ m_RMS2MPV

double DiTauMassTools::MissingMassOutput::m_RMS2MPV
private

Definition at line 63 of file MissingMassOutput.h.

◆ m_SumW

double DiTauMassTools::MissingMassOutput::m_SumW
private

Definition at line 69 of file MissingMassOutput.h.

◆ m_totalvec

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

Definition at line 61 of file MissingMassOutput.h.


The documentation for this class was generated from the following files:
DiTauMassTools::MMCFitMethod::MAX
@ MAX
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:46
Base_Fragment.mass
mass
Definition: Sherpa_i/share/common/Base_Fragment.py:59
DiTauMassTools::MissingMassOutput::m_FittedMass
double m_FittedMass[MMCFitMethod::MAX]
Definition: MissingMassOutput.h:54
DiTauMassTools::MissingMassOutput::m_FitSignificance
double m_FitSignificance[MMCFitMethod::MAX]
Definition: MissingMassOutput.h:53
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
DiTauMassTools::MissingMassOutput::m_FittedMassLowerError
double m_FittedMassLowerError[MMCFitMethod::MAX]
Definition: MissingMassOutput.h:56
DiTauMassTools::MissingMassOutput::m_hMfit_all
std::shared_ptr< TH1F > m_hMfit_all
Definition: MissingMassOutput.h:64
ZDCMsg::Info
@ Info
Definition: ZDCMsg.h:20
DiTauMassTools::MissingMassOutput::m_hMfit_allNoWeight
std::shared_ptr< TH1F > m_hMfit_allNoWeight
Definition: MissingMassOutput.h:65
CxxUtils::vec
typename vecDetail::vec_typedef< T, N >::type vec
Define a nice alias for the vectorized type.
Definition: vec.h:207
DiTauMassTools::MissingMassOutput::m_NSolutions
int m_NSolutions
Definition: MissingMassOutput.h:68
DiTauMassTools::MissingMassOutput::m_objvec2
PtEtaPhiMVector m_objvec2[MMCFitMethod::MAX]
Definition: MissingMassOutput.h:60
DiTauMassTools::MissingMassOutput::m_RMS2MPV
double m_RMS2MPV
Definition: MissingMassOutput.h:63
DiTauMassTools::MissingMassOutput::m_objvec1
PtEtaPhiMVector m_objvec1[MMCFitMethod::MAX]
Definition: MissingMassOutput.h:58
DiTauMassTools::MissingMassOutput::m_NSuccesses
int m_NSuccesses
Definition: MissingMassOutput.h:67
DiTauMassTools::MissingMassOutput::m_FittedMassUpperError
double m_FittedMassUpperError[MMCFitMethod::MAX]
Definition: MissingMassOutput.h:55
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
DiTauMassTools::MissingMassOutput::m_AveSolRMS
double m_AveSolRMS
Definition: MissingMassOutput.h:70
DiTauMassTools::MissingMassOutput::m_nuvec1
PtEtaPhiMVector m_nuvec1[MMCFitMethod::MAX]
Definition: MissingMassOutput.h:57
DiTauMassTools::MissingMassOutput::m_FittedMetVec
XYVector m_FittedMetVec[MMCFitMethod::MAX]
Definition: MissingMassOutput.h:62
DiTauMassTools::MissingMassOutput::m_nuvec2
PtEtaPhiMVector m_nuvec2[MMCFitMethod::MAX]
Definition: MissingMassOutput.h:59
DiTauMassTools::MissingMassOutput::m_NTrials
int m_NTrials
Definition: MissingMassOutput.h:66
DiTauMassTools::MMCFitMethod::MAXW
@ MAXW
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:46
DiTauMassTools::MissingMassOutput::m_FitStatus
int m_FitStatus
Definition: MissingMassOutput.h:52
DiTauMassTools::MMCFitMethod::MLNU3P
@ MLNU3P
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:46
DiTauMassTools::MissingMassOutput::m_totalvec
PtEtaPhiMVector m_totalvec[MMCFitMethod::MAX]
Definition: MissingMassOutput.h:61
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:69
checkFileSG.ind
list ind
Definition: checkFileSG.py:118