ATLAS Offline Software
RecoTypes.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 //
3 // Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
4 //
5 #ifndef RECOTYPES_H_
6 #define RECOTYPES_H_
7 
8 #include <map>
9 
10 #include "TString.h"
11 
12 
13 class Comp_Tau;
14 class Comp_TauFromAlg;
15 
16 namespace RecoTypes {
17 
18  enum DecayMode {
31  t_nTypes
32  };
33 
34 
35  inline std::map<RecoTypes::DecayMode, TString> RecoTypeLabelsShort() {
36  std::map<RecoTypes::DecayMode, TString> res;
37  res[RecoTypes::t_1p0n] = "1p0n";
38  res[RecoTypes::t_1p1n] = "1p1n";
39  res[RecoTypes::t_1pXn] = "1pXn";
40  res[RecoTypes::t_3p0n] = "3p0n";
41  res[RecoTypes::t_3pXn] = "3pXn";
42  res[RecoTypes::t_UnconsideredTrueMode] = "UnconsTrueMode";
43  res[RecoTypes::t_OtherTrueMode] = "Unkown";
44  res[RecoTypes::t_PolarizeModes] = "AllImpModes";
45  res[RecoTypes::t_Any1p] = "1p";
46  res[RecoTypes::t_Any3p] = "3p";
47  res[RecoTypes::t_Any] = "1p3p";
48  res[RecoTypes::t_AllModes] = "AllModes";
49  return res;
50  }
51 
52 
53  inline std::map<RecoTypes::DecayMode, TString> RecoTypeLabelsLatex() {
54  std::map<RecoTypes::DecayMode, TString> res;
55  res[RecoTypes::t_1p0n] = "1p0n";
56  res[RecoTypes::t_1p1n] = "1p1n";
57  res[RecoTypes::t_1pXn] = "1pXn";
58  res[RecoTypes::t_3p0n] = "3p0n";
59  res[RecoTypes::t_3pXn] = "3pXn";
60  res[RecoTypes::t_UnconsideredTrueMode] = "Unconsidered true mode";
61  res[RecoTypes::t_OtherTrueMode] = "Unkown";
62  res[RecoTypes::t_PolarizeModes] = "1p0n, 1p1n or 3p0n";
63  res[RecoTypes::t_Any1p] = "1p";
64  res[RecoTypes::t_Any3p] = "3p";
65  res[RecoTypes::t_Any] = "1p or 3p";
66  res[RecoTypes::t_AllModes] = "All Modes";
67  return res;
68  }
69 
70 
71  inline TString GetLabelShort(DecayMode recType) {
72  return RecoTypeLabelsShort()[recType];
73  }
74 
75  inline TString GetLabelLatex(DecayMode recType) {
76  return RecoTypeLabelsLatex()[recType];
77  }
78 
79  inline RecoTypes::DecayMode GetDecayModeInteger(TString shortLabel) {
80  if(shortLabel == "1p0n") return RecoTypes::t_1p0n;
81  if(shortLabel == "1p1n") return RecoTypes::t_1p1n;
82  if(shortLabel == "1pXn") return RecoTypes::t_1pXn;
83  if(shortLabel == "3p0n") return RecoTypes::t_3p0n;
84  if(shortLabel == "3pXn") return RecoTypes::t_3pXn;
85  if(shortLabel == "UnconsTrueMode") return RecoTypes::t_UnconsideredTrueMode;
86  if(shortLabel == "AllImpModes") return RecoTypes::t_PolarizeModes;
87  if(shortLabel == "Any1p") return RecoTypes::t_Any1p;
88  if(shortLabel == "Any3p") return RecoTypes::t_Any3p;
89  if(shortLabel == "AnyMode") return RecoTypes::t_Any;
90  if(shortLabel == "AllModes") return RecoTypes::t_AllModes;
92  }
93 
94  inline RecoTypes::DecayMode GetDecayMode(int nChrg, int nNeut) {
95  if(nChrg == 1 && nNeut == 0) return RecoTypes::t_1p0n;
96  if(nChrg == 1 && nNeut == 1) return RecoTypes::t_1p1n;
97  if(nChrg == 1 && nNeut >= 2) return RecoTypes::t_1pXn;
98  if(nChrg == 3 && nNeut == 0) return RecoTypes::t_3p0n;
99  if(nChrg == 3 && nNeut >= 1) return RecoTypes::t_3pXn;
100  if(nChrg >= 5) return RecoTypes::t_UnconsideredTrueMode;
102  }
103 
105  if(mode == RecoTypes::t_1p0n) return true;
106  if(mode == RecoTypes::t_1p1n) return true;
107  if(mode == RecoTypes::t_1pXn) return true;
108  if(mode == RecoTypes::t_3p0n) return true;
109  if(mode == RecoTypes::t_3pXn) return true;
110  return false;
111  }
112 
113  //in cxx file
114 // RecoTypes::DecayMode GetTrueMode(Comp_Tau* trueTau);
115 // RecoTypes::DecayMode GetRecoMode(Comp_TauFromAlg* recoTau);
116 
117 }
118 
119 #endif
120 
121 
122 
123 
124 
125 
126 
127 
128 
129 
130 
131 
132 
RecoTypes::GetLabelLatex
TString GetLabelLatex(DecayMode recType)
Definition: RecoTypes.h:75
RecoTypes::t_PolarizeModes
@ t_PolarizeModes
Definition: RecoTypes.h:26
RecoTypes::RecoTypeLabelsLatex
std::map< RecoTypes::DecayMode, TString > RecoTypeLabelsLatex()
Definition: RecoTypes.h:53
RecoTypes::GetDecayMode
RecoTypes::DecayMode GetDecayMode(int nChrg, int nNeut)
Definition: RecoTypes.h:94
RecoTypes::GetLabelShort
TString GetLabelShort(DecayMode recType)
Definition: RecoTypes.h:71
RecoTypes::t_Any3p
@ t_Any3p
Definition: RecoTypes.h:28
RecoTypes::t_1pXn
@ t_1pXn
Definition: RecoTypes.h:21
RecoTypes::GetDecayModeInteger
RecoTypes::DecayMode GetDecayModeInteger(TString shortLabel)
Definition: RecoTypes.h:79
RecoTypes::t_Any1p
@ t_Any1p
Definition: RecoTypes.h:27
RecoTypes::t_OtherTrueMode
@ t_OtherTrueMode
Definition: RecoTypes.h:25
RecoTypes::RecoTypeLabelsShort
std::map< RecoTypes::DecayMode, TString > RecoTypeLabelsShort()
Definition: RecoTypes.h:35
res
std::pair< std::vector< unsigned int >, bool > res
Definition: JetGroupProductTest.cxx:14
Preparation.mode
mode
Definition: Preparation.py:95
RecoTypes::t_1p0n
@ t_1p0n
Definition: RecoTypes.h:19
RecoTypes::t_3p0n
@ t_3p0n
Definition: RecoTypes.h:22
RecoTypes
Definition: RecoTypes.h:16
RecoTypes::DecayMode
DecayMode
Definition: RecoTypes.h:18
RecoTypes::t_1p1n
@ t_1p1n
Definition: RecoTypes.h:20
RecoTypes::t_UnconsideredTrueMode
@ t_UnconsideredTrueMode
Definition: RecoTypes.h:24
RecoTypes::t_3pXn
@ t_3pXn
Definition: RecoTypes.h:23
RecoTypes::t_Any
@ t_Any
Definition: RecoTypes.h:29
RecoTypes::t_nTypes
@ t_nTypes
Definition: RecoTypes.h:31
RecoTypes::IsValidMode
bool IsValidMode(RecoTypes::DecayMode mode)
Definition: RecoTypes.h:104
RecoTypes::t_AllModes
@ t_AllModes
Definition: RecoTypes.h:30