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

#include <MissingMassInput.h>

Collaboration diagram for DiTauMassTools::MissingMassInput:

Public Member Functions

 MissingMassInput ()
 ~MissingMassInput ()
void ClearInput ()
void PrintInputInfo ()
void SetBeamEnergy (double val)
void SetMETresSyst (int val)
void SetMetScanParamsUE (double sumEt, double phi_scan=0.0, int data_code=0)
void SetNjet25 (int val)
void SetSumEt (double sumEt)
void SetVisTauVec (int i, const PtEtaPhiMVector &vec)
void SetVisTauType (int i, int tautype)
void SetMetVec (const XYVector &vec)
void SetNprong (int i, int nprong)
void SetIsData (int val)
void SetMHtSigma1 (double val)
void SetMHtSigma2 (double val)
void SetMHtGaussFr (double val)
void SetMETScanScheme (int val)
void SetUseDefaults (int val)
void SetUseTailCleanup (bool val)
void SetUseVerbose (bool val)
void SetLFVmode (int val)

Private Attributes

XYVector m_MetVec
PtEtaPhiMVector m_vistau1
PtEtaPhiMVector m_vistau2
int m_type_visTau1 {}
int m_type_visTau2 {}
int m_Nprong_tau1 {}
int m_Nprong_tau2 {}
int m_dataType {}
double m_METcovphi {}
double m_METsigmaP {}
double m_METsigmaL {}
double m_SumEt {}
std::vector< PtEtaPhiMVector > m_jet4vecs
int m_Njet25 {}
double m_DelPhiTT {}
double m_MHtSigma1 {}
double m_MHtSigma2 {}
double m_MHtGaussFr {}
double m_HtOffset {}
double m_beamEnergy {}
int m_InputReorder {}
int m_METScanScheme {}
int m_METresSyst {}
bool m_fUseDefaults {}
bool m_fUseTailCleanup {}
bool m_fUseVerbose {}
XYVector m_metVec
PtEtaPhiMVector m_tlv_tmp
double m_inputMEtX {}
double m_inputMEtY {}
double m_inputMEtT {}
double m_MEtX {}
double m_MEtY {}
double m_MEtT {}
double m_htOffset {}
int m_LFVmode {}
TauTypes::e m_tauTypes {}

Friends

class MissingMassCalculator
class MissingMassProb

Detailed Description

Definition at line 21 of file MissingMassInput.h.

Constructor & Destructor Documentation

◆ MissingMassInput()

MissingMassInput::MissingMassInput ( )

Definition at line 16 of file MissingMassInput.cxx.

16 {
17}

◆ ~MissingMassInput()

MissingMassInput::~MissingMassInput ( )

Definition at line 20 of file MissingMassInput.cxx.

20 {
21}

Member Function Documentation

◆ ClearInput()

void MissingMassInput::ClearInput ( )

Definition at line 24 of file MissingMassInput.cxx.

24 {
25
26 if(m_fUseVerbose == 1){ Info("DiTauMassTools", "MissingMassCalculator::ClearInput()"); }
27
28 m_MetVec.SetXY(0.,0.);
29 m_vistau1.SetCoordinates(0.,0.,0.,0.);
30 m_vistau2.SetCoordinates(0.,0.,0.,0.);
31
34 m_Nprong_tau1 = 0;
35 m_Nprong_tau2 = 0;
36 m_dataType = 0;
37 m_Njet25 = 0;
38
39 m_METcovphi = 0.;
40 m_METsigmaP = 0.;
41 m_METsigmaL = 0.;
42 m_SumEt = 0.;
43 m_DelPhiTT = 0.;
44 m_MHtSigma1 = 0.;
45 m_MHtSigma2 = 0.;
46 m_MHtGaussFr = 0.;
47 m_HtOffset = 0.;
48
49 m_jet4vecs.clear();
50
51 m_LFVmode = -1;
52
53 return;
54}
std::vector< PtEtaPhiMVector > m_jet4vecs
@ Info
Definition ZDCMsg.h:20

◆ PrintInputInfo()

void MissingMassInput::PrintInputInfo ( )

Definition at line 58 of file MissingMassInput.cxx.

58 {
59 if(m_fUseVerbose!=1) return;
60
61 Info("DiTauMassTools", "%s", ("met_x="+std::to_string(m_MetVec.X())+" met_y="+std::to_string(m_MetVec.Y())+" MET="+std::to_string(m_MetVec.R())+" met_phi="+std::to_string(m_MetVec.Phi())).c_str());
62 Info("DiTauMassTools", "%s", ("sumEt="+std::to_string(m_SumEt)+" METsigmaP="+std::to_string(m_METsigmaP)+" METsigmaL="+std::to_string(m_METsigmaL)+" METcovphi="+std::to_string(m_METcovphi)).c_str());
63 //Info("DiTauMassTools", "%s", (" Njet25="+std::to_string(Njet25)+" allowUseHT="+std::to_string(prob->GetAllowUseHT())+" useHT="+std::to_string(prob->GetUseHT())).c_str());
64
65 Info("DiTauMassTools", "%s", ("MHtSigma1="+std::to_string(m_MHtSigma1)+" MHtSigma2="+std::to_string(m_MHtSigma2)
66 +" MHtGaussFr="+std::to_string(m_MHtGaussFr)
67 +" HtOffset="+std::to_string(m_HtOffset)).c_str());
68
69 Info("DiTauMassTools", "%s", ("1st visible tau: type="+std::to_string(m_type_visTau1)+" Nprong="+std::to_string(m_Nprong_tau1)+" P="+std::to_string(m_vistau1.P())+" Pt="+std::to_string(m_vistau1.Pt())
70 +" Eta="+std::to_string(m_vistau1.Eta())+" Phi="+std::to_string(m_vistau1.Phi())+" M="+std::to_string(m_vistau1.M())).c_str());
71 Info("DiTauMassTools", "%s", ("2nd visible tau: type="+std::to_string(m_type_visTau2)+" Nprong="+std::to_string(m_Nprong_tau2)+" P="+std::to_string(m_vistau2.P())+" Pt="+std::to_string(m_vistau2.Pt())
72 +" Eta="+std::to_string(m_vistau2.Eta())+" Phi="+std::to_string(m_vistau2.Phi())+" M="+std::to_string(m_vistau2.M())).c_str());
73
74 if(m_jet4vecs.size()>0)
75 {
76 for(unsigned int i=0; i<m_jet4vecs.size(); i++)
77 {
78 Info("DiTauMassTools", "%s", ("Printing jets: jet "+std::to_string(i)+" E="+std::to_string(m_jet4vecs[i].E())+" Pt="
79 +std::to_string(m_jet4vecs[i].Pt())+" Phi="+std::to_string(m_jet4vecs[i].Phi())+" Eta="+std::to_string(m_jet4vecs[i].Eta())).c_str());
80 }
81 }
82 return;
83}
@ Phi
Definition RPCdef.h:8
@ Eta
Definition RPCdef.h:8

◆ SetBeamEnergy()

void DiTauMassTools::MissingMassInput::SetBeamEnergy ( double val)
inline

◆ SetIsData()

void MissingMassInput::SetIsData ( int val)

Definition at line 137 of file MissingMassInput.cxx.

137 {
138 if(val==0 || val==1) m_dataType = val;
139 return;
140}

◆ SetLFVmode()

void DiTauMassTools::MissingMassInput::SetLFVmode ( int val)
inline

Definition at line 47 of file MissingMassInput.h.

47{ m_LFVmode=val; }

◆ SetMETresSyst()

void DiTauMassTools::MissingMassInput::SetMETresSyst ( int val)
inline

Definition at line 31 of file MissingMassInput.h.

31{ m_METresSyst=val; } // MET resolution systematics: +/-1 sigma

◆ SetMetScanParamsUE()

void MissingMassInput::SetMetScanParamsUE ( double sumEt,
double phi_scan = 0.0,
int data_code = 0 )

Definition at line 89 of file MissingMassInput.cxx.

89 {
90 m_METcovphi = phi_scan;
91 if(sumEt>2.0*m_beamEnergy) sumEt = sumEt/1000.0; // it's likely that sumEt was entered in MeV; this fix won't work only for a very small fraction of events
92 double sigma = 1.0;
93 double sigmaSyst = 0.10; // 10% systematics for now (be conservative)
94 double METresScale = 0.7; // using inclusive number for winter 2012
95 if(data_code==1) METresScale=0.7; // use the same for data & MC
96 METresScale = METresScale*(1.0+m_METresSyst*sigmaSyst);
97 // MET resolution can't be perfect in presence of other objects (i.e., electrons, jets, taus), so assume minSumEt = 5.0 for now
98 sigma = sumEt>pow(3.0/METresScale,2) ? METresScale*sqrt(sumEt) : 3.0; // assume that MET resolution can't be better than 3 GeV
101 m_SumEt = sumEt;
102 m_dataType = data_code; // Sasha added on 09/26/11
103 return;
104}
constexpr int pow(int base, int exp) noexcept

◆ SetMETScanScheme()

void DiTauMassTools::MissingMassInput::SetMETScanScheme ( int val)
inline

◆ SetMetVec()

void MissingMassInput::SetMetVec ( const XYVector & vec)

Definition at line 130 of file MissingMassInput.cxx.

130 {
131 m_MetVec = vec;
132 return;
133}
std::vector< size_t > vec

◆ SetMHtGaussFr()

void DiTauMassTools::MissingMassInput::SetMHtGaussFr ( double val)
inline

Definition at line 42 of file MissingMassInput.h.

◆ SetMHtSigma1()

void DiTauMassTools::MissingMassInput::SetMHtSigma1 ( double val)
inline

Definition at line 40 of file MissingMassInput.h.

◆ SetMHtSigma2()

void DiTauMassTools::MissingMassInput::SetMHtSigma2 ( double val)
inline

Definition at line 41 of file MissingMassInput.h.

41{ m_MHtSigma2=val; }

◆ SetNjet25()

void MissingMassInput::SetNjet25 ( int val)

Definition at line 107 of file MissingMassInput.cxx.

107 {
108 if(val>-1) m_Njet25 = val;
109 return;
110}

◆ SetNprong()

void MissingMassInput::SetNprong ( int i,
int nprong )

Definition at line 142 of file MissingMassInput.cxx.

142 {
143 if(i==0) m_Nprong_tau1 = nprong;
144 if(i==1) m_Nprong_tau2 = nprong;
145 return;
146}

◆ SetSumEt()

void MissingMassInput::SetSumEt ( double sumEt)

Definition at line 112 of file MissingMassInput.cxx.

112 {
113 m_SumEt = sumEt;
114 return;
115}

◆ SetUseDefaults()

void DiTauMassTools::MissingMassInput::SetUseDefaults ( int val)
inline

Definition at line 44 of file MissingMassInput.h.

◆ SetUseTailCleanup()

void DiTauMassTools::MissingMassInput::SetUseTailCleanup ( bool val)
inline

◆ SetUseVerbose()

void DiTauMassTools::MissingMassInput::SetUseVerbose ( bool val)
inline

Definition at line 46 of file MissingMassInput.h.

◆ SetVisTauType()

void MissingMassInput::SetVisTauType ( int i,
int tautype )

Definition at line 117 of file MissingMassInput.cxx.

117 {
118 if(i==0) m_type_visTau1 = tautype;
119 if(i==1) m_type_visTau2 = tautype;
120 return;
121}

◆ SetVisTauVec()

void MissingMassInput::SetVisTauVec ( int i,
const PtEtaPhiMVector & vec )

Definition at line 123 of file MissingMassInput.cxx.

123 {
124 if(m_fUseVerbose==1) { Info("DiTauMassTools", "%s", ("Seting input "+std::to_string(i)+" to pT="+std::to_string(vec.Pt())).c_str()); }
125 if(i==0) m_vistau1 = vec;
126 if(i==1) m_vistau2 = vec;
127 return;
128}

◆ MissingMassCalculator

friend class MissingMassCalculator
friend

Definition at line 49 of file MissingMassInput.h.

◆ MissingMassProb

friend class MissingMassProb
friend

Definition at line 50 of file MissingMassInput.h.

Member Data Documentation

◆ m_beamEnergy

double DiTauMassTools::MissingMassInput::m_beamEnergy {}
private

Definition at line 72 of file MissingMassInput.h.

72{}; // beam energy (Tevatron=980, LHC-1=3500.0)

◆ m_dataType

int DiTauMassTools::MissingMassInput::m_dataType {}
private

Definition at line 60 of file MissingMassInput.h.

60{};

◆ m_DelPhiTT

double DiTauMassTools::MissingMassInput::m_DelPhiTT {}
private

Definition at line 67 of file MissingMassInput.h.

67{};

◆ m_fUseDefaults

bool DiTauMassTools::MissingMassInput::m_fUseDefaults {}
private

Definition at line 76 of file MissingMassInput.h.

76{}; // switch to control defaults: 1== use defaults, 0== don't use defaults (useful for studies)

◆ m_fUseTailCleanup

bool DiTauMassTools::MissingMassInput::m_fUseTailCleanup {}
private

Definition at line 77 of file MissingMassInput.h.

77{}; // switch to apply tail clean-up

◆ m_fUseVerbose

bool DiTauMassTools::MissingMassInput::m_fUseVerbose {}
private

Definition at line 78 of file MissingMassInput.h.

78{}; // code to turn ON printouts for debugging

◆ m_HtOffset

double DiTauMassTools::MissingMassInput::m_HtOffset {}
private

Definition at line 71 of file MissingMassInput.h.

71{}; // HT offset

◆ m_htOffset

double DiTauMassTools::MissingMassInput::m_htOffset {}
private

Definition at line 83 of file MissingMassInput.h.

83{};

◆ m_inputMEtT

double DiTauMassTools::MissingMassInput::m_inputMEtT {}
private

◆ m_inputMEtX

double DiTauMassTools::MissingMassInput::m_inputMEtX {}
private

Definition at line 81 of file MissingMassInput.h.

◆ m_inputMEtY

double DiTauMassTools::MissingMassInput::m_inputMEtY {}
private

Definition at line 81 of file MissingMassInput.h.

◆ m_InputReorder

int DiTauMassTools::MissingMassInput::m_InputReorder {}
private

Definition at line 73 of file MissingMassInput.h.

73{}; // flag for input re-order

◆ m_jet4vecs

std::vector<PtEtaPhiMVector> DiTauMassTools::MissingMassInput::m_jet4vecs
private

Definition at line 65 of file MissingMassInput.h.

◆ m_LFVmode

int DiTauMassTools::MissingMassInput::m_LFVmode {}
private

Definition at line 84 of file MissingMassInput.h.

84{}; // flag to determine which LFV decay to be reconstructed: 0=H->e+tau(mu) or 1=H->mu+tau(e)

◆ m_METcovphi

double DiTauMassTools::MissingMassInput::m_METcovphi {}
private

Definition at line 61 of file MissingMassInput.h.

61{};

◆ m_METresSyst

int DiTauMassTools::MissingMassInput::m_METresSyst {}
private

Definition at line 75 of file MissingMassInput.h.

75{}; // switch to turn on/off MET resolution systematics

◆ m_METScanScheme

int DiTauMassTools::MissingMassInput::m_METScanScheme {}
private

Definition at line 74 of file MissingMassInput.h.

74{}; // MET-scan scheme: 0- use JER{}; 1- use simple sumEt & missingHt for Njet=0 events in (lep-had)

◆ m_METsigmaL

double DiTauMassTools::MissingMassInput::m_METsigmaL {}
private

Definition at line 63 of file MissingMassInput.h.

63{};

◆ m_METsigmaP

double DiTauMassTools::MissingMassInput::m_METsigmaP {}
private

Definition at line 62 of file MissingMassInput.h.

62{};

◆ m_MEtT

double DiTauMassTools::MissingMassInput::m_MEtT {}
private

◆ m_MetVec

XYVector DiTauMassTools::MissingMassInput::m_MetVec
private

Definition at line 53 of file MissingMassInput.h.

◆ m_metVec

XYVector DiTauMassTools::MissingMassInput::m_metVec
private

Definition at line 79 of file MissingMassInput.h.

◆ m_MEtX

double DiTauMassTools::MissingMassInput::m_MEtX {}
private

Definition at line 82 of file MissingMassInput.h.

82{}, m_MEtY{},m_MEtT{};

◆ m_MEtY

double DiTauMassTools::MissingMassInput::m_MEtY {}
private

Definition at line 82 of file MissingMassInput.h.

82{}, m_MEtY{},m_MEtT{};

◆ m_MHtGaussFr

double DiTauMassTools::MissingMassInput::m_MHtGaussFr {}
private

Definition at line 70 of file MissingMassInput.h.

70{}; // relative fraction of 2nd Gaussian

◆ m_MHtSigma1

double DiTauMassTools::MissingMassInput::m_MHtSigma1 {}
private

Definition at line 68 of file MissingMassInput.h.

68{}; // sigma of 1st Gaussian in missing Ht resolution

◆ m_MHtSigma2

double DiTauMassTools::MissingMassInput::m_MHtSigma2 {}
private

Definition at line 69 of file MissingMassInput.h.

69{}; // sigma of 2nd Gaussian in missing Ht resolution

◆ m_Njet25

int DiTauMassTools::MissingMassInput::m_Njet25 {}
private

Definition at line 66 of file MissingMassInput.h.

66{};

◆ m_Nprong_tau1

int DiTauMassTools::MissingMassInput::m_Nprong_tau1 {}
private

Definition at line 58 of file MissingMassInput.h.

58{};

◆ m_Nprong_tau2

int DiTauMassTools::MissingMassInput::m_Nprong_tau2 {}
private

Definition at line 59 of file MissingMassInput.h.

59{};

◆ m_SumEt

double DiTauMassTools::MissingMassInput::m_SumEt {}
private

Definition at line 64 of file MissingMassInput.h.

64{};

◆ m_tauTypes

TauTypes::e DiTauMassTools::MissingMassInput::m_tauTypes {}
private

Definition at line 85 of file MissingMassInput.h.

85{};

◆ m_tlv_tmp

PtEtaPhiMVector DiTauMassTools::MissingMassInput::m_tlv_tmp
private

Definition at line 80 of file MissingMassInput.h.

◆ m_type_visTau1

int DiTauMassTools::MissingMassInput::m_type_visTau1 {}
private

Definition at line 56 of file MissingMassInput.h.

56{}; // 0: l, 1:1-prong, 3:3-prong

◆ m_type_visTau2

int DiTauMassTools::MissingMassInput::m_type_visTau2 {}
private

Definition at line 57 of file MissingMassInput.h.

57{}; // 0: l, 1:1-prong, 3:3-prong

◆ m_vistau1

PtEtaPhiMVector DiTauMassTools::MissingMassInput::m_vistau1
private

Definition at line 54 of file MissingMassInput.h.

◆ m_vistau2

PtEtaPhiMVector DiTauMassTools::MissingMassInput::m_vistau2
private

Definition at line 55 of file MissingMassInput.h.


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