ATLAS Offline Software
Public Member Functions | Private Attributes | Friends | List of all members
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 
32  m_type_visTau1 = 0;
33  m_type_visTau2 = 0;
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 }

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

◆ SetBeamEnergy()

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

Definition at line 30 of file MissingMassInput.h.

30 { m_beamEnergy=val; } // beam energy

◆ 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
100  m_METsigmaL = sigma;
101  m_SumEt = sumEt;
102  m_dataType = data_code; // Sasha added on 09/26/11
103  return;
104 }

◆ SetMETScanScheme()

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

Definition at line 43 of file MissingMassInput.h.

◆ SetMetVec()

void MissingMassInput::SetMetVec ( const XYVector &  vec)

Definition at line 130 of file MissingMassInput.cxx.

130  {
131  m_MetVec = vec;
132  return;
133 }

◆ SetMHtGaussFr()

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

Definition at line 42 of file MissingMassInput.h.

42 { m_MHtGaussFr=val; }

◆ SetMHtSigma1()

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

Definition at line 40 of file MissingMassInput.h.

40 { m_MHtSigma1=val; }

◆ 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

Definition at line 45 of file MissingMassInput.h.

◆ SetUseVerbose()

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

Definition at line 46 of file MissingMassInput.h.

46 { m_fUseVerbose=val; }

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

Friends And Related Function Documentation

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

◆ m_dataType

int DiTauMassTools::MissingMassInput::m_dataType {}
private

Definition at line 60 of file MissingMassInput.h.

◆ m_DelPhiTT

double DiTauMassTools::MissingMassInput::m_DelPhiTT {}
private

Definition at line 67 of file MissingMassInput.h.

◆ m_fUseDefaults

bool DiTauMassTools::MissingMassInput::m_fUseDefaults {}
private

Definition at line 76 of file MissingMassInput.h.

◆ m_fUseTailCleanup

bool DiTauMassTools::MissingMassInput::m_fUseTailCleanup {}
private

Definition at line 77 of file MissingMassInput.h.

◆ m_fUseVerbose

bool DiTauMassTools::MissingMassInput::m_fUseVerbose {}
private

Definition at line 78 of file MissingMassInput.h.

◆ m_HtOffset

double DiTauMassTools::MissingMassInput::m_HtOffset {}
private

Definition at line 71 of file MissingMassInput.h.

◆ m_htOffset

double DiTauMassTools::MissingMassInput::m_htOffset {}
private

Definition at line 83 of file MissingMassInput.h.

◆ m_inputMEtT

double DiTauMassTools::MissingMassInput::m_inputMEtT {}
private

Definition at line 81 of file MissingMassInput.h.

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

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

◆ m_METcovphi

double DiTauMassTools::MissingMassInput::m_METcovphi {}
private

Definition at line 61 of file MissingMassInput.h.

◆ m_METresSyst

int DiTauMassTools::MissingMassInput::m_METresSyst {}
private

Definition at line 75 of file MissingMassInput.h.

◆ m_METScanScheme

int DiTauMassTools::MissingMassInput::m_METScanScheme {}
private

Definition at line 74 of file MissingMassInput.h.

◆ m_METsigmaL

double DiTauMassTools::MissingMassInput::m_METsigmaL {}
private

Definition at line 63 of file MissingMassInput.h.

◆ m_METsigmaP

double DiTauMassTools::MissingMassInput::m_METsigmaP {}
private

Definition at line 62 of file MissingMassInput.h.

◆ m_MEtT

double DiTauMassTools::MissingMassInput::m_MEtT {}
private

Definition at line 82 of file MissingMassInput.h.

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

◆ m_MEtY

double DiTauMassTools::MissingMassInput::m_MEtY {}
private

Definition at line 82 of file MissingMassInput.h.

◆ m_MHtGaussFr

double DiTauMassTools::MissingMassInput::m_MHtGaussFr {}
private

Definition at line 70 of file MissingMassInput.h.

◆ m_MHtSigma1

double DiTauMassTools::MissingMassInput::m_MHtSigma1 {}
private

Definition at line 68 of file MissingMassInput.h.

◆ m_MHtSigma2

double DiTauMassTools::MissingMassInput::m_MHtSigma2 {}
private

Definition at line 69 of file MissingMassInput.h.

◆ m_Njet25

int DiTauMassTools::MissingMassInput::m_Njet25 {}
private

Definition at line 66 of file MissingMassInput.h.

◆ m_Nprong_tau1

int DiTauMassTools::MissingMassInput::m_Nprong_tau1 {}
private

Definition at line 58 of file MissingMassInput.h.

◆ m_Nprong_tau2

int DiTauMassTools::MissingMassInput::m_Nprong_tau2 {}
private

Definition at line 59 of file MissingMassInput.h.

◆ m_SumEt

double DiTauMassTools::MissingMassInput::m_SumEt {}
private

Definition at line 64 of file MissingMassInput.h.

◆ m_tauTypes

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

Definition at line 85 of file MissingMassInput.h.

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

◆ m_type_visTau2

int DiTauMassTools::MissingMassInput::m_type_visTau2 {}
private

Definition at line 57 of file MissingMassInput.h.

◆ 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:
pdg_comparison.sigma
sigma
Definition: pdg_comparison.py:324
DiTauMassTools::MissingMassInput::m_METsigmaP
double m_METsigmaP
Definition: MissingMassInput.h:62
DiTauMassTools::MissingMassInput::m_METScanScheme
int m_METScanScheme
Definition: MissingMassInput.h:74
DiTauMassTools::MissingMassInput::m_MHtGaussFr
double m_MHtGaussFr
Definition: MissingMassInput.h:70
DiTauMassTools::MissingMassInput::m_MHtSigma1
double m_MHtSigma1
Definition: MissingMassInput.h:68
DiTauMassTools::MissingMassInput::m_METsigmaL
double m_METsigmaL
Definition: MissingMassInput.h:63
DiTauMassTools::MissingMassInput::m_vistau1
PtEtaPhiMVector m_vistau1
Definition: MissingMassInput.h:54
Phi
@ Phi
Definition: RPCdef.h:8
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
ZDCMsg::Info
@ Info
Definition: ZDCMsg.h:20
DiTauMassTools::MissingMassInput::m_METcovphi
double m_METcovphi
Definition: MissingMassInput.h:61
CxxUtils::vec
typename vecDetail::vec_typedef< T, N >::type vec
Define a nice alias for the vectorized type.
Definition: vec.h:207
DiTauMassTools::MissingMassInput::m_Njet25
int m_Njet25
Definition: MissingMassInput.h:66
DiTauMassTools::MissingMassInput::m_SumEt
double m_SumEt
Definition: MissingMassInput.h:64
DiTauMassTools::MissingMassInput::m_Nprong_tau2
int m_Nprong_tau2
Definition: MissingMassInput.h:59
lumiFormat.i
int i
Definition: lumiFormat.py:85
DiTauMassTools::MissingMassInput::m_MHtSigma2
double m_MHtSigma2
Definition: MissingMassInput.h:69
DiTauMassTools::MissingMassInput::m_Nprong_tau1
int m_Nprong_tau1
Definition: MissingMassInput.h:58
DiTauMassTools::MissingMassInput::m_dataType
int m_dataType
Definition: MissingMassInput.h:60
DiTauMassTools::MissingMassInput::m_fUseVerbose
bool m_fUseVerbose
Definition: MissingMassInput.h:78
DiTauMassTools::MissingMassInput::m_HtOffset
double m_HtOffset
Definition: MissingMassInput.h:71
DiTauMassTools::MissingMassInput::m_MetVec
XYVector m_MetVec
Definition: MissingMassInput.h:53
DiTauMassTools::MissingMassInput::m_type_visTau2
int m_type_visTau2
Definition: MissingMassInput.h:57
DiTauMassTools::MissingMassInput::m_DelPhiTT
double m_DelPhiTT
Definition: MissingMassInput.h:67
VP1PartSpect::E
@ E
Definition: VP1PartSpectFlags.h:21
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
DiTauMassTools::MissingMassInput::m_fUseTailCleanup
bool m_fUseTailCleanup
Definition: MissingMassInput.h:77
DiTauMassTools::MissingMassInput::m_vistau2
PtEtaPhiMVector m_vistau2
Definition: MissingMassInput.h:55
Prompt::Def::Pt
@ Pt
Definition: VarHolder.h:76
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
DiTauMassTools::MissingMassInput::m_jet4vecs
std::vector< PtEtaPhiMVector > m_jet4vecs
Definition: MissingMassInput.h:65
DiTauMassTools::MissingMassInput::m_type_visTau1
int m_type_visTau1
Definition: MissingMassInput.h:56
DiTauMassTools::MissingMassInput::m_METresSyst
int m_METresSyst
Definition: MissingMassInput.h:75
DiTauMassTools::MissingMassInput::m_beamEnergy
double m_beamEnergy
Definition: MissingMassInput.h:72
DiTauMassTools::MissingMassInput::m_fUseDefaults
bool m_fUseDefaults
Definition: MissingMassInput.h:76
pow
constexpr int pow(int base, int exp) noexcept
Definition: ap_fixedTest.cxx:15
DiTauMassTools::MissingMassInput::m_LFVmode
int m_LFVmode
Definition: MissingMassInput.h:84
Eta
@ Eta
Definition: RPCdef.h:8