Loading [MathJax]/jax/output/SVG/config.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Types | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
CP::IsolationCorrection Class Reference

#include <IsolationCorrection.h>

Inheritance diagram for CP::IsolationCorrection:
Collaboration diagram for CP::IsolationCorrection:

Public Types

enum  ParticleType { ELECTRON =0, PHOTON =1 }
 
enum  Version { REL17_2 =1, REL20_2 =2, REL21 =3, REL22 =4 }
 

Public Member Functions

 IsolationCorrection (const std::string &name)
 
 ~IsolationCorrection ()
 
StatusCode initialize ()
 
void SetCorrectionFile (const std::string &corr_file, const std::string &corr_ddshift_file, const std::string &corr_ddsmearing_file)
 
void SetToolVer (CP::IsolationCorrection::Version)
 
float GetPtCorrectedIsolation (const xAOD::Egamma &, const xAOD::Iso::IsolationType) const
 
float GetPtCorrection (const xAOD::Egamma &, const xAOD::Iso::IsolationType) const
 
float GetDDCorrection (const xAOD::Egamma &, const xAOD::Iso::IsolationType, const std::string &year)
 
float GetEtaPointing (const xAOD::Egamma *)
 
void SetDataMC (bool is_mc)
 
void SetDataMC (const xAOD::EventInfo *)
 
void SetAFII (bool AFII_corr)
 
void SetCorrectEtcone (bool correct_etcone)
 
void SetTroubleCategories (bool trouble_categories)
 
void FitType (bool b)
 
void ForcePartType (bool b)
 
void Print ()
 
void setLevel (MSG::Level lvl)
 Change the current logging level. More...
 

Private Member Functions

StatusCode setupDD (const std::string &year)
 
template<class T >
void FreeClear (T &cntr)
 
float GetPtCorrectedIsolation (float energy, float etaS2, float etaPointing, float etaCluster, float radius, bool is_mc, float Etcone_value, bool isConversion=false, ParticleType parttype=ELECTRON)
 
float GetPtCorrectedTopoIsolation (float energy, float etaS2, float etaPointing, float etaCluster, float radius, bool is_mc, float Etcone_value, bool isConversion=false, ParticleType parttype=ELECTRON, Version ver=REL17_2)
 
float GetPtCorrectedIsolationError (float energy, float etaS2, float etaPointing, float etaCluster, float radius, bool is_mc, ParticleType parttype=ELECTRON, Version ver=REL17_2)
 
void setEtaBins ()
 
void setIsolCorr ()
 
void set2011Corr ()
 
void set2012Corr ()
 
void set2015Corr ()
 
void load2012Corr ()
 
void load2015Corr ()
 
void setDDCorr ()
 
void loadDDCorr ()
 
float GetPtCorrection (float energy, float etaS2, float etaPointing, float etaCluster, float radius, bool is_mc=true, bool isConversion=false, ParticleType parttype=ELECTRON) const
 
float GetPtCorrectionTopo (float energy, float etaS2, float etaPointing, float etaCluster, float radius, bool is_mc=true, bool isConversion=false, ParticleType parttype=ELECTRON, Version ver=REL17_2, int convFlag_int=0, int author=0, float conv_radius=0., float conv_ratio=0.) const
 
int GetEtaBinFine (float eta) const
 
int GetEtaBinCoarse (float eta) const
 
float GetPtCorrectionFactor (float eta, const std::vector< float > &mc_leakage_corrections_ptr=std::vector< float >(), const std::vector< float > &data_leakage_corrections_ptr=std::vector< float >()) const
 
float GetPtCorrection_FromGraph (float energy, float etaS2, float etaPointing, float etaCluster, float radius, bool isConversion, ParticleType parttype) const
 
float GetPtCorrection_FromGraph_2015 (float energy, float etaS2, float radius, int conversion_flag, int author, float conv_radius, float conv_ratio, ParticleType parttype) const
 
void initMessaging () const
 Initialize our message level and MessageSvc. More...
 

Static Private Member Functions

static float getPtAtFirstMeasurement (const xAOD::TrackParticle *tp)
 
static int GetConversionType (int conversion_flag, float conv_radius, float conv_ratio)
 
static int GetRadius (float radius)
 
static float GetPtCorrectionValue (float energy, float etaPointing, float etaCluster, float scale_factor)
 

Private Attributes

CP::IsolationCorrection::Version m_tool_ver
 
std::vector< float > m_eta_bins_fine
 
std::vector< float > m_eta_bins_coarse
 
std::vector< float > m_eta_bins_dd
 
const unsigned int m_nBinsEtaFine
 
const unsigned int m_nBinsEtaCoarse
 
std::string m_corr_file
 
std::string m_corr_ddshift_file
 
std::string m_corr_ddsmearing_file
 
std::vector< float > m_feta_bins_dd_2015
 
std::vector< float > m_feta_bins_dd_2017
 
bool m_is_mc
 
bool m_AFII_corr
 
bool m_set_mc
 
bool m_correct_etcone
 
bool m_trouble_categories
 
bool m_useLogLogFit
 
bool m_forcePartType
 
CP::ShowerDepthUtilm_shower
 
std::string m_previousYear
 
bool m_corrInitialized [3][2] {}
 
int m_crackBin {}
 
std::vector< float > * m_feta_bins_dd {}
 
std::vector< TGraph * > * m_graph_dd_cone40_unconv_photon_shift {}
 
std::vector< TGraph * > * m_graph_dd_cone40_conv_photon_shift {}
 
std::vector< TGraph * > * m_graph_dd_cone20_unconv_photon_shift {}
 
std::vector< TGraph * > * m_graph_dd_cone20_conv_photon_shift {}
 
std::vector< TGraph * > m_graph_dd_2017_cone40_unconv_photon_shift
 
std::vector< TGraph * > m_graph_dd_2017_cone40_conv_photon_shift
 
std::vector< TGraph * > m_graph_dd_2017_cone20_unconv_photon_shift
 
std::vector< TGraph * > m_graph_dd_2017_cone20_conv_photon_shift
 
std::vector< TGraph * > m_graph_afIIdd_2017_cone40_unconv_photon_shift
 
std::vector< TGraph * > m_graph_afIIdd_2017_cone40_conv_photon_shift
 
std::vector< TGraph * > m_graph_afIIdd_2017_cone20_unconv_photon_shift
 
std::vector< TGraph * > m_graph_afIIdd_2017_cone20_conv_photon_shift
 
std::vector< TGraph * > m_graph_dd_2015_2016_cone40_unconv_photon_shift
 
std::vector< TGraph * > m_graph_dd_2015_2016_cone40_conv_photon_shift
 
std::vector< TGraph * > m_graph_dd_2015_2016_cone20_unconv_photon_shift
 
std::vector< TGraph * > m_graph_dd_2015_2016_cone20_conv_photon_shift
 
std::vector< TGraph * > m_graph_afIIdd_2015_2016_cone40_unconv_photon_shift
 
std::vector< TGraph * > m_graph_afIIdd_2015_2016_cone40_conv_photon_shift
 
std::vector< TGraph * > m_graph_afIIdd_2015_2016_cone20_unconv_photon_shift
 
std::vector< TGraph * > m_graph_afIIdd_2015_2016_cone20_conv_photon_shift
 
std::vector< TGraph * > m_graph_dd_2015_cone40_unconv_photon_shift
 
std::vector< TGraph * > m_graph_dd_2015_cone40_conv_photon_shift
 
std::vector< TGraph * > m_graph_dd_2015_cone20_unconv_photon_shift
 
std::vector< TGraph * > m_graph_dd_2015_cone20_conv_photon_shift
 
std::vector< TF1 * > m_graph_dd_cone40_photon_shift
 
std::vector< TF1 * > m_graph_dd_cone40_photon_smearing
 
std::vector< TF1 * > m_function_2015_cone40_photon_unconverted
 
std::vector< TF1 * > m_function_2015_cone30_photon_unconverted
 
std::vector< TF1 * > m_function_2015_cone20_photon_unconverted
 
std::vector< TF1 * > m_function_2015_cone40_photon_converted_ok
 
std::vector< TF1 * > m_function_2015_cone30_photon_converted_ok
 
std::vector< TF1 * > m_function_2015_cone20_photon_converted_ok
 
std::vector< TF1 * > m_function_2015_cone40_photon_converted_trouble
 
std::vector< TF1 * > m_function_2015_cone30_photon_converted_trouble
 
std::vector< TF1 * > m_function_2015_cone20_photon_converted_trouble
 
std::vector< TF1 * > m_function_2015_cone40_author_1_electron
 
std::vector< TF1 * > m_function_2015_cone30_author_1_electron
 
std::vector< TF1 * > m_function_2015_cone20_author_1_electron
 
std::vector< TF1 * > m_function_2015_cone40_author_16_electron
 
std::vector< TF1 * > m_function_2015_cone30_author_16_electron
 
std::vector< TF1 * > m_function_2015_cone20_author_16_electron
 
std::vector< TGraph * > m_graph_histoMean_2015_cone40_photon_converted_trouble
 
std::vector< TGraph * > m_graph_histoMean_2015_cone30_photon_converted_trouble
 
std::vector< TGraph * > m_graph_histoMean_2015_cone20_photon_converted_trouble
 
std::vector< TGraph * > m_graph_histoMean_2015_cone40_author_16_electron
 
std::vector< TGraph * > m_graph_histoMean_2015_cone30_author_16_electron
 
std::vector< TGraph * > m_graph_histoMean_2015_cone20_author_16_electron
 
std::vector< TGraph * > m_graph_cone40_photon_unconverted
 
std::vector< TGraph * > m_graph_cone30_photon_unconverted
 
std::vector< TGraph * > m_graph_cone20_photon_unconverted
 
std::vector< TGraph * > m_graph_cone40_photon_converted
 
std::vector< TGraph * > m_graph_cone30_photon_converted
 
std::vector< TGraph * > m_graph_cone20_photon_converted
 
std::vector< TGraph * > m_graph_cone40_electron
 
std::vector< TGraph * > m_graph_cone30_electron
 
std::vector< TGraph * > m_graph_cone20_electron
 
std::vector< float > m_mc_rel17_leakage_correction_slopes_electron_15
 
std::vector< float > m_mc_rel17_leakage_correction_slopes_electron_20
 
std::vector< float > m_mc_rel17_leakage_correction_slopes_electron_25
 
std::vector< float > m_mc_rel17_leakage_correction_slopes_electron_30
 
std::vector< float > m_mc_rel17_leakage_correction_slopes_electron_35
 
std::vector< float > m_mc_rel17_leakage_correction_slopes_electron_40
 
std::vector< float > m_mc_rel17_leakage_correction_offsets_electron_15
 
std::vector< float > m_mc_rel17_leakage_correction_offsets_electron_20
 
std::vector< float > m_mc_rel17_leakage_correction_offsets_electron_25
 
std::vector< float > m_mc_rel17_leakage_correction_offsets_electron_30
 
std::vector< float > m_mc_rel17_leakage_correction_offsets_electron_35
 
std::vector< float > m_mc_rel17_leakage_correction_offsets_electron_40
 
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_converted_15
 
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_converted_20
 
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_converted_25
 
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_converted_30
 
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_converted_35
 
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_converted_40
 
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_converted_15
 
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_converted_20
 
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_converted_25
 
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_converted_30
 
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_converted_35
 
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_converted_40
 
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_unconverted_15
 
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_unconverted_20
 
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_unconverted_25
 
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_unconverted_30
 
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_unconverted_35
 
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_unconverted_40
 
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_unconverted_15
 
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_unconverted_20
 
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_unconverted_25
 
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_unconverted_30
 
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_unconverted_35
 
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_unconverted_40
 
std::string m_nm
 Message source name. More...
 
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels) More...
 
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer. More...
 
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level. More...
 
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging) More...
 

Detailed Description

Definition at line 23 of file PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h.

Member Enumeration Documentation

◆ ParticleType

◆ Version

Enumerator
REL17_2 
REL20_2 
REL21 
REL22 

Definition at line 33 of file PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h.

33 { REL17_2=1, REL20_2=2, REL21=3, REL22=4 } Version;

Constructor & Destructor Documentation

◆ IsolationCorrection()

CP::IsolationCorrection::IsolationCorrection ( const std::string &  name)

Definition at line 33 of file IsolationCorrection.cxx.

36  m_nBinsEtaFine(10),
38  m_corr_file(""),
40  m_corr_ddsmearing_file(""), // in run I, there was a shift and a smearing
41  m_is_mc(false),
42  m_AFII_corr(false),
43  m_set_mc(false),
44  m_correct_etcone(false),
45  m_trouble_categories(false),
46  m_useLogLogFit(false),
47  m_forcePartType(-1),
48  m_shower(nullptr),
49  m_previousYear("2000")
50  {
51  // 3 possible periods
52  for (int i = 0; i < 3; i++) {
53  // 2 simulation flavour
54  for (int j = 0; j < 2; j++)
55  m_corrInitialized[i][j] = false;
56  }
57  }

◆ ~IsolationCorrection()

CP::IsolationCorrection::~IsolationCorrection ( )

Definition at line 830 of file IsolationCorrection.cxx.

830  {
831  m_eta_bins_fine.clear();
832  m_eta_bins_coarse.clear();
833 
834  if (m_tool_ver == REL17_2) {
838 
842 
846 
849 
850  } else if (m_tool_ver == REL20_2 || m_tool_ver == REL21 || m_tool_ver == REL22) {
851 
852  //---- Rel 20_2 pT leakage correction file
853 
857 
861 
865 
869 
873 
874 
875  //---- Rel 20_2 pT leakage correction with histogram mean file
876 
880 
884 
885  }
886 
892  }
898  }
899 
900  // For etcone, we only have very old corrections...
907 
914 
915  // photons: last eta bin isn't used
922 
929 
936 
943 
944  // -------------------------------------------------------------------------------------------
945  //Delete m_shower instance
946  delete m_shower;
947 
948  }

Member Function Documentation

◆ FitType()

void CP::IsolationCorrection::FitType ( bool  b)
inline

◆ ForcePartType()

void CP::IsolationCorrection::ForcePartType ( bool  b)
inline

◆ FreeClear()

template<class T >
void CP::IsolationCorrection::FreeClear ( T &  cntr)
private

Definition at line 814 of file IsolationCorrection.cxx.

814  {
815  ATH_MSG_DEBUG("FreeClearing the container " << cntr.size());
816  for ( typename T::iterator it = cntr.begin();
817  it != cntr.end(); ++it ) {
818  if (*it) {
819  if (msgLvl(MSG::DEBUG)) {
820  ATH_MSG_DEBUG("Deleting " << *it << " " << typeid(*it).name());
821  ATH_MSG_DEBUG((*it)->GetName());
822  (*it)->Print();
823  }
824  delete * it;
825  }
826  }
827  cntr.clear();
828  }

◆ GetConversionType()

int CP::IsolationCorrection::GetConversionType ( int  conversion_flag,
float  conv_radius,
float  conv_ratio 
)
staticprivate

Definition at line 1244 of file IsolationCorrection.cxx.

1244  {
1245  // ph_convFlag==0
1246  if(conversion_flag == 0) return 0;
1247  // ((ph_convFlag==1)||(ph_convFlag==2&&ph_ptconv_ratio>0.3)||(ph_convFlag==2&&ph_ptconv_ratio<0.3&&ph_truth_Rconv>140.))
1248  if( (conversion_flag == 1) || ((conversion_flag == 2 && conv_ratio > 0.3) || (conversion_flag == 2 && conv_ratio < 0.3 && conv_radius > 140.)) ) return 1;
1249  // (ph_convFlag==2&&ph_ptconv_ratio<0.3&&ph_truth_Rconv<140.)
1250  if(conversion_flag == 2 && conv_radius < 140.) return 2;
1251  return 0;
1252  }

◆ GetDDCorrection()

float CP::IsolationCorrection::GetDDCorrection ( const xAOD::Egamma input,
const xAOD::Iso::IsolationType  isol,
const std::string &  year 
)

Definition at line 313 of file IsolationCorrection.cxx.

313  {
314 
315  ATH_MSG_VERBOSE("Getting DD correction");
316  if (setupDD(year) == StatusCode::FAILURE) {
317  return 0;
318  }
319 
320  // corrections only for MC and photon
321  if(!m_is_mc || input.type() == xAOD::Type::Electron) return 0;
322 
323  const xAOD::Photon* ph_input = ((const xAOD::Photon_v1*) &input);
324  int convFlag_int = xAOD::EgammaHelpers::conversionType(ph_input);
325 
326  bool converted = false;
327  if(convFlag_int > 0) converted = true;
328 
329  float etaS2 = input.eta();
330  int eta_bin = 0;
331 
332  double feta = fabs(etaS2);
333  for (unsigned int i = 0; i < m_feta_bins_dd->size()-1; i++) {
334  if (feta >= m_feta_bins_dd->at(i) && feta < m_feta_bins_dd->at(i+1))
335  eta_bin = i;
336  }
337  if (eta_bin == m_crackBin)
338  return 0;
339  else if (eta_bin > m_crackBin)
340  eta_bin -= 1;
341 
342  if (eta_bin < 0) {
343  ATH_MSG_WARNING("Strange cluster S2 eta for photon isolation DD correction ! eta = " << etaS2 << ". No correction");
344  return 0;
345  }
346 
347  if (input.pt() > 25e3)
348  ATH_MSG_VERBOSE("Getting correction for photon pt: " <<input.pt()
349  << " eta: " << etaS2 << " etabin: " << eta_bin);
350 
351  float pt_gev = input.pt()*0.001;
352  if (pt_gev > 999.) pt_gev = 999. ;
353 
354  float isolation_ddcorrection = 0;
355  if (isol==xAOD::Iso::topoetcone40) {
356  if (!converted)
357  isolation_ddcorrection = 1e3*(*m_graph_dd_cone40_unconv_photon_shift)[eta_bin]->Eval(pt_gev);
358  else
359  isolation_ddcorrection = 1e3*(*m_graph_dd_cone40_conv_photon_shift)[eta_bin]->Eval(pt_gev);
360  } else if (isol==xAOD::Iso::topoetcone20) {
361  if (!converted)
362  isolation_ddcorrection = 1e3*(*m_graph_dd_cone20_unconv_photon_shift)[eta_bin]->Eval(pt_gev);
363  else
364  isolation_ddcorrection = 1e3*(*m_graph_dd_cone20_conv_photon_shift)[eta_bin]->Eval(pt_gev);
365  }
366 
367  return isolation_ddcorrection;
368  }

◆ GetEtaBinCoarse()

int CP::IsolationCorrection::GetEtaBinCoarse ( float  eta) const
private

Definition at line 1141 of file IsolationCorrection.cxx.

1141  {
1142  int eta_bin=-1;
1143  float fabs_eta = fabs(eta);
1144  for (unsigned int i=0; i < m_nBinsEtaCoarse; ++i) {
1145  if ((fabs_eta >= m_eta_bins_coarse[i]) && (fabs_eta < m_eta_bins_coarse[i+1])) {
1146  eta_bin = i;
1147  break;
1148  }
1149  }
1150  return eta_bin;
1151  }

◆ GetEtaBinFine()

int CP::IsolationCorrection::GetEtaBinFine ( float  eta) const
private

Definition at line 1123 of file IsolationCorrection.cxx.

1123  {
1124  int eta_bin=-1;
1125  float fabs_eta = fabs(eta);
1126  for (unsigned int i=0; i < m_nBinsEtaFine; ++i) {
1127  if ((fabs_eta >= m_eta_bins_fine[i]) && (fabs_eta < m_eta_bins_fine[i+1])) {
1128  eta_bin = i;
1129  break;
1130  }
1131  }
1132  return eta_bin;
1133  }

◆ GetEtaPointing()

float CP::IsolationCorrection::GetEtaPointing ( const xAOD::Egamma input)

Definition at line 370 of file IsolationCorrection.cxx.

370  {
371  if (input->caloCluster() == nullptr) {
372  ATH_MSG_WARNING("The associated cluster of the object does not exist ! Maybe the thinning was too agressive... use object eta for eta (instead of etaS2 or pointing).");
373  return input->eta();
374  }
375  float etaS1 = input->caloCluster()->etaBE(1);
376  float etaS2 = input->caloCluster()->etaBE(2);
377  float phiCluster = input->caloCluster()->phi();
379 
380  if(part_type == IsolationCorrection::PHOTON && fabs(etaS2) > 2.37) return 0.;
381  if(part_type == IsolationCorrection::ELECTRON && fabs(etaS2) > 2.47) return 0.;
382  if(fabs(etaS1) > 2.5) return 0.;
383  if(fabs(phiCluster) > 3.2) return 0.;
384 
385  auto etaPointing = m_shower->getCaloPointingEta(etaS1, etaS2, phiCluster);
386  //using std::optional here
387  return etaPointing.value_or(0.);
388  }

◆ getPtAtFirstMeasurement()

float CP::IsolationCorrection::getPtAtFirstMeasurement ( const xAOD::TrackParticle tp)
staticprivate

Definition at line 218 of file IsolationCorrection.cxx.

219  {
220  if (!tp) return 0;
221  for (unsigned int i = 0; i < tp->numberOfParameters(); ++i)
222  if (tp->parameterPosition(i) == xAOD::FirstMeasurement)
223  return hypot(tp->parameterPX(i), tp->parameterPY(i));
224  return tp->pt();
225  }

◆ GetPtCorrectedIsolation() [1/2]

float CP::IsolationCorrection::GetPtCorrectedIsolation ( const xAOD::Egamma input,
const xAOD::Iso::IsolationType  isol 
) const

Definition at line 81 of file IsolationCorrection.cxx.

81  {
82  float corrected_isolation = input.isolationValue(isol) - GetPtCorrection(input, isol);
83  return corrected_isolation;
84 
85  }

◆ GetPtCorrectedIsolation() [2/2]

float CP::IsolationCorrection::GetPtCorrectedIsolation ( float  energy,
float  etaS2,
float  etaPointing,
float  etaCluster,
float  radius,
bool  is_mc,
float  Etcone_value,
bool  isConversion = false,
ParticleType  parttype = ELECTRON 
)
private

Definition at line 954 of file IsolationCorrection.cxx.

962  {
963 
964  float pt_correction = GetPtCorrection(energy, etaS2, etaPointing, etaCluster, radius, is_mc, isConversion, parttype);
965  return Etcone_value - pt_correction;
966  }

◆ GetPtCorrectedIsolationError()

float CP::IsolationCorrection::GetPtCorrectedIsolationError ( float  energy,
float  etaS2,
float  etaPointing,
float  etaCluster,
float  radius,
bool  is_mc,
ParticleType  parttype = ELECTRON,
Version  ver = REL17_2 
)
private

◆ GetPtCorrectedTopoIsolation()

float CP::IsolationCorrection::GetPtCorrectedTopoIsolation ( float  energy,
float  etaS2,
float  etaPointing,
float  etaCluster,
float  radius,
bool  is_mc,
float  Etcone_value,
bool  isConversion = false,
ParticleType  parttype = ELECTRON,
Version  ver = REL17_2 
)
private

Definition at line 973 of file IsolationCorrection.cxx.

982  {
983 
984  float pt_correction = GetPtCorrectionTopo(energy, etaS2, etaPointing, etaCluster, radius, is_mc, isConversion, parttype, ver);
985  return Etcone_value - pt_correction;
986  }

◆ GetPtCorrection() [1/2]

float CP::IsolationCorrection::GetPtCorrection ( const xAOD::Egamma input,
const xAOD::Iso::IsolationType  isol 
) const

Definition at line 88 of file IsolationCorrection.cxx.

88  {
89  /*
90  - nPV: number of primary vertices (corrections were derived requiring >= 2 tracks/vertex in 2011 data)
91 
92  - Etcone40: (ph_Etcone40) *** in MeV!
93  - Etcone40_ED_corrected: ED corrected version of Etcone40 (ph_Etcone40_ED_corrected) *** in Mev!
94 
95  - energy: cluster energy (ph_cl_E) *** in MeV!
96  - etaS2: eta in the 2nd calo sampling (ph_etas2)
97  - etaPointing: pointing eta -> from 1st and 2nd calo samplings (ph_etap)
98  - etaCluster: cluster eta (ph_cl_eta)
99  - radius: radius of the input EtconeXX variable. Can be given as, e.g., .20 or 20
100  - is_mc: set to true if running on MC
101  - Etcone_value: value of uncorrected EtconeXX variable (ph_EtconeXX) *** in MeV!
102  - isConversion: photons only: conversion flag (ph_isConv)
103  - parttype: ELECTRON or PHOTON, enum defined below
104  - version: REL22, REL21, REL20_2, REL17_2, REL17 or REL16, enum defined below
105  */
106  float isolation_ptcorrection = 0;
107  float energy = 0;
108 
109  //energy = input.caloCluster()->energyBE(1) + input.caloCluster()->energyBE(2) + input.caloCluster()->energyBE(3); //input.e()
110  if (input.caloCluster() == nullptr) {
111  ATH_MSG_WARNING("The associated cluster of the object does not exist ! Maybe the thinning was too agressive... No leakage correction computed.");
112  return 0.;
113  }
114  if (m_tool_ver == REL22 || m_tool_ver == REL21 || m_tool_ver == REL20_2)
115  energy = input.caloCluster()->energyBE(1) + input.caloCluster()->energyBE(2) + input.caloCluster()->energyBE(3);
116  else
117  energy = input.caloCluster()->e();
118 
119  bool is_mc = m_is_mc;
121  bool convFlag = false;
122 
123  float etaS2 = input.caloCluster()->etaBE(2);
124  float etaS1 = input.caloCluster()->etaBE(1);
125  float etaCluster = input.caloCluster()->eta();
126  float phiCluster = input.caloCluster()->phi();
127 
128  if(part_type == IsolationCorrection::PHOTON && fabs(etaS2) > 2.37) return 0.;
129  if(part_type == IsolationCorrection::ELECTRON && fabs(etaS2) > 2.47) return 0.;
130 
131  if(fabs(etaS1) > 2.5) return 0.;
132  if(fabs(phiCluster) > float(M_PI)) return 0.;
133 
134  if (part_type == IsolationCorrection::ELECTRON && energy > 15e3)
135  ATH_MSG_VERBOSE("Electron ? " << (part_type == IsolationCorrection::ELECTRON) << " Input E = " << input.caloCluster()->e() << " E used " << energy << " author = " << input.author() << " pT = " << input.pt() << " phi = " << input.phi());
136 
137  int convFlag_int = 0;
138  float conv_radius = 0.;
139  float conv_ratio = 0.;
140 
141  if(part_type == IsolationCorrection::PHOTON){
142  const xAOD::Photon* ph_input = ((const xAOD::Photon_v1*) &input);
143 
144  convFlag_int = xAOD::EgammaHelpers::conversionType(ph_input);
145  if(convFlag_int == 3 ) convFlag_int = 2;
146  else if(convFlag_int != 0) convFlag_int = 1;
147 
148  if(convFlag_int != 0) convFlag = true;
149  conv_radius = xAOD::EgammaHelpers::conversionRadius(ph_input);
150 
151  if(convFlag_int == 2){
152  const xAOD::Vertex* phVertex = ph_input->vertex();
153 
154  static const SG::AuxElement::Accessor<float> accPt1("pt1");
155  static const SG::AuxElement::Accessor<float> accPt2("pt2");
156  const xAOD::TrackParticle* tp0 = phVertex->trackParticle(0);
157  const xAOD::TrackParticle* tp1 = phVertex->trackParticle(1);
158 
159  float pt1conv, pt2conv;
160  if (accPt1.isAvailable(*phVertex) && accPt2.isAvailable(*phVertex) ){
161  pt1conv = accPt1(*phVertex);
162  pt2conv = accPt2(*phVertex);
163  }else{
164  pt1conv = getPtAtFirstMeasurement( tp0 );
165  pt2conv = getPtAtFirstMeasurement( tp1 );
166  }
167 
168  if(pt1conv > pt2conv) conv_ratio = pt2conv/pt1conv;
169  else conv_ratio = pt1conv/pt2conv;
170  }
171  }
172  int author = input.author();
173 
174  // for test
175  if (part_type == IsolationCorrection::ELECTRON && m_forcePartType) {
176  if (input.phi() > 0)
177  author = 1;
178  else
179  author = 16;
180  }
181 
182  //using std::optional
183  auto etaPointing = m_shower->getCaloPointingEta(etaS1, etaS2, phiCluster, is_mc);
184  if (!etaPointing.has_value()) return 0.;
185 
186  float radius = xAOD::Iso::coneSize(isol);
187  bool is_topo = xAOD::Iso::isolationFlavour(isol) == xAOD::Iso::topoetcone;
188 
189  if(is_topo){
190 
191  isolation_ptcorrection = GetPtCorrectionTopo( energy,
192  etaS2,
193  etaPointing.value(),
194  etaCluster,
195  radius,
196  is_mc,
197  convFlag,
198  part_type,
199  m_tool_ver,
200  convFlag_int,
201  author,
202  conv_radius,
203  conv_ratio);
204  }else{
205  isolation_ptcorrection = GetPtCorrection( energy,
206  etaS2,
207  etaPointing.value(),
208  etaCluster,
209  radius,
210  is_mc,
211  convFlag,
212  part_type);
213  }
214 
215  return isolation_ptcorrection;
216  }

◆ GetPtCorrection() [2/2]

float CP::IsolationCorrection::GetPtCorrection ( float  energy,
float  etaS2,
float  etaPointing,
float  etaCluster,
float  radius,
bool  is_mc = true,
bool  isConversion = false,
ParticleType  parttype = ELECTRON 
) const
private

Definition at line 1000 of file IsolationCorrection.cxx.

1004  {
1005 
1006  int newrad = GetRadius(radius);
1007  std::vector<float> mc_correction_slopes_ptr;
1008  std::vector<float> mc_correction_offsets_ptr;
1009  std::vector<float> data_correction_slopes_ptr;
1010 
1011  //TODO: when implementing ptcorr for etconeXX change this
1012 
1013  switch(newrad){
1014  case 20:
1015  if (parttype == PHOTON) {
1016  // photons
1017  if(isConversion) {
1018  // converted
1021  } else {
1022  // unconverted
1025  }
1026  } else {
1027  // electrons
1028  mc_correction_slopes_ptr = m_mc_rel17_leakage_correction_slopes_electron_20;
1029  mc_correction_offsets_ptr = m_mc_rel17_leakage_correction_offsets_electron_20;
1030  }
1031  break;
1032  case 30:
1033  if (parttype == PHOTON) {
1034  // photons
1035  if(isConversion) {
1036  // converted
1039  } else {
1040  // unconverted
1043  }
1044  } else {
1045  // electrons
1046  mc_correction_slopes_ptr = m_mc_rel17_leakage_correction_slopes_electron_30;
1047  mc_correction_offsets_ptr = m_mc_rel17_leakage_correction_offsets_electron_30;
1048  }
1049  break;
1050  case 40:
1051  if (parttype == PHOTON) {
1052  // photons
1053  if(isConversion) {
1054  // converted
1057  } else {
1058  // unconverted
1061  }
1062  } else {
1063  // electrons
1064  mc_correction_slopes_ptr = m_mc_rel17_leakage_correction_slopes_electron_40;
1065  mc_correction_offsets_ptr = m_mc_rel17_leakage_correction_offsets_electron_40;
1066  }
1067  break;
1068  default:
1069  ATH_MSG_WARNING("Unable to retrieve leakage correction for topoIso cone with radius = " << radius << ".\n--- Radii must be one of {.20, .30, .40} OR {20, 30, 40}.\n");
1070  return 0.;
1071  }
1072 
1073  float scale_factor = GetPtCorrectionFactor(etaS2, mc_correction_slopes_ptr, data_correction_slopes_ptr);
1074  float offset = 0.;
1075  if (!mc_correction_offsets_ptr.empty()) offset = GetPtCorrectionFactor(etaS2, mc_correction_offsets_ptr);
1076 
1077  //avoid warnings
1078  if(is_mc) is_mc = true;
1079  return offset + GetPtCorrectionValue(energy, etaPointing, etaCluster, scale_factor);
1080 
1081  }

◆ GetPtCorrection_FromGraph()

float CP::IsolationCorrection::GetPtCorrection_FromGraph ( float  energy,
float  etaS2,
float  etaPointing,
float  etaCluster,
float  radius,
bool  isConversion,
ParticleType  parttype 
) const
private

Definition at line 1192 of file IsolationCorrection.cxx.

1193  {
1194  int newrad = GetRadius(radius);
1195  double etaForPt = ((fabs(etaPointing - etaCluster) < 0.15) ? etaPointing : etaCluster);
1196  double et = (fabs(etaForPt)<99.) ? energy/cosh(etaForPt) : 0.;
1197  int etabin = GetEtaBinFine(etaS2);
1198  if( m_corr_file.empty() ){
1199  ATH_MSG_WARNING("IsolationCorrection::GetPtCorrection_FromGraph: the file containing the isolation leakage corrections is not initialized.\nNo correction is applied.\n");
1200  return 0;
1201  }
1202  if (etabin < 0) return 0; // must have eta in fiducial region
1203 
1204  if( (etabin == 9 || etabin == 5) && parttype == PHOTON ){
1205  //No correction for photons with |etaS2|>2.37 or 1.37<|etaS2|<1.52
1206  return 0.;
1207  }
1208  double correction_value_mev = -1e6;
1209  switch(newrad){
1210  case 20:
1211  if(parttype == ELECTRON)
1212  correction_value_mev = GeV*m_graph_cone20_electron[etabin]->Eval(et/GeV);
1213  else
1214  if(isConversion) correction_value_mev = GeV*m_graph_cone20_photon_converted[etabin]->Eval(et/GeV);
1215  else correction_value_mev = GeV*m_graph_cone20_photon_unconverted[etabin]->Eval(et/GeV);
1216  break;
1217  case 30:
1218  if(parttype == ELECTRON)
1219  correction_value_mev = GeV*m_graph_cone30_electron[etabin]->Eval(et/GeV);
1220  else
1221  if(isConversion) correction_value_mev = GeV*m_graph_cone30_photon_converted[etabin]->Eval(et/GeV);
1222  else correction_value_mev = GeV*m_graph_cone30_photon_unconverted[etabin]->Eval(et/GeV);
1223  break;
1224  case 40:
1225  if(parttype == ELECTRON)
1226  correction_value_mev = GeV*m_graph_cone40_electron[etabin]->Eval(et/GeV);
1227  else
1228  if(isConversion) correction_value_mev = GeV*m_graph_cone40_photon_converted[etabin]->Eval(et/GeV);
1229  else correction_value_mev = GeV*m_graph_cone40_photon_unconverted[etabin]->Eval(et/GeV);
1230  break;
1231  default:
1232  ATH_MSG_WARNING("Unable to retrieve leakage correction for topoIso cone with radius = " << radius << ".\n--- Radii must be one of {.20, .30, .40} OR {20, 30, 40}.\n");
1233  return 0.;
1234  }
1235  return correction_value_mev;
1236 
1237  }

◆ GetPtCorrection_FromGraph_2015()

float CP::IsolationCorrection::GetPtCorrection_FromGraph_2015 ( float  energy,
float  etaS2,
float  radius,
int  conversion_flag,
int  author,
float  conv_radius,
float  conv_ratio,
ParticleType  parttype 
) const
private

Definition at line 1254 of file IsolationCorrection.cxx.

1254  {
1255  int newrad = GetRadius(radius);
1256  double etaForPt = etaS2; //((fabs(etaPointing - etaCluster) < 0.15) ? etaPointing : etaCluster);
1257  double et = energy/cosh(etaForPt); //(fabs(etaForPt)<99.) ? energy/cosh(etaForPt) : 0.;
1258  int etabin = GetEtaBinFine(etaS2);
1259 
1260  int conversion_type = 0;
1261  if(parttype == PHOTON) conversion_type = GetConversionType(conversion_flag, conv_radius, conv_ratio);
1262 
1263  // for test
1264  if (m_forcePartType && parttype == PHOTON) conversion_type = conv_radius > 800 ? 0 : (conv_radius > 140 ? 1 : 2);
1265 
1266  if( m_corr_file.empty() ){
1267  ATH_MSG_WARNING("In IsolationCorrection::GetPtCorrection_FromGraph_2015: the file containing the isolation leakage corrections is not initialized.\nNo correction is applied.\n");
1268  return 0;
1269  }
1270 
1271  if (etabin < 0) return 0; // must have eta in fiducial region
1272  if(parttype == PHOTON) if( (etabin == 9 || etabin == 5) ) return 0; // No correction for photons with |etaS2|>2.37 or 1.37<|etaS2|<1.52
1273 
1274  double correction_value_mev = 0;
1275 
1276  float pt_threshold = 250000.;
1277 
1278  //if(parttype == PHOTON) ATH_MSG_INFO("Applying 2015 corrections photon etaBin "<<etabin<<" Pt: "<<et<<" || "<< conversion_type <<" "<< author <<" "<< conv_radius <<" "<< conv_ratio <<"\n");
1279  //else ATH_MSG_INFO("Applying 2015 corrections electron etaBin "<<etabin<<" Pt: "<<et<<" || "<< conversion_type <<" "<< author <<" "<< conv_radius <<" "<< conv_ratio <<"\n");
1280  //TODO: switch author_1 with author_16 in the right places, invert function and histomean
1281  switch(newrad){
1282  case 20:
1283  if(parttype == ELECTRON){
1284  if(author == 1) correction_value_mev = m_function_2015_cone20_author_1_electron[etabin]->Eval(et);
1285  if(author == 16){
1286  if(m_trouble_categories && et < pt_threshold) correction_value_mev = m_graph_histoMean_2015_cone20_author_16_electron[etabin]->Eval(et);
1287  else correction_value_mev = m_function_2015_cone20_author_16_electron[etabin]->Eval(et);
1288  }
1289  }else{
1290  if(conversion_type == 0) correction_value_mev = m_function_2015_cone20_photon_unconverted[etabin]->Eval(et);
1291  if(conversion_type == 1) correction_value_mev = m_function_2015_cone20_photon_converted_ok[etabin]->Eval(et);
1292  if(conversion_type == 2){
1293  if(m_trouble_categories && et < pt_threshold) correction_value_mev = m_graph_histoMean_2015_cone20_photon_converted_trouble[etabin]->Eval(et);
1294  else correction_value_mev = m_function_2015_cone20_photon_converted_trouble[etabin]->Eval(et);
1295  }
1296  }
1297  break;
1298  case 30:
1299  if(parttype == ELECTRON){
1300  if(author == 1) correction_value_mev = m_function_2015_cone30_author_1_electron[etabin]->Eval(et);
1301  if(author == 16) {
1302  if(m_trouble_categories && et < pt_threshold) correction_value_mev = m_graph_histoMean_2015_cone30_author_16_electron[etabin]->Eval(et);
1303  else correction_value_mev = m_function_2015_cone30_author_16_electron[etabin]->Eval(et);
1304  }
1305  }else{
1306  if(conversion_type == 0) correction_value_mev = m_function_2015_cone30_photon_unconverted[etabin]->Eval(et);
1307  if(conversion_type == 1) correction_value_mev = m_function_2015_cone30_photon_converted_ok[etabin]->Eval(et);
1308  if(conversion_type == 2){
1309  if(m_trouble_categories && et < pt_threshold) correction_value_mev = m_graph_histoMean_2015_cone30_photon_converted_trouble[etabin]->Eval(et);
1310  else correction_value_mev = m_function_2015_cone30_photon_converted_trouble[etabin]->Eval(et);
1311  }
1312  }
1313  break;
1314  case 40:
1315  if(parttype == ELECTRON){
1316  if(author == 1) correction_value_mev = m_function_2015_cone40_author_1_electron[etabin]->Eval(et);
1317  if(author == 16){
1318  if(m_trouble_categories && et < pt_threshold) correction_value_mev = m_graph_histoMean_2015_cone40_author_16_electron[etabin]->Eval(et);
1319  else correction_value_mev = m_function_2015_cone40_author_16_electron[etabin]->Eval(et);
1320  }
1321  }else{
1322  if(conversion_type == 0) correction_value_mev = m_function_2015_cone40_photon_unconverted[etabin]->Eval(et);
1323  if(conversion_type == 1) correction_value_mev = m_function_2015_cone40_photon_converted_ok[etabin]->Eval(et);
1324  if(conversion_type == 2){
1325  if(m_trouble_categories && et < pt_threshold) correction_value_mev = m_graph_histoMean_2015_cone40_photon_converted_trouble[etabin]->Eval(et);
1326  else correction_value_mev = m_function_2015_cone40_photon_converted_trouble[etabin]->Eval(et);
1327  }
1328  }
1329  break;
1330  default:
1331  ATH_MSG_WARNING("Unable to retrieve leakage correction for topoIso cone with radius = " << radius << ".\n--- Radii must be one of {.20, .30, .40} OR {20, 30, 40}.\n");
1332  return 0.;
1333  }
1334  //ATH_MSG_INFO(" Correction: "<< correction_value_mev <<"\n");
1335  if (et > 20e3)
1336  ATH_MSG_VERBOSE("Electron ? " << (parttype == ELECTRON) << " author / conversion type = " << (parttype == ELECTRON ? author : conversion_type) << " et = " << et << " eta = " << etaS2 << " etabin = " << etabin << " correction: "<< correction_value_mev);
1337  return correction_value_mev;
1338  }

◆ GetPtCorrectionFactor()

float CP::IsolationCorrection::GetPtCorrectionFactor ( float  eta,
const std::vector< float > &  mc_leakage_corrections_ptr = std::vector<float>(),
const std::vector< float > &  data_leakage_corrections_ptr = std::vector<float>() 
) const
private

Definition at line 1158 of file IsolationCorrection.cxx.

1160  {
1161  if(mc_leakage_corrections_ptr.empty() && data_leakage_corrections_ptr.empty())
1162  return 0.;
1163 
1164  int eta_bin_fine = GetEtaBinFine(eta);
1165  int eta_bin_coarse = GetEtaBinCoarse(eta);
1166 
1167  float correction = 0.;
1168  if (!mc_leakage_corrections_ptr.empty() && (eta_bin_fine >= 0)) correction += mc_leakage_corrections_ptr[eta_bin_fine];
1169  if (!data_leakage_corrections_ptr.empty() && (eta_bin_coarse >= 0)) correction += data_leakage_corrections_ptr[eta_bin_coarse];
1170 
1171  return correction;
1172  }

◆ GetPtCorrectionTopo()

float CP::IsolationCorrection::GetPtCorrectionTopo ( float  energy,
float  etaS2,
float  etaPointing,
float  etaCluster,
float  radius,
bool  is_mc = true,
bool  isConversion = false,
ParticleType  parttype = ELECTRON,
Version  ver = REL17_2,
int  convFlag_int = 0,
int  author = 0,
float  conv_radius = 0.,
float  conv_ratio = 0. 
) const
private

Definition at line 1088 of file IsolationCorrection.cxx.

1093  {
1094  double correction_value = 0.;
1095  if (ver== REL17_2) {
1096  correction_value = GetPtCorrection_FromGraph(energy,etaS2,etaPointing,etaCluster,radius,isConversion,parttype);
1097  } else if (m_tool_ver == REL20_2 || m_tool_ver == REL21 || m_tool_ver == REL22){
1098  correction_value = GetPtCorrection_FromGraph_2015(energy, etaS2, radius, convFlag_int, author, conv_radius, conv_ratio, parttype);
1099  }
1100 
1101  return correction_value;
1102  }

◆ GetPtCorrectionValue()

float CP::IsolationCorrection::GetPtCorrectionValue ( float  energy,
float  etaPointing,
float  etaCluster,
float  scale_factor 
)
staticprivate

Definition at line 1178 of file IsolationCorrection.cxx.

1178  {
1179  // apply the correction to et
1180  double etaForPt = ((fabs(etaPointing - etaCluster) < 0.15) ? etaPointing : etaCluster);
1181  double et = (fabs(etaForPt)<99.) ? energy/cosh(etaForPt) : 0.;
1182 
1183  return scale_factor * et;
1184  }

◆ GetRadius()

int CP::IsolationCorrection::GetRadius ( float  radius)
staticprivate

Definition at line 1109 of file IsolationCorrection.cxx.

1109  {
1110  int newrad = 0;
1111  // avoid roundoff errors by adding 0.1
1112  if(radius < 1) newrad = (int)(radius * 100 + 0.1);
1113  else newrad = (int)radius;
1114  return newrad;
1115  }

◆ initialize()

StatusCode CP::IsolationCorrection::initialize ( )

Definition at line 68 of file IsolationCorrection.cxx.

68  {
69 
70  setEtaBins();
71  setIsolCorr();
73  return StatusCode::SUCCESS;
74  }

◆ initMessaging()

void AthMessaging::initMessaging ( ) const
privateinherited

Initialize our message level and MessageSvc.

This method should only be called once.

Definition at line 39 of file AthMessaging.cxx.

40 {
42  m_lvl = m_imsg ?
43  static_cast<MSG::Level>( m_imsg.load()->outputLevel(m_nm) ) :
44  MSG::INFO;
45 }

◆ load2012Corr()

void CP::IsolationCorrection::load2012Corr ( )
private

Definition at line 494 of file IsolationCorrection.cxx.

494  {
495  std::unique_ptr<TFile> file_ptleakagecorr(TFile::Open(m_corr_file.c_str(), "READ"));
496  if(!file_ptleakagecorr){
497  ATH_MSG_WARNING("Correction file for 2012 data/mc not found, tool not initialized for 2012 corrections\n");
498  m_corr_file = "";
499  return;
500  }else{
501  m_graph_cone40_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_photon_unconverted_etabin0_extrap") );
502  m_graph_cone40_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_photon_unconverted_etabin1_extrap") );
503  m_graph_cone40_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_photon_unconverted_etabin2_extrap") );
504  m_graph_cone40_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_photon_unconverted_etabin3_extrap") );
505  m_graph_cone40_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_photon_unconverted_etabin4_extrap") );
506  m_graph_cone40_photon_unconverted.push_back( new TGraph() );//No corrections for photons in the crack region
507  m_graph_cone40_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_photon_unconverted_etabin6_extrap") );
508  m_graph_cone40_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_photon_unconverted_etabin7_extrap") );
509  m_graph_cone40_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_photon_unconverted_etabin8_extrap") );
510  m_graph_cone40_photon_unconverted.push_back( new TGraph() );//No corrections for photons with |eta|>2.37
511 
512  m_graph_cone40_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_photon_converted_etabin0_extrap") );
513  m_graph_cone40_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_photon_converted_etabin1_extrap") );
514  m_graph_cone40_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_photon_converted_etabin2_extrap") );
515  m_graph_cone40_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_photon_converted_etabin3_extrap") );
516  m_graph_cone40_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_photon_converted_etabin4_extrap") );
517  m_graph_cone40_photon_converted.push_back( new TGraph() );//No corrections for photons in the crack region
518  m_graph_cone40_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_photon_converted_etabin6_extrap") );
519  m_graph_cone40_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_photon_converted_etabin7_extrap") );
520  m_graph_cone40_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_photon_converted_etabin8_extrap") );
521  m_graph_cone40_photon_converted.push_back( new TGraph() );//No corrections for photons with |eta|>2.37
522 
523  m_graph_cone40_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_electron_etabin0_extrap") );
524  m_graph_cone40_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_electron_etabin1_extrap") );
525  m_graph_cone40_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_electron_etabin2_extrap") );
526  m_graph_cone40_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_electron_etabin3_extrap") );
527  m_graph_cone40_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_electron_etabin4_extrap") );
528  m_graph_cone40_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_electron_etabin5_extrap") );
529  m_graph_cone40_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_electron_etabin6_extrap") );
530  m_graph_cone40_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_electron_etabin7_extrap") );
531  m_graph_cone40_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_electron_etabin8_extrap") );
532  m_graph_cone40_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone40_electron_etabin9_extrap") );
533 
534  m_graph_cone30_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_photon_unconverted_etabin0_extrap") );
535  m_graph_cone30_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_photon_unconverted_etabin1_extrap") );
536  m_graph_cone30_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_photon_unconverted_etabin2_extrap") );
537  m_graph_cone30_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_photon_unconverted_etabin3_extrap") );
538  m_graph_cone30_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_photon_unconverted_etabin4_extrap") );
539  m_graph_cone30_photon_unconverted.push_back( new TGraph() );//No corrections for photons in the crack region
540  m_graph_cone30_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_photon_unconverted_etabin6_extrap") );
541  m_graph_cone30_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_photon_unconverted_etabin7_extrap") );
542  m_graph_cone30_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_photon_unconverted_etabin8_extrap") );
543  m_graph_cone30_photon_unconverted.push_back( new TGraph() );//No corrections for photons with |eta|>2.37
544 
545  m_graph_cone30_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_photon_converted_etabin0_extrap") );
546  m_graph_cone30_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_photon_converted_etabin1_extrap") );
547  m_graph_cone30_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_photon_converted_etabin2_extrap") );
548  m_graph_cone30_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_photon_converted_etabin3_extrap") );
549  m_graph_cone30_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_photon_converted_etabin4_extrap") );
550  m_graph_cone30_photon_converted.push_back( new TGraph() );//No corrections for photons in the crack region
551  m_graph_cone30_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_photon_converted_etabin6_extrap") );
552  m_graph_cone30_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_photon_converted_etabin7_extrap") );
553  m_graph_cone30_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_photon_converted_etabin8_extrap") );
554  m_graph_cone30_photon_converted.push_back( new TGraph() );//No corrections for photons with |eta|>2.37
555 
556  m_graph_cone30_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_electron_etabin0_extrap") );
557  m_graph_cone30_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_electron_etabin1_extrap") );
558  m_graph_cone30_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_electron_etabin2_extrap") );
559  m_graph_cone30_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_electron_etabin3_extrap") );
560  m_graph_cone30_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_electron_etabin4_extrap") );
561  m_graph_cone30_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_electron_etabin5_extrap") );
562  m_graph_cone30_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_electron_etabin6_extrap") );
563  m_graph_cone30_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_electron_etabin7_extrap") );
564  m_graph_cone30_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_electron_etabin8_extrap") );
565  m_graph_cone30_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone30_electron_etabin9_extrap") );
566 
567  m_graph_cone20_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_photon_unconverted_etabin0_extrap") );
568  m_graph_cone20_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_photon_unconverted_etabin1_extrap") );
569  m_graph_cone20_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_photon_unconverted_etabin2_extrap") );
570  m_graph_cone20_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_photon_unconverted_etabin3_extrap") );
571  m_graph_cone20_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_photon_unconverted_etabin4_extrap") );
572  m_graph_cone20_photon_unconverted.push_back( new TGraph() );//No corrections for photons in the crack region
573  m_graph_cone20_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_photon_unconverted_etabin6_extrap") );
574  m_graph_cone20_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_photon_unconverted_etabin7_extrap") );
575  m_graph_cone20_photon_unconverted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_photon_unconverted_etabin8_extrap") );
576  m_graph_cone20_photon_unconverted.push_back( new TGraph() );//No corrections for photons with |eta|>2.37
577 
578  m_graph_cone20_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_photon_converted_etabin0_extrap") );
579  m_graph_cone20_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_photon_converted_etabin1_extrap") );
580  m_graph_cone20_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_photon_converted_etabin2_extrap") );
581  m_graph_cone20_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_photon_converted_etabin3_extrap") );
582  m_graph_cone20_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_photon_converted_etabin4_extrap") );
583  m_graph_cone20_photon_converted.push_back( new TGraph() );//No corrections for photons in the crack region
584  m_graph_cone20_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_photon_converted_etabin6_extrap") );
585  m_graph_cone20_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_photon_converted_etabin7_extrap") );
586  m_graph_cone20_photon_converted.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_photon_converted_etabin8_extrap") );
587  m_graph_cone20_photon_converted.push_back( new TGraph() );//No corrections for photons with |eta|>2.37
588 
589  m_graph_cone20_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_electron_etabin0_extrap") );
590  m_graph_cone20_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_electron_etabin1_extrap") );
591  m_graph_cone20_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_electron_etabin2_extrap") );
592  m_graph_cone20_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_electron_etabin3_extrap") );
593  m_graph_cone20_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_electron_etabin4_extrap") );
594  m_graph_cone20_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_electron_etabin5_extrap") );
595  m_graph_cone20_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_electron_etabin6_extrap") );
596  m_graph_cone20_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_electron_etabin7_extrap") );
597  m_graph_cone20_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_electron_etabin8_extrap") );
598  m_graph_cone20_electron.push_back( (TGraph*) file_ptleakagecorr->Get("graph_cone20_electron_etabin9_extrap") );
599  }
600  }

◆ load2015Corr()

void CP::IsolationCorrection::load2015Corr ( )
private

Definition at line 610 of file IsolationCorrection.cxx.

610  {
611  std::unique_ptr<TFile> file_ptleakagecorr(TFile::Open(m_corr_file.c_str(), "READ"));
612  if(!file_ptleakagecorr){
613  ATH_MSG_WARNING("Correction file for 2015 data/mc not found, "<<m_corr_file<<". tool not initialized for 2015 corrections\n");
614  m_corr_file = "";
615  }else{
616  if(!file_ptleakagecorr->GetListOfKeys()->Contains("mean_f_topoetcone40_eta_1.15_1.37_converted_ok")){
617  ATH_MSG_ERROR("Correction file for 2015 data/mc is not right, "<<m_corr_file<<". Tool not initialized for 2015 corrections\n");
618  m_corr_file = "";
619  } else {
620 
621  // ******************************
622  // Global fit corrections *******
623  // ******************************
624 
625  static const int nEta = 10;
626  static const TString etaLab[nEta] = { "0.0_0.1", "0.1_0.6", "0.6_0.8", "0.8_1.15", "1.15_1.37", "1.37_1.52", "1.52_1.81", "1.81_2.01", "2.01_2.37", "2.37_2.47" };
627  static const TString pLab[5] = { "_unconverted", "_converted_ok", "_converted_trouble", "_author_1_electron", "_author_16_electron" };
628  static const TString dRLab[3] = { "20", "30", "40" };
629 
639 
646 
647  if (m_trouble_categories) {
651 
655  }
656 
657  for (int iPart = 0; iPart < 5; iPart++) {
658 
659  for (int iEta = 0; iEta < 10; iEta++) {
660 
661  // No parametrisation in the crack or above |eta| = 2.37 for photons
662  if (iPart < 3 && (iEta == 5 || iEta == 9))
663  continue;
664 
665  for (int idR = 0; idR < 3; idR++) {
666  // The LogLog fit is a quick-and-dirty solution to get rid of negative leakage at low ET for unconverted and converted_ok photons
667  TString fN = (m_useLogLogFit && iPart < 2) ? "mean_flog_histo_topoetcone" : "mean_f_topoetcone";
668  fN += dRLab[idR]; fN += "_eta_"; fN += etaLab[iEta]; fN += pLab[iPart];
669  TString gN;
670  // Trouble categories are converted_trouble photons and author 16 electrons. Below 250 GeV, one uses the mean of the leakage histo
671  // instead of a fit to the mean of the CB vs ET
672  if (m_trouble_categories && (iPart == 2 || iPart == 4)) {
673  gN = "mean_g_histo_topoetcone"; gN += dRLab[idR]; gN += "_eta_"; gN += etaLab[iEta]; gN += pLab[iPart];
674  }
675  if (idR == 2) {
676  if (iPart == 0) {
677  m_function_2015_cone40_photon_unconverted.at(iEta) = ((TF1*)file_ptleakagecorr->Get(fN));
678  ATH_MSG_DEBUG("TF1 name : " << fN << " ptr = " << m_function_2015_cone40_photon_unconverted.at(iEta));
679  } else if (iPart == 1) {
680  m_function_2015_cone40_photon_converted_ok.at(iEta) = ((TF1*)file_ptleakagecorr->Get(fN));
681  ATH_MSG_DEBUG("TF1 name : " << fN << " ptr = " << m_function_2015_cone40_photon_converted_ok.at(iEta));
682  } else if (iPart == 2) {
683  m_function_2015_cone40_photon_converted_trouble.at(iEta) = ((TF1*)file_ptleakagecorr->Get(fN));
684  ATH_MSG_DEBUG("TF1 name : " << fN << " ptr = " << m_function_2015_cone40_photon_converted_trouble.at(iEta));
685  if (m_trouble_categories) {
686  m_graph_histoMean_2015_cone40_photon_converted_trouble.at(iEta) = ((TGraph*)file_ptleakagecorr->Get(gN));
687  ATH_MSG_DEBUG("TGraph name (trouble categories at low ET) : " << gN << " ptr = " << m_graph_histoMean_2015_cone40_photon_converted_trouble.at(iEta));
688  }
689  } else if (iPart == 3) {
690  m_function_2015_cone40_author_1_electron.at(iEta) = ((TF1*)file_ptleakagecorr->Get(fN));
691  ATH_MSG_DEBUG("TF1 name : " << fN << " ptr = " << m_function_2015_cone40_author_1_electron.at(iEta));
692  } else if (iPart == 4) {
693  m_function_2015_cone40_author_16_electron.at(iEta) = ((TF1*)file_ptleakagecorr->Get(fN));
694  ATH_MSG_DEBUG("TF1 name : " << fN << " ptr = " << m_function_2015_cone40_author_16_electron.at(iEta));
695  if (m_trouble_categories) {
696  m_graph_histoMean_2015_cone40_author_16_electron.at(iEta) = ((TGraph*)file_ptleakagecorr->Get(gN));
697  ATH_MSG_DEBUG("TGraph name (trouble categories at low ET) : " << gN << " ptr = " << m_graph_histoMean_2015_cone40_author_16_electron.at(iEta));
698  }
699  }
700 
701  } else if (idR == 1) {
702  if (iPart == 0) {
703  m_function_2015_cone30_photon_unconverted.at(iEta) = ((TF1*)file_ptleakagecorr->Get(fN));
704  ATH_MSG_DEBUG("TF1 name : " << fN << " ptr = " << m_function_2015_cone30_photon_unconverted.at(iEta));
705  } else if (iPart == 1) {
706  m_function_2015_cone30_photon_converted_ok.at(iEta) = ((TF1*)file_ptleakagecorr->Get(fN));
707  ATH_MSG_DEBUG("TF1 name : " << fN << " ptr = " << m_function_2015_cone30_photon_converted_ok.at(iEta));
708  } else if (iPart == 2) {
709  m_function_2015_cone30_photon_converted_trouble.at(iEta) = ((TF1*)file_ptleakagecorr->Get(fN));
710  ATH_MSG_DEBUG("TF1 name : " << fN << " ptr = " << m_function_2015_cone30_photon_converted_trouble.at(iEta));
711  if (m_trouble_categories) {
712  m_graph_histoMean_2015_cone30_photon_converted_trouble.at(iEta) = ((TGraph*)file_ptleakagecorr->Get(gN));
713  ATH_MSG_DEBUG("TGraph name (trouble categories at low ET) : " << gN << " ptr = " << m_graph_histoMean_2015_cone30_photon_converted_trouble.at(iEta));
714  }
715  } else if (iPart == 3) {
716  m_function_2015_cone30_author_1_electron.at(iEta) = ((TF1*)file_ptleakagecorr->Get(fN));
717  ATH_MSG_DEBUG("TF1 name : " << fN << " ptr = " << m_function_2015_cone30_author_1_electron.at(iEta));
718  } else if (iPart == 4) {
719  m_function_2015_cone30_author_16_electron.at(iEta) = ((TF1*)file_ptleakagecorr->Get(fN));
720  ATH_MSG_DEBUG("TF1 name : " << fN << " ptr = " << m_function_2015_cone30_author_16_electron.at(iEta));
721  if (m_trouble_categories) {
722  m_graph_histoMean_2015_cone30_author_16_electron.at(iEta) = ((TGraph*)file_ptleakagecorr->Get(gN));
723  ATH_MSG_DEBUG("TGraph name (trouble categories at low ET) : " << gN << " ptr = " << m_graph_histoMean_2015_cone30_author_16_electron.at(iEta));
724  }
725  }
726 
727  } else {
728  if (iPart == 0) {
729  m_function_2015_cone20_photon_unconverted.at(iEta) = ((TF1*)file_ptleakagecorr->Get(fN));
730  ATH_MSG_DEBUG("TF1 name : " << fN << " ptr = " << m_function_2015_cone20_photon_unconverted.at(iEta));
731  } else if (iPart == 1) {
732  m_function_2015_cone20_photon_converted_ok.at(iEta) = ((TF1*)file_ptleakagecorr->Get(fN));
733  ATH_MSG_DEBUG("TF1 name : " << fN << " ptr = " << m_function_2015_cone20_photon_converted_ok.at(iEta));
734  } else if (iPart == 2) {
735  m_function_2015_cone20_photon_converted_trouble.at(iEta) = ((TF1*)file_ptleakagecorr->Get(fN));
736  ATH_MSG_DEBUG("TF1 name : " << fN << " ptr = " << m_function_2015_cone20_photon_converted_trouble.at(iEta));
737  if (m_trouble_categories) {
738  m_graph_histoMean_2015_cone20_photon_converted_trouble.at(iEta) = ((TGraph*)file_ptleakagecorr->Get(gN));
739  ATH_MSG_DEBUG("TGraph name (trouble categories at low ET) : " << gN << " ptr = " << m_graph_histoMean_2015_cone20_photon_converted_trouble.at(iEta));
740  }
741  } else if (iPart == 3) {
742  m_function_2015_cone20_author_1_electron.at(iEta) = ((TF1*)file_ptleakagecorr->Get(fN));
743  ATH_MSG_DEBUG("TF1 name : " << fN << " ptr = " << m_function_2015_cone20_author_1_electron.at(iEta));
744  } else if (iPart == 4) {
745  m_function_2015_cone20_author_16_electron.at(iEta) = ((TF1*)file_ptleakagecorr->Get(fN));
746  ATH_MSG_DEBUG("TF1 name : " << fN << " ptr = " << m_function_2015_cone20_author_16_electron.at(iEta));
747  if (m_trouble_categories) {
748  m_graph_histoMean_2015_cone20_author_16_electron.at(iEta) = ((TGraph*)file_ptleakagecorr->Get(gN));
749  ATH_MSG_DEBUG("TGraph name (trouble categories at low ET) : " << gN << " ptr = " << m_graph_histoMean_2015_cone20_author_16_electron.at(iEta));
750  }
751  }
752  }
753 
754  } // dR bin
755 
756  } // eta bin
757 
758  } // particle type
759 
760  } // root file : no good format
761  } // root file not found
762  }

◆ loadDDCorr()

void CP::IsolationCorrection::loadDDCorr ( )
private

Definition at line 772 of file IsolationCorrection.cxx.

772  {
773  std::unique_ptr< TFile > file_ddshift_corr( TFile::Open( m_corr_ddshift_file.c_str(), "READ" ) );
774  std::unique_ptr< TFile > file_ddsmearingcorr( TFile::Open( m_corr_ddsmearing_file.c_str(), "READ" ) );
775 
776  if(!file_ddshift_corr || !file_ddsmearingcorr){
777  ATH_MSG_WARNING("Correction file for data-driven corrections not found, tool not initialized for data-driven corrections\n");
778  m_corr_ddshift_file = "";
780  }else{
781 
782  // **********************************
783  // Data driven corrections **********
784  // https://cds.cern.ch/record/2008664
785  // **********************************
786 
787  // Photon shift corrections
788  std::vector< std::shared_ptr<TGraphAsymmErrors> > graph_shift;
789  // Photon smearing corrections (to be applied in end caps only)
790  std::vector< std::shared_ptr<TGraphAsymmErrors> > graph_smearing;
791  for (int ig = 0; ig <= 13; ig++) {
792  graph_shift.emplace_back( dynamic_cast<TGraphAsymmErrors*>(file_ddshift_corr->Get(Form("graph_%i",ig))) );
793  graph_smearing.emplace_back( dynamic_cast<TGraphAsymmErrors*>(file_ddsmearingcorr->Get(Form("graph_%i",ig))) );
794  }
795  for (int ig = 0; ig <= 13; ig++) {
796  if (ig <= 7)
797  m_graph_dd_cone40_photon_shift.push_back( graph_shift.at(ig)->GetFunction("f") );
798  else
799  m_graph_dd_cone40_photon_shift.push_back( graph_shift.at(ig)->GetFunction("f_2") );
800  m_graph_dd_cone40_photon_smearing.push_back( graph_smearing.at(ig)->GetFunction("f_3") );
801  }
802 
803  for (const auto& gr : graph_shift) {
804  if (gr == nullptr)
805  ATH_MSG_ERROR("Null pointer for one of the DD correction graphs");
806  }
807  for (const auto& gr : graph_smearing) {
808  if (gr == nullptr)
809  ATH_MSG_ERROR("Null pointer for one of the smearing graphs");
810  }
811  }
812  }

◆ msg() [1/2]

MsgStream & asg::AsgMessaging::msg ( ) const
inherited

The standard message stream.

Returns
A reference to the default message stream of this object.

Definition at line 49 of file AsgMessaging.cxx.

49  {
50 #ifndef XAOD_STANDALONE
52 #else // not XAOD_STANDALONE
53  return m_msg;
54 #endif // not XAOD_STANDALONE
55  }

◆ msg() [2/2]

MsgStream & asg::AsgMessaging::msg ( const MSG::Level  lvl) const
inherited

The standard message stream.

Parameters
lvlThe message level to set the stream to
Returns
A reference to the default message stream, set to level "lvl"

Definition at line 57 of file AsgMessaging.cxx.

57  {
58 #ifndef XAOD_STANDALONE
60 #else // not XAOD_STANDALONE
61  m_msg << lvl;
62  return m_msg;
63 #endif // not XAOD_STANDALONE
64  }

◆ msgLvl()

bool asg::AsgMessaging::msgLvl ( const MSG::Level  lvl) const
inherited

Test the output level of the object.

Parameters
lvlThe message level to test against
Returns
boolean Indicting if messages at given level will be printed
true If messages at level "lvl" will be printed

Definition at line 41 of file AsgMessaging.cxx.

41  {
42 #ifndef XAOD_STANDALONE
43  return ::AthMessaging::msgLvl( lvl );
44 #else // not XAOD_STANDALONE
45  return m_msg.msgLevel( lvl );
46 #endif // not XAOD_STANDALONE
47  }

◆ Print()

void CP::IsolationCorrection::Print ( )

Definition at line 1340 of file IsolationCorrection.cxx.

1340  {
1341  ATH_MSG_INFO("Print properties of the parametrisation");
1343  ATH_MSG_INFO("ptr = " << i);
1344  if (i) {
1345  ATH_MSG_INFO(typeid(i).name());
1346  i->Print();
1347  }
1348  }
1349  }

◆ set2011Corr()

void CP::IsolationCorrection::set2011Corr ( )
private

Definition at line 437 of file IsolationCorrection.cxx.

437  {
438 
439  // -------------------------------------------------------------------------------------------
440  // ------------- full 2011 (rel 17) leakage corrections --------------------------------------
441  // CURRENT isolation corrections: fine grained in eta, derived from MC11
442  m_mc_rel17_leakage_correction_slopes_electron_15 = { 0.01466, 0.01421, 0.01427, 0.01872, 0.02008, 0.02181, 0.02141, 0.02636, 0.03285, 0.03564 };
443  m_mc_rel17_leakage_correction_slopes_electron_20 = { 0.01616, 0.01572, 0.01596, 0.02139, 0.02339, 0.03350, 0.02499, 0.03038, 0.03870, 0.04337 };
444  m_mc_rel17_leakage_correction_slopes_electron_25 = { 0.01663, 0.01616, 0.01667, 0.02223, 0.02445, 0.03852, 0.02611, 0.03174, 0.04093, 0.04692 };
445  m_mc_rel17_leakage_correction_slopes_electron_30 = { 0.01689, 0.01635, 0.01684, 0.02256, 0.02485, 0.04223, 0.02660, 0.03232, 0.04182, 0.04846 };
446  m_mc_rel17_leakage_correction_slopes_electron_35 = { 0.01695, 0.01642, 0.01693, 0.02268, 0.02501, 0.04403, 0.02685, 0.03254, 0.04223, 0.04928 };
447  m_mc_rel17_leakage_correction_slopes_electron_40 = { 0.01701, 0.01646, 0.01702, 0.02272, 0.02517, 0.04550, 0.02698, 0.03267, 0.04242, 0.04964 };
448 
449  m_mc_rel17_leakage_correction_offsets_electron_15 = { 21.71, 36.00, 132.56, 191.64, 263.46, 619.58, 288.75, 121.92, 102.35, 175.02 };
450  m_mc_rel17_leakage_correction_offsets_electron_20 = { 76.67, 85.35, 184.90, 276.72, 384.97, 595.60, 657.99, 231.88, 170.48, 312.30 };
451  m_mc_rel17_leakage_correction_offsets_electron_25 = { 90.44, 105.02, 267.95, 420.38, 555.09, 1014.50, 765.83, 283.50, 224.18, 357.30 };
452  m_mc_rel17_leakage_correction_offsets_electron_30 = { 119.55, 127.09, 279.48, 430.96, 571.81, 846.86, 968.01, 354.46, 263.11, 455.21 };
453  m_mc_rel17_leakage_correction_offsets_electron_35 = { 138.79, 161.87, 371.47, 572.08, 754.17, 1249.38, 1000.44, 389.22, 295.72, 464.28 };
454  m_mc_rel17_leakage_correction_offsets_electron_40 = { 180.08, 187.89, 363.31, 553.46, 707.60, 1006.20, 1105.73, 434.21, 312.78, 535.90 };
455 
456  // photons: last eta bin isn't used
457  m_mc_rel17_leakage_correction_slopes_photon_converted_15 = { 0.01450, 0.01410, 0.01410, 0.01860, 0.01990, 0.0, 0.02120, 0.02610, 0.03260, 0.0 };
458  m_mc_rel17_leakage_correction_slopes_photon_converted_20 = { 0.01600, 0.01560, 0.01580, 0.02130, 0.02320, 0.0, 0.02450, 0.03000, 0.03840, 0.0 };
459  m_mc_rel17_leakage_correction_slopes_photon_converted_25 = { 0.01630, 0.01600, 0.01620, 0.02210, 0.02420, 0.0, 0.02560, 0.03140, 0.04060, 0.0 };
460  m_mc_rel17_leakage_correction_slopes_photon_converted_30 = { 0.01630, 0.01600, 0.01630, 0.02240, 0.02460, 0.0, 0.02610, 0.03190, 0.04150, 0.0 };
461  m_mc_rel17_leakage_correction_slopes_photon_converted_35 = { 0.01660, 0.01600, 0.01630, 0.02240, 0.02470, 0.0, 0.02640, 0.03210, 0.04190, 0.0 };
462  m_mc_rel17_leakage_correction_slopes_photon_converted_40 = { 0.01610, 0.01590, 0.01620, 0.02250, 0.02480, 0.0, 0.02650, 0.03220, 0.04210, 0.0 };
463 
464  m_mc_rel17_leakage_correction_offsets_photon_converted_15 = { 36.50, 61.80, 176.90, 206.40, 300.70, 0.0, 277.40, 91.70, 126.60, 0.0 };
465  m_mc_rel17_leakage_correction_offsets_photon_converted_20 = { 93.30, 101.40, 270.60, 369.10, 514.70, 0.0, 586.10, 160.80, 193.80, 0.0 };
466  m_mc_rel17_leakage_correction_offsets_photon_converted_25 = { 195.80, 166.20, 386.50, 472.30, 637.30, 0.0, 739.40, 207.60, 240.60, 0.0 };
467  m_mc_rel17_leakage_correction_offsets_photon_converted_30 = { 286.60, 241.60, 501.60, 570.70, 739.50, 0.0, 860.00, 264.50, 270.40, 0.0 };
468  m_mc_rel17_leakage_correction_offsets_photon_converted_35 = { 329.90, 314.70, 585.60, 655.60, 835.70, 0.0, 934.30, 291.50, 291.90, 0.0 };
469  m_mc_rel17_leakage_correction_offsets_photon_converted_40 = { 478.70, 383.80, 679.20, 725.70, 938.70, 0.0, 999.30, 322.80, 316.20, 0.0 };
470 
471  m_mc_rel17_leakage_correction_slopes_photon_unconverted_15 = { 0.01480, 0.01410, 0.01400, 0.01820, 0.01950, 0.0, 0.02140, 0.02660, 0.03250, 0.0 };
472  m_mc_rel17_leakage_correction_slopes_photon_unconverted_20 = { 0.01630, 0.01560, 0.01560, 0.02060, 0.02240, 0.0, 0.02480, 0.03060, 0.03830, 0.0 };
473  m_mc_rel17_leakage_correction_slopes_photon_unconverted_25 = { 0.01670, 0.01610, 0.01620, 0.02140, 0.02330, 0.0, 0.02590, 0.03200, 0.04050, 0.0 };
474  m_mc_rel17_leakage_correction_slopes_photon_unconverted_30 = { 0.01690, 0.01630, 0.01640, 0.02170, 0.02360, 0.0, 0.02630, 0.03260, 0.04140, 0.0 };
475  m_mc_rel17_leakage_correction_slopes_photon_unconverted_35 = { 0.01700, 0.01640, 0.01650, 0.02180, 0.02380, 0.0, 0.02650, 0.03280, 0.04180, 0.0 };
476  m_mc_rel17_leakage_correction_slopes_photon_unconverted_40 = { 0.01710, 0.01640, 0.01650, 0.02190, 0.02390, 0.0, 0.02660, 0.03290, 0.04200, 0.0 };
477 
478  m_mc_rel17_leakage_correction_offsets_photon_unconverted_15 = { -27.80, 3.80, 67.50, 80.90, 114.90, 0.0, 82.60, 2.10, 39.80, 0.0 };
479  m_mc_rel17_leakage_correction_offsets_photon_unconverted_20 = { -17.70, 12.60, 97.80, 126.50, 186.20, 0.0, 200.80, 24.00, 62.30, 0.0 };
480  m_mc_rel17_leakage_correction_offsets_photon_unconverted_25 = { -8.60, 20.30, 118.20, 161.80, 244.30, 0.0, 271.80, 39.80, 79.10, 0.0 };
481  m_mc_rel17_leakage_correction_offsets_photon_unconverted_30 = { 5.40, 33.80, 141.60, 199.50, 295.40, 0.0, 336.50, 64.80, 90.40, 0.0 };
482  m_mc_rel17_leakage_correction_offsets_photon_unconverted_35 = { 9.60, 47.80, 154.10, 231.10, 346.10, 0.0, 384.60, 77.80, 96.90, 0.0 };
483  m_mc_rel17_leakage_correction_offsets_photon_unconverted_40 = { 13.30, 62.00, 177.00, 267.10, 406.20, 0.0, 419.80, 89.40, 105.90, 0.0 };
484  }

◆ set2012Corr()

void CP::IsolationCorrection::set2012Corr ( )
private

Definition at line 486 of file IsolationCorrection.cxx.

486  {
487  if( !m_corr_file.empty()){
488  load2012Corr();
489  }else{
490  ATH_MSG_WARNING("Correction file for 2017 data/mc not specified, tool not initialized for 2017 corrections\n");
491  }
492  }

◆ set2015Corr()

void CP::IsolationCorrection::set2015Corr ( )
private

Definition at line 602 of file IsolationCorrection.cxx.

602  {
603  if( !m_corr_file.empty()){
604  load2015Corr();
605  }else{
606  ATH_MSG_WARNING("Correction file for 2015 data/mc not specified, tool not initialized for 2015 corrections\n");
607  }
608  }

◆ SetAFII()

void CP::IsolationCorrection::SetAFII ( bool  AFII_corr)

Definition at line 395 of file IsolationCorrection.cxx.

395  {
396  m_AFII_corr = AFII_corr;
397  }

◆ SetCorrectEtcone()

void CP::IsolationCorrection::SetCorrectEtcone ( bool  correct_etcone)

Definition at line 406 of file IsolationCorrection.cxx.

406  {
407  m_correct_etcone = correct_etcone;
408  }

◆ SetCorrectionFile()

void CP::IsolationCorrection::SetCorrectionFile ( const std::string &  corr_file,
const std::string &  corr_ddshift_file,
const std::string &  corr_ddsmearing_file 
)

Definition at line 59 of file IsolationCorrection.cxx.

59  {
60  // the leakage parameterisation
62  // the DD shifts (for photons)
64  // And an eventual smearing (run I)
65  m_corr_ddsmearing_file = PathResolverFindCalibFile(corr_ddsmearing_file);
66  }

◆ SetDataMC() [1/2]

void CP::IsolationCorrection::SetDataMC ( bool  is_mc)

Definition at line 390 of file IsolationCorrection.cxx.

390  {
391  m_is_mc = is_mc;
392  m_set_mc = true;
393  }

◆ SetDataMC() [2/2]

void CP::IsolationCorrection::SetDataMC ( const xAOD::EventInfo event_info)

Definition at line 414 of file IsolationCorrection.cxx.

414  {
416  }

◆ setDDCorr()

void CP::IsolationCorrection::setDDCorr ( )
private

Definition at line 764 of file IsolationCorrection.cxx.

764  {
765  if( !m_corr_ddshift_file.empty() && !m_corr_ddsmearing_file.empty()){
766  loadDDCorr();
767  }else{
768  ATH_MSG_WARNING("Data-driven correction files not specified, tool not initialized for data-driven corrections\n");
769  }
770  }

◆ setEtaBins()

void CP::IsolationCorrection::setEtaBins ( )
private

Definition at line 418 of file IsolationCorrection.cxx.

418  {
421  m_eta_bins_fine = {0.0, 0.10, 0.60, 0.80, 1.15, 1.37, 1.52, 1.81, 2.01, 2.37, 2.47};
422  m_eta_bins_coarse = {0.0, 0.60, 1.37, 1.52, 1.81, 2.47};
423  }

◆ setIsolCorr()

void CP::IsolationCorrection::setIsolCorr ( )
private

Definition at line 427 of file IsolationCorrection.cxx.

427  {
428  if (m_tool_ver == REL17_2) {
429  set2011Corr(); // in fact, this is for etcone
430  set2012Corr();
431  setDDCorr();
432  } else if (m_tool_ver == REL20_2 || m_tool_ver == REL21 || m_tool_ver == REL22)
433  set2015Corr();
434  }

◆ setLevel()

void AthMessaging::setLevel ( MSG::Level  lvl)
inherited

Change the current logging level.

Use this rather than msg().setLevel() for proper operation with MT.

Definition at line 28 of file AthMessaging.cxx.

29 {
30  m_lvl = lvl;
31 }

◆ SetToolVer()

void CP::IsolationCorrection::SetToolVer ( CP::IsolationCorrection::Version  ver)

Definition at line 76 of file IsolationCorrection.cxx.

76  {
77  m_tool_ver = ver;
78  }

◆ SetTroubleCategories()

void CP::IsolationCorrection::SetTroubleCategories ( bool  trouble_categories)

Definition at line 410 of file IsolationCorrection.cxx.

410  {
411  m_trouble_categories = trouble_categories;
412  }

◆ setupDD()

StatusCode CP::IsolationCorrection::setupDD ( const std::string &  year)
private

Definition at line 228 of file IsolationCorrection.cxx.

228  {
229 
230  if (m_corr_ddshift_file.empty()){
231  ATH_MSG_WARNING("IsolationCorrection::GetDDCorrection " << year << ", unknown correction file name.\nNo correction is applied.\n");
232  return StatusCode::FAILURE;
233  }
234 
235  int ii = year == "2017" ? 2 : (year == "2015_2016" ? 1 : 0);
236  int jj = m_AFII_corr ? 1 : 0;
237 
238  if (year == m_previousYear && m_corrInitialized[ii][jj])
239  return StatusCode::SUCCESS;
240 
241  ATH_MSG_VERBOSE("Will setup the tool to retrieve " << year << " DD corrections");
242 
244  if (year == "2015") {
246  m_crackBin = 2;
251  } else if (year == "2015_2016") {
253  m_crackBin = 4;
258  } else if (year == "2017") {
260  m_crackBin = 4;
265  } else {
266  ATH_MSG_WARNING("Year " << year << " is not known in IsolationCorrection ! Check your input ! No correction is applied");
267  return StatusCode::FAILURE;
268  }
269 
270  if (!m_corrInitialized[ii][jj]) {
271 
272  ATH_MSG_VERBOSE("DD corrections for year " << year << " not loaded yet. Doing it know");
273 
274  std::unique_ptr< TFile > file_ptleakagecorr( TFile::Open( m_corr_ddshift_file.c_str(), "READ" ) );
275  if (!file_ptleakagecorr) {
276  ATH_MSG_ERROR("file " << m_corr_ddshift_file << " not found ! Check your inputs");
277  return StatusCode::FAILURE;
278  }
279  TString baseN = year + "/" + (m_AFII_corr ? "AF2/" : "FullSim/");
280  TVector *veta = (TVector*)file_ptleakagecorr->Get(baseN+"/etaBinning");
281  m_feta_bins_dd->resize(veta->GetNrows());
282  for (int ieta = 0; ieta < veta->GetNrows(); ieta++) m_feta_bins_dd->at(ieta) = (*veta)[ieta];
283  TTree *tbinLabel = (TTree*)file_ptleakagecorr->Get(baseN+"tbinLabel");
284  TBranch *bbinLabel(nullptr);
285  TString *binLabel(nullptr); tbinLabel->SetBranchAddress("binLabel",&binLabel,&bbinLabel);
286  for (unsigned int ieta = 0; ieta < m_feta_bins_dd->size()-2; ieta++) {
287  tbinLabel->GetEntry(ieta);
288  TString gN = "topoETcone40_DataDriven_unconverted_photon_eta_";
289  gN += (*binLabel);
290  m_graph_dd_cone40_unconv_photon_shift->push_back( (TGraph*) file_ptleakagecorr->Get(baseN+gN));
291  gN = "topoETcone40_DataDriven_converted_photon_eta_";
292  gN += (*binLabel);
293  m_graph_dd_cone40_conv_photon_shift->push_back( (TGraph*) file_ptleakagecorr->Get(baseN+gN));
294  gN = "topoETcone20_DataDriven_unconverted_photon_eta_";
295  gN += (*binLabel);
296  m_graph_dd_cone20_unconv_photon_shift->push_back( (TGraph*) file_ptleakagecorr->Get(baseN+gN));
297  gN = "topoETcone20_DataDriven_converted_photon_eta_";
298  gN += (*binLabel);
299  m_graph_dd_cone20_conv_photon_shift->push_back( (TGraph*) file_ptleakagecorr->Get(baseN+gN));
300  ATH_MSG_VERBOSE("Got graphs \n"
301  << " dR = 0.4, unconv " << m_graph_dd_cone40_unconv_photon_shift->at(ieta)->GetName() << "\n"
302  << " dR = 0.4, conv " << m_graph_dd_cone40_conv_photon_shift->at(ieta)->GetName() << "\n"
303  << " dR = 0.2, unconv " << m_graph_dd_cone20_unconv_photon_shift->at(ieta)->GetName() << "\n"
304  << " dR = 0.2, conv " << m_graph_dd_cone20_conv_photon_shift->at(ieta)->GetName());
305 
306  }
307  m_corrInitialized[ii][jj] = true;
308  }
309 
310  return StatusCode::SUCCESS;
311 }

Member Data Documentation

◆ ATLAS_THREAD_SAFE

std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
mutableprivateinherited

Messaging initialized (initMessaging)

Definition at line 141 of file AthMessaging.h.

◆ m_AFII_corr

bool CP::IsolationCorrection::m_AFII_corr
private

◆ m_corr_ddshift_file

std::string CP::IsolationCorrection::m_corr_ddshift_file
private

◆ m_corr_ddsmearing_file

std::string CP::IsolationCorrection::m_corr_ddsmearing_file
private

◆ m_corr_file

std::string CP::IsolationCorrection::m_corr_file
private

◆ m_correct_etcone

bool CP::IsolationCorrection::m_correct_etcone
private

◆ m_corrInitialized

bool CP::IsolationCorrection::m_corrInitialized[3][2] {}
private

◆ m_crackBin

int CP::IsolationCorrection::m_crackBin {}
private

◆ m_eta_bins_coarse

std::vector<float> CP::IsolationCorrection::m_eta_bins_coarse
private

◆ m_eta_bins_dd

std::vector<float> CP::IsolationCorrection::m_eta_bins_dd
private

◆ m_eta_bins_fine

std::vector<float> CP::IsolationCorrection::m_eta_bins_fine
private

◆ m_feta_bins_dd

std::vector<float>* CP::IsolationCorrection::m_feta_bins_dd {}
private

◆ m_feta_bins_dd_2015

std::vector<float> CP::IsolationCorrection::m_feta_bins_dd_2015
private

◆ m_feta_bins_dd_2017

std::vector<float> CP::IsolationCorrection::m_feta_bins_dd_2017
private

◆ m_forcePartType

bool CP::IsolationCorrection::m_forcePartType
private

◆ m_function_2015_cone20_author_16_electron

std::vector<TF1*> CP::IsolationCorrection::m_function_2015_cone20_author_16_electron
private

◆ m_function_2015_cone20_author_1_electron

std::vector<TF1*> CP::IsolationCorrection::m_function_2015_cone20_author_1_electron
private

◆ m_function_2015_cone20_photon_converted_ok

std::vector<TF1*> CP::IsolationCorrection::m_function_2015_cone20_photon_converted_ok
private

◆ m_function_2015_cone20_photon_converted_trouble

std::vector<TF1*> CP::IsolationCorrection::m_function_2015_cone20_photon_converted_trouble
private

◆ m_function_2015_cone20_photon_unconverted

std::vector<TF1*> CP::IsolationCorrection::m_function_2015_cone20_photon_unconverted
private

◆ m_function_2015_cone30_author_16_electron

std::vector<TF1*> CP::IsolationCorrection::m_function_2015_cone30_author_16_electron
private

◆ m_function_2015_cone30_author_1_electron

std::vector<TF1*> CP::IsolationCorrection::m_function_2015_cone30_author_1_electron
private

◆ m_function_2015_cone30_photon_converted_ok

std::vector<TF1*> CP::IsolationCorrection::m_function_2015_cone30_photon_converted_ok
private

◆ m_function_2015_cone30_photon_converted_trouble

std::vector<TF1*> CP::IsolationCorrection::m_function_2015_cone30_photon_converted_trouble
private

◆ m_function_2015_cone30_photon_unconverted

std::vector<TF1*> CP::IsolationCorrection::m_function_2015_cone30_photon_unconverted
private

◆ m_function_2015_cone40_author_16_electron

std::vector<TF1*> CP::IsolationCorrection::m_function_2015_cone40_author_16_electron
private

◆ m_function_2015_cone40_author_1_electron

std::vector<TF1*> CP::IsolationCorrection::m_function_2015_cone40_author_1_electron
private

◆ m_function_2015_cone40_photon_converted_ok

std::vector<TF1*> CP::IsolationCorrection::m_function_2015_cone40_photon_converted_ok
private

◆ m_function_2015_cone40_photon_converted_trouble

std::vector<TF1*> CP::IsolationCorrection::m_function_2015_cone40_photon_converted_trouble
private

◆ m_function_2015_cone40_photon_unconverted

std::vector<TF1*> CP::IsolationCorrection::m_function_2015_cone40_photon_unconverted
private

◆ m_graph_afIIdd_2015_2016_cone20_conv_photon_shift

std::vector<TGraph*> CP::IsolationCorrection::m_graph_afIIdd_2015_2016_cone20_conv_photon_shift
private

◆ m_graph_afIIdd_2015_2016_cone20_unconv_photon_shift

std::vector<TGraph*> CP::IsolationCorrection::m_graph_afIIdd_2015_2016_cone20_unconv_photon_shift
private

◆ m_graph_afIIdd_2015_2016_cone40_conv_photon_shift

std::vector<TGraph*> CP::IsolationCorrection::m_graph_afIIdd_2015_2016_cone40_conv_photon_shift
private

◆ m_graph_afIIdd_2015_2016_cone40_unconv_photon_shift

std::vector<TGraph*> CP::IsolationCorrection::m_graph_afIIdd_2015_2016_cone40_unconv_photon_shift
private

◆ m_graph_afIIdd_2017_cone20_conv_photon_shift

std::vector<TGraph*> CP::IsolationCorrection::m_graph_afIIdd_2017_cone20_conv_photon_shift
private

◆ m_graph_afIIdd_2017_cone20_unconv_photon_shift

std::vector<TGraph*> CP::IsolationCorrection::m_graph_afIIdd_2017_cone20_unconv_photon_shift
private

◆ m_graph_afIIdd_2017_cone40_conv_photon_shift

std::vector<TGraph*> CP::IsolationCorrection::m_graph_afIIdd_2017_cone40_conv_photon_shift
private

◆ m_graph_afIIdd_2017_cone40_unconv_photon_shift

std::vector<TGraph*> CP::IsolationCorrection::m_graph_afIIdd_2017_cone40_unconv_photon_shift
private

◆ m_graph_cone20_electron

std::vector<TGraph*> CP::IsolationCorrection::m_graph_cone20_electron
private

◆ m_graph_cone20_photon_converted

std::vector<TGraph*> CP::IsolationCorrection::m_graph_cone20_photon_converted
private

◆ m_graph_cone20_photon_unconverted

std::vector<TGraph*> CP::IsolationCorrection::m_graph_cone20_photon_unconverted
private

◆ m_graph_cone30_electron

std::vector<TGraph*> CP::IsolationCorrection::m_graph_cone30_electron
private

◆ m_graph_cone30_photon_converted

std::vector<TGraph*> CP::IsolationCorrection::m_graph_cone30_photon_converted
private

◆ m_graph_cone30_photon_unconverted

std::vector<TGraph*> CP::IsolationCorrection::m_graph_cone30_photon_unconverted
private

◆ m_graph_cone40_electron

std::vector<TGraph*> CP::IsolationCorrection::m_graph_cone40_electron
private

◆ m_graph_cone40_photon_converted

std::vector<TGraph*> CP::IsolationCorrection::m_graph_cone40_photon_converted
private

◆ m_graph_cone40_photon_unconverted

std::vector<TGraph*> CP::IsolationCorrection::m_graph_cone40_photon_unconverted
private

◆ m_graph_dd_2015_2016_cone20_conv_photon_shift

std::vector<TGraph*> CP::IsolationCorrection::m_graph_dd_2015_2016_cone20_conv_photon_shift
private

◆ m_graph_dd_2015_2016_cone20_unconv_photon_shift

std::vector<TGraph*> CP::IsolationCorrection::m_graph_dd_2015_2016_cone20_unconv_photon_shift
private

◆ m_graph_dd_2015_2016_cone40_conv_photon_shift

std::vector<TGraph*> CP::IsolationCorrection::m_graph_dd_2015_2016_cone40_conv_photon_shift
private

◆ m_graph_dd_2015_2016_cone40_unconv_photon_shift

std::vector<TGraph*> CP::IsolationCorrection::m_graph_dd_2015_2016_cone40_unconv_photon_shift
private

◆ m_graph_dd_2015_cone20_conv_photon_shift

std::vector<TGraph*> CP::IsolationCorrection::m_graph_dd_2015_cone20_conv_photon_shift
private

◆ m_graph_dd_2015_cone20_unconv_photon_shift

std::vector<TGraph*> CP::IsolationCorrection::m_graph_dd_2015_cone20_unconv_photon_shift
private

◆ m_graph_dd_2015_cone40_conv_photon_shift

std::vector<TGraph*> CP::IsolationCorrection::m_graph_dd_2015_cone40_conv_photon_shift
private

◆ m_graph_dd_2015_cone40_unconv_photon_shift

std::vector<TGraph*> CP::IsolationCorrection::m_graph_dd_2015_cone40_unconv_photon_shift
private

◆ m_graph_dd_2017_cone20_conv_photon_shift

std::vector<TGraph*> CP::IsolationCorrection::m_graph_dd_2017_cone20_conv_photon_shift
private

◆ m_graph_dd_2017_cone20_unconv_photon_shift

std::vector<TGraph*> CP::IsolationCorrection::m_graph_dd_2017_cone20_unconv_photon_shift
private

◆ m_graph_dd_2017_cone40_conv_photon_shift

std::vector<TGraph*> CP::IsolationCorrection::m_graph_dd_2017_cone40_conv_photon_shift
private

◆ m_graph_dd_2017_cone40_unconv_photon_shift

std::vector<TGraph*> CP::IsolationCorrection::m_graph_dd_2017_cone40_unconv_photon_shift
private

◆ m_graph_dd_cone20_conv_photon_shift

std::vector<TGraph*>* CP::IsolationCorrection::m_graph_dd_cone20_conv_photon_shift {}
private

◆ m_graph_dd_cone20_unconv_photon_shift

std::vector<TGraph*>* CP::IsolationCorrection::m_graph_dd_cone20_unconv_photon_shift {}
private

◆ m_graph_dd_cone40_conv_photon_shift

std::vector<TGraph*>* CP::IsolationCorrection::m_graph_dd_cone40_conv_photon_shift {}
private

◆ m_graph_dd_cone40_photon_shift

std::vector<TF1*> CP::IsolationCorrection::m_graph_dd_cone40_photon_shift
private

◆ m_graph_dd_cone40_photon_smearing

std::vector<TF1*> CP::IsolationCorrection::m_graph_dd_cone40_photon_smearing
private

◆ m_graph_dd_cone40_unconv_photon_shift

std::vector<TGraph*>* CP::IsolationCorrection::m_graph_dd_cone40_unconv_photon_shift {}
private

◆ m_graph_histoMean_2015_cone20_author_16_electron

std::vector<TGraph*> CP::IsolationCorrection::m_graph_histoMean_2015_cone20_author_16_electron
private

◆ m_graph_histoMean_2015_cone20_photon_converted_trouble

std::vector<TGraph*> CP::IsolationCorrection::m_graph_histoMean_2015_cone20_photon_converted_trouble
private

◆ m_graph_histoMean_2015_cone30_author_16_electron

std::vector<TGraph*> CP::IsolationCorrection::m_graph_histoMean_2015_cone30_author_16_electron
private

◆ m_graph_histoMean_2015_cone30_photon_converted_trouble

std::vector<TGraph*> CP::IsolationCorrection::m_graph_histoMean_2015_cone30_photon_converted_trouble
private

◆ m_graph_histoMean_2015_cone40_author_16_electron

std::vector<TGraph*> CP::IsolationCorrection::m_graph_histoMean_2015_cone40_author_16_electron
private

◆ m_graph_histoMean_2015_cone40_photon_converted_trouble

std::vector<TGraph*> CP::IsolationCorrection::m_graph_histoMean_2015_cone40_photon_converted_trouble
private

◆ m_imsg

std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr }
mutableprivateinherited

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

◆ m_is_mc

bool CP::IsolationCorrection::m_is_mc
private

◆ m_lvl

std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL }
mutableprivateinherited

Current logging level.

Definition at line 138 of file AthMessaging.h.

◆ m_mc_rel17_leakage_correction_offsets_electron_15

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_electron_15
private

◆ m_mc_rel17_leakage_correction_offsets_electron_20

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_electron_20
private

◆ m_mc_rel17_leakage_correction_offsets_electron_25

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_electron_25
private

◆ m_mc_rel17_leakage_correction_offsets_electron_30

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_electron_30
private

◆ m_mc_rel17_leakage_correction_offsets_electron_35

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_electron_35
private

◆ m_mc_rel17_leakage_correction_offsets_electron_40

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_electron_40
private

◆ m_mc_rel17_leakage_correction_offsets_photon_converted_15

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_converted_15
private

◆ m_mc_rel17_leakage_correction_offsets_photon_converted_20

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_converted_20
private

◆ m_mc_rel17_leakage_correction_offsets_photon_converted_25

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_converted_25
private

◆ m_mc_rel17_leakage_correction_offsets_photon_converted_30

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_converted_30
private

◆ m_mc_rel17_leakage_correction_offsets_photon_converted_35

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_converted_35
private

◆ m_mc_rel17_leakage_correction_offsets_photon_converted_40

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_converted_40
private

◆ m_mc_rel17_leakage_correction_offsets_photon_unconverted_15

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_unconverted_15
private

◆ m_mc_rel17_leakage_correction_offsets_photon_unconverted_20

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_unconverted_20
private

◆ m_mc_rel17_leakage_correction_offsets_photon_unconverted_25

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_unconverted_25
private

◆ m_mc_rel17_leakage_correction_offsets_photon_unconverted_30

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_unconverted_30
private

◆ m_mc_rel17_leakage_correction_offsets_photon_unconverted_35

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_unconverted_35
private

◆ m_mc_rel17_leakage_correction_offsets_photon_unconverted_40

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_unconverted_40
private

◆ m_mc_rel17_leakage_correction_slopes_electron_15

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_electron_15
private

◆ m_mc_rel17_leakage_correction_slopes_electron_20

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_electron_20
private

◆ m_mc_rel17_leakage_correction_slopes_electron_25

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_electron_25
private

◆ m_mc_rel17_leakage_correction_slopes_electron_30

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_electron_30
private

◆ m_mc_rel17_leakage_correction_slopes_electron_35

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_electron_35
private

◆ m_mc_rel17_leakage_correction_slopes_electron_40

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_electron_40
private

◆ m_mc_rel17_leakage_correction_slopes_photon_converted_15

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_converted_15
private

◆ m_mc_rel17_leakage_correction_slopes_photon_converted_20

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_converted_20
private

◆ m_mc_rel17_leakage_correction_slopes_photon_converted_25

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_converted_25
private

◆ m_mc_rel17_leakage_correction_slopes_photon_converted_30

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_converted_30
private

◆ m_mc_rel17_leakage_correction_slopes_photon_converted_35

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_converted_35
private

◆ m_mc_rel17_leakage_correction_slopes_photon_converted_40

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_converted_40
private

◆ m_mc_rel17_leakage_correction_slopes_photon_unconverted_15

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_unconverted_15
private

◆ m_mc_rel17_leakage_correction_slopes_photon_unconverted_20

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_unconverted_20
private

◆ m_mc_rel17_leakage_correction_slopes_photon_unconverted_25

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_unconverted_25
private

◆ m_mc_rel17_leakage_correction_slopes_photon_unconverted_30

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_unconverted_30
private

◆ m_mc_rel17_leakage_correction_slopes_photon_unconverted_35

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_unconverted_35
private

◆ m_mc_rel17_leakage_correction_slopes_photon_unconverted_40

std::vector<float> CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_unconverted_40
private

◆ m_msg_tls

boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls
mutableprivateinherited

MsgStream instance (a std::cout like with print-out levels)

Definition at line 132 of file AthMessaging.h.

◆ m_nBinsEtaCoarse

const unsigned int CP::IsolationCorrection::m_nBinsEtaCoarse
private

◆ m_nBinsEtaFine

const unsigned int CP::IsolationCorrection::m_nBinsEtaFine
private

◆ m_nm

std::string AthMessaging::m_nm
privateinherited

Message source name.

Definition at line 129 of file AthMessaging.h.

◆ m_previousYear

std::string CP::IsolationCorrection::m_previousYear
private

◆ m_set_mc

bool CP::IsolationCorrection::m_set_mc
private

◆ m_shower

CP::ShowerDepthUtil* CP::IsolationCorrection::m_shower
private

◆ m_tool_ver

CP::IsolationCorrection::Version CP::IsolationCorrection::m_tool_ver
private

◆ m_trouble_categories

bool CP::IsolationCorrection::m_trouble_categories
private

◆ m_useLogLogFit

bool CP::IsolationCorrection::m_useLogLogFit
private

The documentation for this class was generated from the following files:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
AthMessaging::m_lvl
std::atomic< MSG::Level > m_lvl
Current logging level.
Definition: AthMessaging.h:138
CP::IsolationCorrection::getPtAtFirstMeasurement
static float getPtAtFirstMeasurement(const xAOD::TrackParticle *tp)
Definition: IsolationCorrection.cxx:218
CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_unconverted_35
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_unconverted_35
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:316
xAOD::Iso::topoetcone
@ topoetcone
Topo-cluster ET-sum.
Definition: IsolationFlavour.h:25
CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_converted_25
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_converted_25
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:307
CP::IsolationCorrection::m_feta_bins_dd_2015
std::vector< float > m_feta_bins_dd_2015
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:67
CP::IsolationCorrection::m_function_2015_cone20_photon_converted_trouble
std::vector< TF1 * > m_function_2015_cone20_photon_converted_trouble
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:242
CP::IsolationCorrection::m_graph_histoMean_2015_cone30_photon_converted_trouble
std::vector< TGraph * > m_graph_histoMean_2015_cone30_photon_converted_trouble
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:254
CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_converted_40
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_converted_40
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:310
et
Extra patterns decribing particle interation process.
CP::IsolationCorrection::m_function_2015_cone40_photon_converted_ok
std::vector< TF1 * > m_function_2015_cone40_photon_converted_ok
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:236
ConvertOldHistosToNewHistos.converted
converted
Definition: ConvertOldHistosToNewHistos.py:40
CP::IsolationCorrection::m_graph_cone20_electron
std::vector< TGraph * > m_graph_cone20_electron
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:276
CP::IsolationCorrection::m_graph_cone30_photon_converted
std::vector< TGraph * > m_graph_cone30_photon_converted
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:271
CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_unconverted_40
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_unconverted_40
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:317
CP::IsolationCorrection::REL20_2
@ REL20_2
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:33
xAOD::Iso::topoetcone20
@ topoetcone20
Topo-cluster ET-sum.
Definition: IsolationType.h:48
xAOD::Electron
Electron_v1 Electron
Definition of the current "egamma version".
Definition: Event/xAOD/xAODEgamma/xAODEgamma/Electron.h:17
CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_electron_15
std::vector< float > m_mc_rel17_leakage_correction_slopes_electron_15
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:283
asg::AsgMessaging::msgLvl
bool msgLvl(const MSG::Level lvl) const
Test the output level of the object.
Definition: AsgMessaging.cxx:41
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_electron_30
std::vector< float > m_mc_rel17_leakage_correction_offsets_electron_30
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:293
CP::IsolationCorrection::m_graph_histoMean_2015_cone20_photon_converted_trouble
std::vector< TGraph * > m_graph_histoMean_2015_cone20_photon_converted_trouble
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:255
CP::IsolationCorrection::m_previousYear
std::string m_previousYear
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:82
CP::IsolationCorrection::GetPtCorrection_FromGraph
float GetPtCorrection_FromGraph(float energy, float etaS2, float etaPointing, float etaCluster, float radius, bool isConversion, ParticleType parttype) const
Definition: IsolationCorrection.cxx:1192
CP::IsolationCorrection::m_graph_dd_cone40_photon_shift
std::vector< TF1 * > m_graph_dd_cone40_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:224
CP::IsolationCorrection::m_graph_afIIdd_2017_cone40_unconv_photon_shift
std::vector< TGraph * > m_graph_afIIdd_2017_cone40_unconv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:189
xAOD::et
et
Definition: TrigEMCluster_v1.cxx:25
SG::Accessor
Helper class to provide type-safe access to aux data.
Definition: Control/AthContainers/AthContainers/Accessor.h:68
CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_electron_40
std::vector< float > m_mc_rel17_leakage_correction_offsets_electron_40
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:295
CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_unconverted_15
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_unconverted_15
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:312
CP::IsolationCorrection::m_function_2015_cone30_photon_converted_ok
std::vector< TF1 * > m_function_2015_cone30_photon_converted_ok
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:237
CP::IsolationCorrection::m_graph_dd_2015_cone40_conv_photon_shift
std::vector< TGraph * > m_graph_dd_2015_cone40_conv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:215
CP::IsolationCorrection::GetConversionType
static int GetConversionType(int conversion_flag, float conv_radius, float conv_ratio)
Definition: IsolationCorrection.cxx:1244
CP::IsolationCorrection::m_feta_bins_dd_2017
std::vector< float > m_feta_bins_dd_2017
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:68
CP::IsolationCorrection::m_graph_afIIdd_2015_2016_cone40_conv_photon_shift
std::vector< TGraph * > m_graph_afIIdd_2015_2016_cone40_conv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:205
CP::IsolationCorrection::FreeClear
void FreeClear(T &cntr)
Definition: IsolationCorrection.cxx:814
CP::IsolationCorrection::GetPtCorrectionFactor
float GetPtCorrectionFactor(float eta, const std::vector< float > &mc_leakage_corrections_ptr=std::vector< float >(), const std::vector< float > &data_leakage_corrections_ptr=std::vector< float >()) const
Definition: IsolationCorrection.cxx:1158
CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_electron_25
std::vector< float > m_mc_rel17_leakage_correction_slopes_electron_25
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:285
skel.it
it
Definition: skel.GENtoEVGEN.py:407
M_PI
#define M_PI
Definition: ActiveFraction.h:11
CP::IsolationCorrection::load2015Corr
void load2015Corr()
Definition: IsolationCorrection.cxx:610
CP::IsolationCorrection::set2012Corr
void set2012Corr()
Definition: IsolationCorrection.cxx:486
CP::IsolationCorrection::m_useLogLogFit
bool m_useLogLogFit
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:77
CP::IsolationCorrection::m_function_2015_cone20_photon_converted_ok
std::vector< TF1 * > m_function_2015_cone20_photon_converted_ok
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:238
ParticleTest.tp
tp
Definition: ParticleTest.py:25
CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_converted_35
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_converted_35
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:302
CP::IsolationCorrection::m_graph_cone30_electron
std::vector< TGraph * > m_graph_cone30_electron
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:275
CP::IsolationCorrection::GetPtCorrection
float GetPtCorrection(const xAOD::Egamma &, const xAOD::Iso::IsolationType) const
Definition: IsolationCorrection.cxx:88
CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_electron_40
std::vector< float > m_mc_rel17_leakage_correction_slopes_electron_40
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:288
gr
#define gr
CP::IsolationCorrection::m_graph_dd_cone20_conv_photon_shift
std::vector< TGraph * > * m_graph_dd_cone20_conv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:90
CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_unconverted_30
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_unconverted_30
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:322
CP::IsolationCorrection::m_eta_bins_coarse
std::vector< float > m_eta_bins_coarse
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:58
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
CP::IsolationCorrection::m_graph_dd_cone40_photon_smearing
std::vector< TF1 * > m_graph_dd_cone40_photon_smearing
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:225
python.AtlRunQueryAMI.year
year
Definition: AtlRunQueryAMI.py:226
CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_converted_30
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_converted_30
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:308
CP::IsolationCorrection::m_graph_afIIdd_2015_2016_cone40_unconv_photon_shift
std::vector< TGraph * > m_graph_afIIdd_2015_2016_cone40_unconv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:204
xAOD::EventInfo_v1::IS_SIMULATION
@ IS_SIMULATION
true: simulation, false: data
Definition: EventInfo_v1.h:151
CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_electron_25
std::vector< float > m_mc_rel17_leakage_correction_offsets_electron_25
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:292
AthMessaging::m_imsg
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
Definition: AthMessaging.h:135
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
CP::ShowerDepthUtil::getCaloPointingEta
std::optional< float > getCaloPointingEta(float etas1, float etas2, float phi, bool isData=true) const
Eta direction from samplings 1 and 2 (pointing)
Definition: ShowerDepthUtil.cxx:124
CP::IsolationCorrection::GetEtaBinFine
int GetEtaBinFine(float eta) const
Definition: IsolationCorrection.cxx:1123
CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_unconverted_20
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_unconverted_20
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:313
CP::IsolationCorrection::m_graph_dd_2015_2016_cone20_unconv_photon_shift
std::vector< TGraph * > m_graph_dd_2015_2016_cone20_unconv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:201
CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_converted_15
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_converted_15
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:305
CP::IsolationCorrection::m_function_2015_cone40_photon_unconverted
std::vector< TF1 * > m_function_2015_cone40_photon_unconverted
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:232
CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_unconverted_15
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_unconverted_15
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:319
CP::IsolationCorrection::m_graph_cone40_electron
std::vector< TGraph * > m_graph_cone40_electron
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:274
CP::IsolationCorrection::m_graph_cone20_photon_unconverted
std::vector< TGraph * > m_graph_cone20_photon_unconverted
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:268
CP::IsolationCorrection::m_set_mc
bool m_set_mc
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:74
tools.zlumi_mc_cf.correction
def correction(mu, runmode, campaign, run=None)
Definition: zlumi_mc_cf.py:4
CP::IsolationCorrection::m_graph_afIIdd_2015_2016_cone20_unconv_photon_shift
std::vector< TGraph * > m_graph_afIIdd_2015_2016_cone20_unconv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:206
CP::IsolationCorrection::GetRadius
static int GetRadius(float radius)
Definition: IsolationCorrection.cxx:1109
CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_electron_35
std::vector< float > m_mc_rel17_leakage_correction_offsets_electron_35
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:294
CP::IsolationCorrection::set2011Corr
void set2011Corr()
Definition: IsolationCorrection.cxx:437
Pythia8_A14_NNPDF23LO_Var1Down_Common.ver
ver
Definition: Pythia8_A14_NNPDF23LO_Var1Down_Common.py:26
CP::IsolationCorrection::ELECTRON
@ ELECTRON
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:32
CP::IsolationCorrection::m_eta_bins_fine
std::vector< float > m_eta_bins_fine
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:57
CP::IsolationCorrection::m_AFII_corr
bool m_AFII_corr
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:73
CP::IsolationCorrection::Version
Version
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:33
CP::IsolationCorrection::setDDCorr
void setDDCorr()
Definition: IsolationCorrection.cxx:764
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
CP::IsolationCorrection::m_graph_histoMean_2015_cone40_author_16_electron
std::vector< TGraph * > m_graph_histoMean_2015_cone40_author_16_electron
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:257
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
CP::IsolationCorrection::m_graph_dd_2015_cone40_unconv_photon_shift
std::vector< TGraph * > m_graph_dd_2015_cone40_unconv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:214
CheckAppliedSFs.e3
e3
Definition: CheckAppliedSFs.py:264
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
CP::IsolationCorrection::m_graph_cone40_photon_unconverted
std::vector< TGraph * > m_graph_cone40_photon_unconverted
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:266
lumiFormat.i
int i
Definition: lumiFormat.py:85
CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_unconverted_20
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_unconverted_20
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:320
CP::IsolationCorrection::loadDDCorr
void loadDDCorr()
Definition: IsolationCorrection.cxx:772
xAOD::FirstMeasurement
@ FirstMeasurement
Parameter defined at the position of the 1st measurement.
Definition: TrackingPrimitives.h:214
CP::IsolationCorrection::m_graph_cone40_photon_converted
std::vector< TGraph * > m_graph_cone40_photon_converted
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:270
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
python.LArMinBiasAlgConfig.int
int
Definition: LArMinBiasAlgConfig.py:59
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
CP::IsolationCorrection::m_graph_dd_2015_2016_cone40_conv_photon_shift
std::vector< TGraph * > m_graph_dd_2015_2016_cone40_conv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:200
CP::IsolationCorrection::m_nBinsEtaCoarse
const unsigned int m_nBinsEtaCoarse
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:61
CP::IsolationCorrection::m_graph_afIIdd_2015_2016_cone20_conv_photon_shift
std::vector< TGraph * > m_graph_afIIdd_2015_2016_cone20_conv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:207
CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_electron_15
std::vector< float > m_mc_rel17_leakage_correction_offsets_electron_15
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:290
CP::IsolationCorrection::m_function_2015_cone30_photon_unconverted
std::vector< TF1 * > m_function_2015_cone30_photon_unconverted
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:233
CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_electron_20
std::vector< float > m_mc_rel17_leakage_correction_offsets_electron_20
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:291
CP::IsolationCorrection::REL22
@ REL22
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:33
CP::IsolationCorrection::m_graph_dd_2017_cone20_unconv_photon_shift
std::vector< TGraph * > m_graph_dd_2017_cone20_unconv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:186
CP::IsolationCorrection::m_graph_dd_cone40_unconv_photon_shift
std::vector< TGraph * > * m_graph_dd_cone40_unconv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:87
xAOD::Vertex_v1::trackParticle
const TrackParticle * trackParticle(size_t i) const
Get the pointer to a given track that was used in vertex reco.
Definition: Vertex_v1.cxx:249
CP::IsolationCorrection::PHOTON
@ PHOTON
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:32
CP::IsolationCorrection::m_graph_cone30_photon_unconverted
std::vector< TGraph * > m_graph_cone30_photon_unconverted
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:267
CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_converted_40
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_converted_40
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:303
CP::IsolationCorrection::m_function_2015_cone40_author_1_electron
std::vector< TF1 * > m_function_2015_cone40_author_1_electron
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:244
CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_unconverted_40
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_unconverted_40
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:324
CP::IsolationCorrection::REL21
@ REL21
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:33
CP::IsolationCorrection::m_graph_dd_2015_cone20_conv_photon_shift
std::vector< TGraph * > m_graph_dd_2015_cone20_conv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:217
CP::IsolationCorrection::m_function_2015_cone20_author_16_electron
std::vector< TF1 * > m_function_2015_cone20_author_16_electron
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:250
CP::IsolationCorrection::m_function_2015_cone30_author_1_electron
std::vector< TF1 * > m_function_2015_cone30_author_1_electron
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:245
CP::IsolationCorrection::m_graph_dd_2017_cone20_conv_photon_shift
std::vector< TGraph * > m_graph_dd_2017_cone20_conv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:187
CP::GeV
const double GeV
Definition: EgammaCalibrationAndSmearingTool.cxx:42
CP::IsolationCorrection::m_graph_dd_2015_2016_cone40_unconv_photon_shift
std::vector< TGraph * > m_graph_dd_2015_2016_cone40_unconv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:199
CP::IsolationCorrection::m_tool_ver
CP::IsolationCorrection::Version m_tool_ver
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:55
CP::IsolationCorrection::GetEtaBinCoarse
int GetEtaBinCoarse(float eta) const
Definition: IsolationCorrection.cxx:1141
xAOD::Iso::isolationFlavour
IsolationFlavour isolationFlavour(IsolationType type)
convert Isolation Type into Isolation Flavour
Definition: IsolationHelpers.h:47
CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_electron_20
std::vector< float > m_mc_rel17_leakage_correction_slopes_electron_20
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:284
CP::IsolationCorrection::m_trouble_categories
bool m_trouble_categories
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:76
CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_converted_15
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_converted_15
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:298
CP::IsolationCorrection::m_graph_histoMean_2015_cone30_author_16_electron
std::vector< TGraph * > m_graph_histoMean_2015_cone30_author_16_electron
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:258
doL1CaloHVCorrections.eta_bin
eta_bin
Definition: doL1CaloHVCorrections.py:368
CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_electron_35
std::vector< float > m_mc_rel17_leakage_correction_slopes_electron_35
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:287
CP::IsolationCorrection::m_is_mc
bool m_is_mc
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:72
CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_electron_30
std::vector< float > m_mc_rel17_leakage_correction_slopes_electron_30
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:286
CP::ShowerDepthUtil
Definition: ShowerDepthUtil.h:17
CP::IsolationCorrection::m_graph_histoMean_2015_cone20_author_16_electron
std::vector< TGraph * > m_graph_histoMean_2015_cone20_author_16_electron
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:259
CP::IsolationCorrection::m_graph_dd_2015_cone20_unconv_photon_shift
std::vector< TGraph * > m_graph_dd_2015_cone20_unconv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:216
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
CP::IsolationCorrection::m_graph_dd_cone40_conv_photon_shift
std::vector< TGraph * > * m_graph_dd_cone40_conv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:88
asg::AsgMessaging
Class mimicking the AthMessaging class from the offline software.
Definition: AsgMessaging.h:40
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
xAOD::EgammaHelpers::conversionRadius
float conversionRadius(const xAOD::Vertex *vx)
return the conversion radius or 9999.
Definition: PhotonxAODHelpers.cxx:77
CP::IsolationCorrection::m_graph_dd_cone20_unconv_photon_shift
std::vector< TGraph * > * m_graph_dd_cone20_unconv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:89
CP::IsolationCorrection::load2012Corr
void load2012Corr()
Definition: IsolationCorrection.cxx:494
CP::IsolationCorrection::m_corrInitialized
bool m_corrInitialized[3][2]
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:83
ParticleGun_SamplingFraction.radius
radius
Definition: ParticleGun_SamplingFraction.py:96
PathResolverFindCalibFile
std::string PathResolverFindCalibFile(const std::string &logical_file_name)
Definition: PathResolver.cxx:431
CP::IsolationCorrection::m_correct_etcone
bool m_correct_etcone
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:75
CP::IsolationCorrection::m_graph_dd_2015_2016_cone20_conv_photon_shift
std::vector< TGraph * > m_graph_dd_2015_2016_cone20_conv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:202
CP::IsolationCorrection::m_graph_histoMean_2015_cone40_photon_converted_trouble
std::vector< TGraph * > m_graph_histoMean_2015_cone40_photon_converted_trouble
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:253
CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_unconverted_25
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_unconverted_25
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:321
CP::IsolationCorrection::m_feta_bins_dd
std::vector< float > * m_feta_bins_dd
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:86
CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_converted_30
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_converted_30
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:301
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
xAOD::Photon_v1
Definition: Photon_v1.h:37
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
CP::IsolationCorrection::setIsolCorr
void setIsolCorr()
Definition: IsolationCorrection.cxx:427
CP::IsolationCorrection::GetPtCorrectionValue
static float GetPtCorrectionValue(float energy, float etaPointing, float etaCluster, float scale_factor)
Definition: IsolationCorrection.cxx:1178
CP::IsolationCorrection::set2015Corr
void set2015Corr()
Definition: IsolationCorrection.cxx:602
CP::IsolationCorrection::m_corr_ddshift_file
std::string m_corr_ddshift_file
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:63
CP::IsolationCorrection::m_shower
CP::ShowerDepthUtil * m_shower
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:80
CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_unconverted_35
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_unconverted_35
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:323
CP::IsolationCorrection::m_function_2015_cone30_photon_converted_trouble
std::vector< TF1 * > m_function_2015_cone30_photon_converted_trouble
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:241
AthMessaging::m_nm
std::string m_nm
Message source name.
Definition: AthMessaging.h:129
CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_converted_35
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_converted_35
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:309
DEBUG
#define DEBUG
Definition: page_access.h:11
CaloCondBlobAlgs_fillNoiseFromASCII.author
string author
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:26
CP::IsolationCorrection::m_graph_afIIdd_2017_cone40_conv_photon_shift
std::vector< TGraph * > m_graph_afIIdd_2017_cone40_conv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:190
CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_unconverted_25
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_unconverted_25
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:314
xAOD::EgammaHelpers::conversionType
xAOD::EgammaParameters::ConversionType conversionType(const xAOD::Photon *ph)
return the photon conversion type (see EgammaEnums)
Definition: PhotonxAODHelpers.cxx:27
convertTimingResiduals.offset
offset
Definition: convertTimingResiduals.py:71
CP::IsolationCorrection::m_graph_dd_2017_cone40_conv_photon_shift
std::vector< TGraph * > m_graph_dd_2017_cone40_conv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:185
CP::IsolationCorrection::m_corr_ddsmearing_file
std::string m_corr_ddsmearing_file
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:64
CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_converted_25
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_converted_25
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:300
CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_unconverted_30
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_unconverted_30
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:315
CP::IsolationCorrection::m_corr_file
std::string m_corr_file
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:62
CP::IsolationCorrection::REL17_2
@ REL17_2
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:33
CP::IsolationCorrection::m_graph_afIIdd_2017_cone20_unconv_photon_shift
std::vector< TGraph * > m_graph_afIIdd_2017_cone20_unconv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:191
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
CP::IsolationCorrection::m_function_2015_cone20_author_1_electron
std::vector< TF1 * > m_function_2015_cone20_author_1_electron
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:246
xAOD::Iso::topoetcone40
@ topoetcone40
Definition: IsolationType.h:50
TrigVSI::AlgConsts::nEta
constexpr int nEta
Default bin number of eta for vertex map.
Definition: Trigger/TrigTools/TrigVrtSecInclusive/TrigVrtSecInclusive/Constants.h:26
CP::IsolationCorrection::m_mc_rel17_leakage_correction_offsets_photon_converted_20
std::vector< float > m_mc_rel17_leakage_correction_offsets_photon_converted_20
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:306
CP::IsolationCorrection::m_graph_cone20_photon_converted
std::vector< TGraph * > m_graph_cone20_photon_converted
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:272
ParticleType
ParticleType
Definition: TruthClasses.h:8
xAOD::iEta
setScale setgFexType iEta
Definition: gFexJetRoI_v1.cxx:77
CP::IsolationCorrection::m_function_2015_cone40_author_16_electron
std::vector< TF1 * > m_function_2015_cone40_author_16_electron
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:248
xAOD::Iso::coneSize
float coneSize(IsolationConeSize type)
convert Isolation Size into cone size
Definition: IsolationHelpers.h:27
CP::IsolationCorrection::GetPtCorrectionTopo
float GetPtCorrectionTopo(float energy, float etaS2, float etaPointing, float etaCluster, float radius, bool is_mc=true, bool isConversion=false, ParticleType parttype=ELECTRON, Version ver=REL17_2, int convFlag_int=0, int author=0, float conv_radius=0., float conv_ratio=0.) const
Definition: IsolationCorrection.cxx:1088
CP::IsolationCorrection::m_function_2015_cone30_author_16_electron
std::vector< TF1 * > m_function_2015_cone30_author_16_electron
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:249
xAOD::Photon_v1::vertex
const xAOD::Vertex * vertex(size_t index=0) const
Pointer to the xAOD::Vertex/es that match the photon candidate.
Definition: Photon_v1.cxx:46
CP::IsolationCorrection::m_function_2015_cone40_photon_converted_trouble
std::vector< TF1 * > m_function_2015_cone40_photon_converted_trouble
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:240
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7
CP::IsolationCorrection::ParticleType
ParticleType
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:32
CP::IsolationCorrection::m_crackBin
int m_crackBin
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:84
CP::IsolationCorrection::GetPtCorrection_FromGraph_2015
float GetPtCorrection_FromGraph_2015(float energy, float etaS2, float radius, int conversion_flag, int author, float conv_radius, float conv_ratio, ParticleType parttype) const
Definition: IsolationCorrection.cxx:1254
CP::IsolationCorrection::m_forcePartType
bool m_forcePartType
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:78
CP::IsolationCorrection::m_nBinsEtaFine
const unsigned int m_nBinsEtaFine
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:60
CP::IsolationCorrection::m_graph_afIIdd_2017_cone20_conv_photon_shift
std::vector< TGraph * > m_graph_afIIdd_2017_cone20_conv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:192
CP::IsolationCorrection::m_function_2015_cone20_photon_unconverted
std::vector< TF1 * > m_function_2015_cone20_photon_unconverted
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:234
xAOD::EventInfo_v1::eventType
bool eventType(EventType type) const
Check for one particular bitmask value.
CP::IsolationCorrection::SetDataMC
void SetDataMC(bool is_mc)
Definition: IsolationCorrection.cxx:390
CP::IsolationCorrection::setEtaBins
void setEtaBins()
Definition: IsolationCorrection.cxx:418
CP::IsolationCorrection::m_mc_rel17_leakage_correction_slopes_photon_converted_20
std::vector< float > m_mc_rel17_leakage_correction_slopes_photon_converted_20
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:299
python.LArMinBiasAlgConfig.float
float
Definition: LArMinBiasAlgConfig.py:65
CP::IsolationCorrection::setupDD
StatusCode setupDD(const std::string &year)
Definition: IsolationCorrection.cxx:228
CP::IsolationCorrection::m_graph_dd_2017_cone40_unconv_photon_shift
std::vector< TGraph * > m_graph_dd_2017_cone40_unconv_photon_shift
Definition: PhysicsAnalysis/ElectronPhotonID/IsolationCorrections/IsolationCorrections/IsolationCorrection.h:184