ATLAS Offline Software
MissingMassOutput.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // Class handling the output of the MissingMassCalculator
6 // author Michael Huebner <michael.huebner@no.spam.cern.ch>
7 
8 #ifndef DITAUMASSTOOLS_MISSINGMASSOUTPUT_H
9 #define DITAUMASSTOOLS_MISSINGMASSOUTPUT_H
10 
11 // local include(s):
13 
14 // ROOT include(s):
15 #include <TH1.h>
16 #include <memory> //shared_ptr
17 
18 namespace DiTauMassTools{
19  using ROOT::Math::PtEtaPhiMVector;
20  using ROOT::Math::XYVector;
21 
22 class MissingMassCalculator;
23 
25 
26  public:
29 
30  int GetFitStatus() const; // return fit status
31  double GetFittedMass(int fitcode) const; // returns fitted Mass
32  double GetFittedMassErrorUp(int fitcode) const; // returns upper error on fitted Mass
33  double GetFittedMassErrorLow(int fitcode) const; // returns lower error on fitted Mass
34  std::shared_ptr<TH1F> GetMassHistogram() const; // return mass histogram
35  std::shared_ptr<TH1F> GetMassHistogramNoWeight() const; // return mass histogram without weights
36  int GetNTrials() const;// total number of point scanned
37  int GetNSuccesses() const;// total number of point with at least 1 solutions
38  int GetNSolutions() const;// total number of solutions
39  double GetSumW() const; // sum of weights
40  double GetAveSolRMS() const; // ave RMS of solutions (for one event)
41 
42  double GetRms2Mpv() const; // returns RMS/MPV according to histogram method
43  PtEtaPhiMVector GetNeutrino4vec(int fitcode, int ind) const; // returns neutrino 4-vec
44  double GetFitSignificance(int fitcode) const; // returns fit significance
45  PtEtaPhiMVector GetTau4vec(int fitcode, int ind) const; // returns full tau 4-vec
46  PtEtaPhiMVector GetResonanceVec(int fitcode) const; // returns 4-vec for resonance
47  XYVector GetFittedMetVec(int fitcode) const; // returns 2-vec for fitted MET
48 
49  friend class MissingMassCalculator;
50 
51  private:
52  void ClearOutput(bool fUseVerbose);
53  int m_FitStatus{};
58  PtEtaPhiMVector m_nuvec1[MMCFitMethod::MAX]{};
59  PtEtaPhiMVector m_objvec1[MMCFitMethod::MAX]{};
60  PtEtaPhiMVector m_nuvec2[MMCFitMethod::MAX]{};
61  PtEtaPhiMVector m_objvec2[MMCFitMethod::MAX]{};
62  PtEtaPhiMVector m_totalvec[MMCFitMethod::MAX]{};
64  double m_RMS2MPV{};
65  std::shared_ptr<TH1F> m_hMfit_all;
66  std::shared_ptr<TH1F> m_hMfit_allNoWeight;
67  int m_NTrials{};
68  int m_NSuccesses{};
69  int m_NSolutions{};
70  double m_SumW{};
71  double m_AveSolRMS{};
72 };
73 } // namespace DiTauMassTools
74 
75 #endif
DiTauMassTools::MissingMassOutput::GetFitSignificance
double GetFitSignificance(int fitcode) const
Definition: MissingMassOutput.cxx:54
DiTauMassTools::MMCFitMethod::MAX
@ MAX
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:46
HelperFunctions.h
DiTauMassTools::MissingMassOutput::m_FittedMass
double m_FittedMass[MMCFitMethod::MAX]
Definition: MissingMassOutput.h:55
DiTauMassTools::MissingMassOutput::GetMassHistogram
std::shared_ptr< TH1F > GetMassHistogram() const
Definition: MissingMassOutput.cxx:146
DiTauMassTools::MissingMassOutput::~MissingMassOutput
~MissingMassOutput()
Definition: MissingMassOutput.cxx:20
DiTauMassTools::MissingMassOutput::m_FitSignificance
double m_FitSignificance[MMCFitMethod::MAX]
Definition: MissingMassOutput.h:54
DiTauMassTools::MissingMassOutput::m_FittedMassLowerError
double m_FittedMassLowerError[MMCFitMethod::MAX]
Definition: MissingMassOutput.h:57
DiTauMassTools::MissingMassOutput::m_hMfit_all
std::shared_ptr< TH1F > m_hMfit_all
Definition: MissingMassOutput.h:65
DiTauMassTools::MissingMassOutput::GetNTrials
int GetNTrials() const
Definition: MissingMassOutput.cxx:119
DiTauMassTools::MissingMassOutput::GetFittedMassErrorLow
double GetFittedMassErrorLow(int fitcode) const
Definition: MissingMassOutput.cxx:104
DiTauMassTools::MissingMassOutput::m_hMfit_allNoWeight
std::shared_ptr< TH1F > m_hMfit_allNoWeight
Definition: MissingMassOutput.h:66
DiTauMassTools::MissingMassCalculator
Definition: MissingMassCalculator.h:46
DiTauMassTools::MissingMassOutput::GetSumW
double GetSumW() const
Definition: MissingMassOutput.cxx:135
DiTauMassTools
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:24
DiTauMassTools::MissingMassOutput::GetFittedMetVec
XYVector GetFittedMetVec(int fitcode) const
Definition: MissingMassOutput.cxx:207
DiTauMassTools::MissingMassOutput::GetNSuccesses
int GetNSuccesses() const
Definition: MissingMassOutput.cxx:124
DiTauMassTools::MissingMassOutput::GetNeutrino4vec
PtEtaPhiMVector GetNeutrino4vec(int fitcode, int ind) const
Definition: MissingMassOutput.cxx:157
DiTauMassTools::MissingMassOutput::GetAveSolRMS
double GetAveSolRMS() const
Definition: MissingMassOutput.cxx:141
DiTauMassTools::MissingMassOutput::GetNSolutions
int GetNSolutions() const
Definition: MissingMassOutput.cxx:129
DiTauMassTools::MissingMassOutput::GetRms2Mpv
double GetRms2Mpv() const
Definition: MissingMassOutput.cxx:67
DiTauMassTools::MissingMassOutput::ClearOutput
void ClearOutput(bool fUseVerbose)
Definition: MissingMassOutput.cxx:24
DiTauMassTools::MissingMassOutput::GetTau4vec
PtEtaPhiMVector GetTau4vec(int fitcode, int ind) const
Definition: MissingMassOutput.cxx:174
DiTauMassTools::MissingMassOutput::m_NSolutions
int m_NSolutions
Definition: MissingMassOutput.h:69
DiTauMassTools::MissingMassOutput::GetFittedMass
double GetFittedMass(int fitcode) const
Definition: MissingMassOutput.cxx:72
DiTauMassTools::MissingMassOutput::m_objvec2
PtEtaPhiMVector m_objvec2[MMCFitMethod::MAX]
Definition: MissingMassOutput.h:61
DiTauMassTools::MissingMassOutput::m_RMS2MPV
double m_RMS2MPV
Definition: MissingMassOutput.h:64
DiTauMassTools::MissingMassOutput::GetMassHistogramNoWeight
std::shared_ptr< TH1F > GetMassHistogramNoWeight() const
Definition: MissingMassOutput.cxx:151
DiTauMassTools::MissingMassOutput::m_objvec1
PtEtaPhiMVector m_objvec1[MMCFitMethod::MAX]
Definition: MissingMassOutput.h:59
DiTauMassTools::MissingMassOutput::GetFittedMassErrorUp
double GetFittedMassErrorUp(int fitcode) const
Definition: MissingMassOutput.cxx:88
DiTauMassTools::MissingMassOutput::m_NSuccesses
int m_NSuccesses
Definition: MissingMassOutput.h:68
DiTauMassTools::MissingMassOutput::m_FittedMassUpperError
double m_FittedMassUpperError[MMCFitMethod::MAX]
Definition: MissingMassOutput.h:56
DiTauMassTools::MissingMassOutput
Definition: MissingMassOutput.h:24
DiTauMassTools::MissingMassOutput::GetFitStatus
int GetFitStatus() const
Definition: MissingMassOutput.cxx:49
DiTauMassTools::MissingMassOutput::m_AveSolRMS
double m_AveSolRMS
Definition: MissingMassOutput.h:71
DiTauMassTools::MissingMassOutput::MissingMassOutput
MissingMassOutput()
Definition: MissingMassOutput.cxx:16
DiTauMassTools::MissingMassOutput::m_nuvec1
PtEtaPhiMVector m_nuvec1[MMCFitMethod::MAX]
Definition: MissingMassOutput.h:58
DiTauMassTools::MissingMassOutput::m_FittedMetVec
XYVector m_FittedMetVec[MMCFitMethod::MAX]
Definition: MissingMassOutput.h:63
DiTauMassTools::MissingMassOutput::m_nuvec2
PtEtaPhiMVector m_nuvec2[MMCFitMethod::MAX]
Definition: MissingMassOutput.h:60
DiTauMassTools::MissingMassOutput::m_NTrials
int m_NTrials
Definition: MissingMassOutput.h:67
DiTauMassTools::MissingMassOutput::m_FitStatus
int m_FitStatus
Definition: MissingMassOutput.h:53
DiTauMassTools::MissingMassOutput::m_totalvec
PtEtaPhiMVector m_totalvec[MMCFitMethod::MAX]
Definition: MissingMassOutput.h:62
DiTauMassTools::MissingMassOutput::m_SumW
double m_SumW
Definition: MissingMassOutput.h:70
checkFileSG.ind
list ind
Definition: checkFileSG.py:118
DiTauMassTools::MissingMassOutput::GetResonanceVec
PtEtaPhiMVector GetResonanceVec(int fitcode) const
Definition: MissingMassOutput.cxx:191