ATLAS Offline Software
PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.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 // Asg wrapper around the MissingMassCalculator
6 // author Michael Huebner <michael.huebner@no.spam.cern.ch>
7 #ifndef DITAUMASSTOOLS_HELPERFUNCTIONS_H
8 #define DITAUMASSTOOLS_HELPERFUNCTIONS_H
9 
10 // Framework includes
11 
12 // EDM include(s)
13 #include "xAODTau/TauJet.h"
14 
15 // local include(s)
16 #include "TH1F.h"
17 #include "TF1.h"
18 #include "TKey.h"
19 #include "TDirectory.h"
20 #include "TROOT.h"
21 
22 namespace DiTauMassTools{
23 
24 namespace MaxHistStrategyV2
25 {
27 }
28 
29 namespace HistInfoV2
30 {
32 }
33 
34 namespace MMCCalibrationSetV2
35 {
37  const std::string name[MAXMMCCALIBRATIONSET]={ "MMC2015HIGHMASS", "UPGRADE", "LFVMMC2012", "MMC2016MC15C", "MMC2019"};
38 }
39 
40 namespace MMCFitMethodV2
41 {
42  enum e { MAXW=0, MLM, MLNU3P,MAX};
43  const std::string name[MAX]={ "MAXW=MaximumWeight", "MLM=MostLikelyMass", "MLNU3P=MostLikelyNeUtrino3Momentum"};
44  const std::string shortName[MAX]={ "MAXW", "MLM", "MLNU3P"};
45 }
46 
47 namespace TauTypes
48 {
49  enum e {ll=0, lh, hh};
50 }
51 
52 // define ignore template to suppress warnings in MissingMassProb
53 // see source file of MissingMassProb for further reasoning
54 template <typename T> void ignore(T &&){}
55 
56 int getFirstBinBelowMax(const std::shared_ptr<TH1F>& hist, double max, double targetVal);
57 int getFirstBinAboveMax(const std::shared_ptr<TH1F>& hist, double max, double targetVal);
58 double Angle(const TLorentzVector & vec1, const TLorentzVector & vec2);
59 bool updateDouble (const double in, double & out) ;
60 void fastSinCos (const double & phi, double & sinPhi, double & cosPhi);
61 double fixPhiRange (const double & phi);
62 double MaxDelPhi(int tau_type, double Pvis, double dRmax_tau);
63 int getLFVMode( const xAOD::IParticle* p1, const xAOD::IParticle* p2, int mmcType1, int mmcType2);
64 int mmcType(const xAOD::IParticle* part); // returns particle type as required by MMC
65 double mT(const TLorentzVector & vec,const TVector2 & met_vec);
66 void readInParams(TDirectory* dir, MMCCalibrationSetV2::e aset, std::vector<TF1*>& lep_numass, std::vector<TF1*>& lep_angle, std::vector<TF1*>& lep_ratio, std::vector<TF1*>& had_angle, std::vector<TF1*>& had_ratio);
67 } // namespace DiTauMassTools
68 
69 #endif // not DITAUMASSTOOLS_HELPERFUNCTIONS_H
LArG4FSStartPointFilter.part
part
Definition: LArG4FSStartPointFilter.py:21
DiTauMassTools::Angle
double Angle(const TLorentzVector &vec1, const TLorentzVector &vec2)
Definition: PhysicsAnalysis/TauID/DiTauMassTools/Root/HelperFunctions.cxx:46
D3PDMakerTestInstan::vec2
std::vector< D3PDTest::MyVec2 > vec2
Definition: D3PDMakerTestDict.h:14
DiTauMassTools::TauTypes::lh
@ lh
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:49
max
#define max(a, b)
Definition: cfImp.cxx:41
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
DiTauMassTools::HistInfoV2::TANTHETAW
@ TANTHETAW
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:31
DiTauMassTools::mT
double mT(const TLorentzVector &vec, const TVector2 &met_vec)
Definition: PhysicsAnalysis/TauID/DiTauMassTools/Root/HelperFunctions.cxx:209
DiTauMassTools::TauTypes::hh
@ hh
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:49
DiTauMassTools::readInParams
void readInParams(TDirectory *dir, MMCCalibrationSetV2::e aset, std::vector< TF1 * > &lep_numass, std::vector< TF1 * > &lep_angle, std::vector< TF1 * > &lep_ratio, std::vector< TF1 * > &had_angle, std::vector< TF1 * > &had_ratio)
Definition: PhysicsAnalysis/TauID/DiTauMassTools/Root/HelperFunctions.cxx:218
DiTauMassTools::HistInfoV2::FITLENGTH
@ FITLENGTH
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:31
plotmaker.hist
hist
Definition: plotmaker.py:148
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
DiTauMassTools::MaxHistStrategyV2::MAXMAXHISTSTRATEGY
@ MAXMAXHISTSTRATEGY
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:40
DiTauMassTools::fastSinCos
void fastSinCos(const double &phi, double &sinPhi, double &cosPhi)
Definition: PhysicsAnalysis/TauID/DiTauMassTools/Root/HelperFunctions.cxx:74
DiTauMassTools::updateDouble
bool updateDouble(const double in, double &out)
Definition: PhysicsAnalysis/TauID/DiTauMassTools/Root/HelperFunctions.cxx:107
DiTauMassTools::MMCFitMethodV2::name
const std::string name[MAX]
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:43
DiTauMassTools::HistInfoV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:31
DiTauMassTools::HistInfoV2::CHI2
@ CHI2
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:31
DiTauMassTools::MMCFitMethodV2::MAXW
@ MAXW
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:42
DiTauMassTools::ignore
void ignore(T &&)
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:54
DiTauMassTools
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:22
DiTauMassTools::MaxDelPhi
double MaxDelPhi(int tau_type, double Pvis, double dRmax_tau)
Definition: PhysicsAnalysis/TauID/DiTauMassTools/Root/HelperFunctions.cxx:41
DiTauMassTools::MaxHistStrategyV2::MAXBINWINDOW
@ MAXBINWINDOW
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
DiTauMassTools::MMCFitMethodV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:42
DiTauMassTools::HistInfoV2::MAXHISTINFO
@ MAXHISTINFO
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:31
DiTauMassTools::MMCCalibrationSetV2::MMC2015HIGHMASS
@ MMC2015HIGHMASS
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:36
DiTauMassTools::MaxHistStrategyV2::FIT
@ FIT
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
DiTauMassTools::MMCCalibrationSetV2::LFVMMC2012
@ LFVMMC2012
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:36
DiTauMassTools::getLFVMode
int getLFVMode(const xAOD::IParticle *p1, const xAOD::IParticle *p2, int mmcType1, int mmcType2)
Definition: PhysicsAnalysis/TauID/DiTauMassTools/Root/HelperFunctions.cxx:115
DiTauMassTools::MMCCalibrationSetV2::MMC2016MC15C
@ MMC2016MC15C
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:36
DiTauMassTools::TauTypes::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:49
DiTauMassTools::MMCFitMethodV2::MLNU3P
@ MLNU3P
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:42
DiTauMassTools::mmcType
int mmcType(const xAOD::IParticle *part)
Definition: PhysicsAnalysis/TauID/DiTauMassTools/Root/HelperFunctions.cxx:172
DiTauMassTools::MMCCalibrationSetV2::UPGRADE
@ UPGRADE
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:36
DiTauMassTools::HistInfoV2::RMSVSDISCRI
@ RMSVSDISCRI
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:31
DiTauMassTools::MMCCalibrationSetV2::MAXMMCCALIBRATIONSET
@ MAXMMCCALIBRATIONSET
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:36
beamspotman.dir
string dir
Definition: beamspotman.py:623
DiTauMassTools::HistInfoV2::MEANBIN
@ MEANBIN
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:31
DiTauMassTools::MMCFitMethodV2::MLM
@ MLM
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:42
DiTauMassTools::fixPhiRange
double fixPhiRange(const double &phi)
Definition: PhysicsAnalysis/TauID/DiTauMassTools/Root/HelperFunctions.cxx:53
test_pythinning.out
out
Definition: test_pythinning.py:94
DiTauMassTools::HistInfoV2::DISCRI
@ DISCRI
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:31
DiTauMassTools::MMCCalibrationSetV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:36
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
DiTauMassTools::HistInfoV2::INTEGRAL
@ INTEGRAL
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:31
DiTauMassTools::MMCFitMethodV2::shortName
const std::string shortName[MAX]
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:44
DiTauMassTools::HistInfoV2::PROB
@ PROB
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:31
TauJet.h
DiTauMassTools::MaxHistStrategyV2::SLIDINGWINDOW
@ SLIDINGWINDOW
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
DiTauMassTools::HistInfoV2::RMS
@ RMS
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:31
DiTauMassTools::MMCCalibrationSetV2::MMC2019
@ MMC2019
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:36
DiTauMassTools::HistInfoV2::TANTHETA
@ TANTHETA
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:31
DiTauMassTools::MaxHistStrategyV2::MAXBIN
@ MAXBIN
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
DiTauMassTools::getFirstBinBelowMax
int getFirstBinBelowMax(const std::shared_ptr< TH1F > &hist, double max, double targetVal)
Definition: PhysicsAnalysis/TauID/DiTauMassTools/Root/HelperFunctions.cxx:28
DiTauMassTools::MMCCalibrationSetV2::name
const std::string name[MAXMMCCALIBRATIONSET]
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:37
DiTauMassTools::getFirstBinAboveMax
int getFirstBinAboveMax(const std::shared_ptr< TH1F > &hist, double max, double targetVal)
Definition: PhysicsAnalysis/TauID/DiTauMassTools/Root/HelperFunctions.cxx:15
DiTauMassTools::TauTypes::ll
@ ll
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:49
DiTauMassTools::MMCFitMethodV2::MAX
@ MAX
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:42