ATLAS Offline Software
OptionHelper.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef JETUNCERTAINTIES_OPTIONHELPER_H
6 #define JETUNCERTAINTIES_OPTIONHELPER_H
7 
9 #include <vector>
10 #include <utility>
11 #include <stdexcept>
12 #include "TString.h"
16 // TODO: enable when available
17 // #include "BoostedJetTaggers/TagResultEnum.h"
18 
19 namespace jet
20 {
21 
23 {
24  public:
25  // Constructor/destructor/initialization
26  OptionHelper(const std::string& name = "OptionHelper");
28  bool Initialize(const std::vector<TString>& options);
29 
30  //
31  // Info retrieval
32  //
33 
34  // General control
35  bool IsPublicFormat() const { checkInit(); return m_isPublic; }
36  bool IsEtaDepPileup() const { checkInit(); return m_isEtaDepPU; }
37  bool IgnorePT() const { checkInit(); return m_ignorePT; }
38  TString GetNamePrefix() const { checkInit(); return m_compNamePrefix; }
39  TString GetCalibArea() const { checkInit(); return m_calibArea; }
40  TString GetPath() const { checkInit(); return m_path; }
41  bool GetIsData() const { checkInit(); return m_isData; }
42  bool IgnoreNoMatch() const { checkInit(); return m_ignoreNoMatch; }
43 
44  // Plot control
45  bool DoATLASLabel() const { checkInit(); return m_doATLASLabel; }
46  TString GetATLASLabel() const { checkInit(); return m_ATLASLabel; }
47  TString GetBunchSpacing() const { checkInit(); return m_bunchSpacing; }
48  bool DrawTotal() const { checkInit(); return m_doTotalUnc; }
49  TString TotalUncName() const { checkInit(); return m_totalUncName; }
50  bool SpecifyTagger() const { checkInit(); return m_specifyTagger; }
51  double AxisMax() const { checkInit(); return m_axisMax < 0 ? (IsLargeR()? 0.2 : 0.1) : m_axisMax; }
52  double AxisMin() const { checkInit(); return m_axisMin; }
53  std::pair<double,double> xAxisRange() const { checkInit(); return m_xAxisRange; }
54  bool AbsValue() const { checkInit(); return m_absVal; }
55  bool LogPt() const { checkInit(); return m_logPt; }
56  TString getMassType() const { checkInit(); return m_massType; }
57  std::pair<double,double> fillShift() const { checkInit(); return m_fillShift; }
58  bool TwoColumnLegend() const { checkInit(); return m_twoColumnLegend; }
59 
60  std::vector<double> GetPtBins() const;
61  std::vector<double> GetEtaBins() const;
62  std::vector<double> GetFixedPtVals() const;
63  std::vector<double> GetFixedEtaVals() const;
64  std::vector<double> GetFixedMoverPtVals() const;
65  std::vector<double> GetFixedMassVals() const;
66 
67  // Uncertainty types
68  bool IsSmallR() const { checkInit(); return m_isSmallR; }
69  bool IsLargeR() const { checkInit(); return m_isLargeR; }
70  bool IsJER() const { checkInit(); return m_isJER; }
71  bool IsTLA() const { checkInit(); return m_isTLA; }
72 
73  // Compositions
74  bool IsSpecialComposition() const { checkInit(); return m_composition != ""; }
75  TString GetCompositionPath() const;
76  TString GetCompositionName() const;
77  int GetNjetFlavour() const { checkInit(); return m_nJetFlavour; }
78  int FixedTruthLabel() const { checkInit(); return m_truthLabel; }
80  TString TruthLabelMoment() const {checkInit(); return m_truthLabelMoment; }
81 
82 
83  // Tagging SFs
84  TString TagScaleFactorName() const { checkInit(); return m_tagSFname; }
87 
88  // Comparison helpers
89  bool CompareOnly() const { checkInit(); return m_onlyCompare; }
90  TString DoCompare() const { checkInit(); return m_doCompare; }
91  std::vector<TString> GetCompareVals() const { checkInit(); return m_compareVals; }
92 
93  // Variable control
94  std::vector<CompScaleVar::TypeEnum> GetScaleVars() const { checkInit(); return m_scaleVars; }
95  const std::vector<std::string> VariablesToShift() const { checkInit(); return m_systFilters; }
97 
98  // Layout control
99  TString GetInputsDir() const { checkInit(); return m_inputsDir; }
100 
101  // Debug/similar control
102  TString GetDumpFile() const { checkInit(); return m_dumpFile; }
103 
104  private:
105  bool m_isInit;
106 
111  TString m_calibArea;
112  TString m_path;
113  bool m_isData;
115 
117  TString m_ATLASLabel;
118  TString m_bunchSpacing;
120  TString m_totalUncName;
122  double m_axisMax;
123  double m_axisMin;
124  std::pair<double,double> m_xAxisRange;
125  bool m_absVal;
126  bool m_logPt;
127  TString m_massType;
128  std::pair<double,double> m_fillShift;
130 
131  TString m_ptBins;
132  TString m_etaBins;
133  TString m_fixedPtVals;
134  TString m_fixedEtaVals;
137 
140  bool m_isJER;
141  bool m_isTLA;
142 
143  TString m_composition;
148  bool m_isDijet; // legacy support
149 
150  TString m_tagSFname;
153 
155  TString m_doCompare;
156  std::vector<TString> m_compareVals;
157 
158  std::vector<CompScaleVar::TypeEnum> m_scaleVars;
159  std::vector<std::string> m_systFilters;
161 
162  // allowing MakeUncertaintyPlots to be run from outside
163  // of the testInputs/run/ directory
164  TString m_inputsDir;
165 
166  TString m_dumpFile;
167 
168  TString getOptionValue(const std::vector<TString>& options, const TString optionName) const;
169  template <typename T>
170  T getOptionValueWithDefault(const std::vector<TString>& options, const TString optionName, const T defaultVal);
171  std::vector<TString> getCompareVals(const std::vector<TString>& options) const;
172 
173  void checkInit() const;
174 
175  std::vector<double> getBins(const TString& toParse) const;
176 };
177 
178 OptionHelper::OptionHelper(const std::string& name)
179  : asg::AsgMessaging(name)
180  , m_isInit(false)
181 
182  , m_isPublic(false)
183  , m_isEtaDepPU(false)
184  , m_ignorePT(false)
185  , m_compNamePrefix("JET_")
186  , m_calibArea("")
187  , m_path("")
188  , m_isData(false)
189  , m_ignoreNoMatch(false)
190 
191  , m_doATLASLabel(true)
192  , m_ATLASLabel("Internal")
193  , m_bunchSpacing("")
194  , m_doTotalUnc(true)
195  , m_totalUncName("Total uncertainty")
196  , m_specifyTagger(true)
197  , m_axisMax(-1)
198  , m_axisMin(0)
199  , m_xAxisRange(0,0)
200  , m_absVal(true)
201  , m_logPt(true)
202  , m_massType("")
203  , m_fillShift(0,0)
204  , m_twoColumnLegend(false)
205 
206  , m_ptBins("")
207  , m_etaBins("")
208  , m_fixedPtVals("")
209  , m_fixedEtaVals("")
210  , m_fixedMoverPtVals("")
211  , m_fixedMassVals("")
212 
213  , m_isSmallR(true)
214  , m_isLargeR(false)
215  , m_isJER(false)
216  , m_isTLA(false)
217 
218  , m_composition("")
219  , m_nJetFlavour(-1)
220  , m_truthLabel(0)
221  , m_largeRJetTruthLabel(LargeRJetTruthLabel::UNKNOWN)
222  , m_truthLabelMoment("")
223  , m_isDijet(false)
224 
225  , m_tagSFname("")
226  , m_largeRjetTagResultName("")
227  , m_largeRjetTagAccept(0)
228 
229  , m_onlyCompare(false)
230  , m_doCompare("")
231  , m_compareVals()
232 
233  , m_scaleVars()
234  , m_systFilters()
235  , m_topology(JetTopology::UNKNOWN)
236 
237  , m_inputsDir("/eos/atlas/atlascerngroupdisk/perf-jets/JetUncertainties/Inputs/")
238 
239  , m_dumpFile("")
240 { }
241 
242 bool OptionHelper::Initialize(const std::vector<TString>& options)
243 {
244  if (m_isInit)
245  {
246  ATH_MSG_ERROR("The tool has already been initialized, blocking re-initialization");
247  return false;
248  }
249  m_isInit = true;
250 
251  // Check for the no-options case
252  if (!options.size()) return true;
253 
254  // Options exist, let's parse them
263 
266  if (m_ATLASLabel == "PUBLIC") m_ATLASLabel = "";
269  m_totalUncName = getOptionValueWithDefault(options,"totalUncName",m_totalUncName).Strip(TString::kBoth,'"');
273  TString xAxisRange = getOptionValue(options,"xAxisRange");
274  if (xAxisRange != "")
275  {
276  std::vector<double> range = jet::utils::vectorize<double>(xAxisRange,"&");
277  if (range.size() != 2)
278  ATH_MSG_WARNING("xAxisRange doesn't match expected format of \"val1&val2\". Skipping.");
279  else
280  {
281  const double lowX = range.at(0);
282  const double highX = range.at(1);
283  m_xAxisRange = std::make_pair(lowX,highX);
284  }
285  }
289  TString fillShift = getOptionValue(options,"FillLabelShift");
290  if (fillShift != "")
291  {
292  std::vector<double> shift = jet::utils::vectorize<double>(fillShift,"&");
293  if (shift.size() != 2)
294  ATH_MSG_WARNING("FillLabelShift doesn't match expected format of \"val1&val2\". Skipping.");
295  else
296  {
297  const double lowShift = shift.at(0);
298  const double highShift = shift.at(1);
299  m_fillShift = std::make_pair(lowShift,highShift);
300  }
301  }
303 
310 
314  m_isSmallR = !(m_isLargeR || m_isJER);
315 
319  TString largeRJetTruthLabelStr = getOptionValue(options,"LargeRJetTruthLabel");
320  if (largeRJetTruthLabelStr != "")
321  {
324  {
325  ATH_MSG_WARNING("LargeRJetTruthLabel is UNKNOWN value, skipping usage: " << largeRJetTruthLabelStr.Data());
326  }
327  }
330  if (m_isDijet)
331  {
332  if (m_composition == "")
333  m_composition = "Dijet";
334  else
335  {
336  ATH_MSG_ERROR("The composition was double-specified, please check that you don't specify both \"Composition\" and \"isDijet\"");
337  throw std::runtime_error("Double composition failure");
338  }
339  }
340 
343  if (m_largeRjetTagResultName != "")
344  {
346  // TODO: enable when available
347  // if (TagResult::intToEnum(m_largeRjetTagAccept) == TagResult::UNKNOWN)
348  // {
349  // ATH_MSG_ERROR("The specified tag result doesn't match any expected value");
350  // throw std::runtime_error("Bad tag result value");
351  // }
352  }
353 
357 
359 
361 
362  const TString localScaleVar = getOptionValue(options,"scaleVar");
363  if (localScaleVar == "")
364  {
366  else if (m_isLargeR) m_scaleVars.push_back(CompScaleVar::Pt);
367  }
368  else
369  {
370  std::vector<TString> localScaleVarVec = jet::utils::vectorize<TString>(localScaleVar,"&");
371  for (size_t iVar = 0; iVar < localScaleVarVec.size(); ++iVar)
372  m_scaleVars.push_back(CompScaleVar::stringToEnum(localScaleVarVec.at(iVar)));
373  }
374  const TString jetTopology = getOptionValue(options,"topology");
375  if (jetTopology != "")
376  {
377  m_topology = JetTopology::stringToEnum(jetTopology);
379  {
380  ATH_MSG_ERROR("The topology specified is invalid: " << jetTopology.Data());
381  throw std::runtime_error("Topology failure");
382  }
383  }
384 
385  const TString systFilterString = getOptionValue(options,"VariablesToShift");
386  if (systFilterString != "")
387  m_systFilters = jet::utils::vectorize<std::string>(systFilterString,",");
388 
389  return true;
390 }
391 
392 
393 TString OptionHelper::getOptionValue(const std::vector<TString>& options, const TString optionName) const
394 {
395  for (size_t iOpt = 0; iOpt < options.size(); ++iOpt)
396  {
397  std::vector<TString> option = jet::utils::vectorize<TString>(options.at(iOpt),"=");
398  if (option.size() != 2)
399  {
400  printf("Bad option, check formatting: %s\n",options.at(iOpt).Data());
401  exit(-1);
402  }
403  if (!option.at(0).CompareTo(optionName,TString::kIgnoreCase))
404  return option.at(1);
405  }
406  return "";
407 }
408 
409 template <typename T>
410 T OptionHelper::getOptionValueWithDefault(const std::vector<TString>& options, const TString optionName, const T defaultVal)
411 {
412  const TString optionVal = getOptionValue(options,optionName);
413  if (optionVal == "")
414  return defaultVal;
415  return jet::utils::getTypeObjFromString<T>(optionVal);
416 }
417 
418 std::vector<TString> OptionHelper::getCompareVals(const std::vector<TString>& options) const
419 {
420  std::vector<TString> returnVal;
421  for (int i=1; i> 0; i++) {
422  TString optname = TString::Format("compareConfig%i",i);
423  const TString thisname = getOptionValue(options,optname);
424  if (thisname != "") returnVal.push_back(thisname);
425  else break;
426  }
427  return returnVal;
428 }
429 
430 
432 {
433  if (!m_isInit)
434  {
435  ATH_MSG_FATAL("Asked for a value before initializing the tool");
436  throw std::runtime_error("Initialization failure");
437  }
438 }
439 
440 
441 
442 
443 
444 std::vector<double> OptionHelper::getBins(const TString& toParse) const
445 {
446  // Ensure this is in the expected format
447  // type&numBins&minVal&maxVal
448  // type is either "U" for uniform or "L" for logarithmic
449  std::vector<TString> tokens = jet::utils::vectorize<TString>(toParse,"&");
450 
451  // Check the number of tokens
452  if (tokens.size() != 4)
453  {
454  ATH_MSG_FATAL("Unexpected format for bins: " << toParse.Data());
455  throw std::runtime_error("Parse failure");
456  }
457 
458  // Check the type
459  const bool isUniform = (tokens.at(0) == "U") || (tokens.at(0) == "u");
460  const bool isLog = (tokens.at(0) == "L") || (tokens.at(0) == "l");
461  if (!isUniform && !isLog)
462  {
463  ATH_MSG_FATAL("Unexpected binning type (token 0), only U/u and L/l are currently supported: " << toParse.Data());
464  throw std::runtime_error("Parse failure");
465  }
466 
467  // Check the number of bins
468  unsigned numBins = 0;
469  if (!jet::utils::getTypeObjFromString(tokens.at(1),numBins))
470  {
471  ATH_MSG_FATAL("Number of bins (token 1) was not an unsigned int: " << toParse.Data());
472  throw std::runtime_error("Parse failure");
473  }
474 
475  // Check the min and max
476  double minVal = 0, maxVal = 0;
477  if (!jet::utils::getTypeObjFromString(tokens.at(2),minVal))
478  {
479  ATH_MSG_FATAL("Number of bins (token 2) was not a double: " << toParse.Data());
480  throw std::runtime_error("Parse failure");
481  }
482  if (!jet::utils::getTypeObjFromString(tokens.at(3),maxVal))
483  {
484  ATH_MSG_FATAL("Number of bins (token 3) was not a double: " << toParse.Data());
485  throw std::runtime_error("Parse failure");
486  }
487  if (maxVal < minVal)
488  {
489  ATH_MSG_FATAL("The maximum value is smaller than the minimum: " << toParse.Data());
490  throw std::runtime_error("Parse failure");
491  }
492 
493  // Done checking, finally return the bins
494  if (isUniform)
495  return jet::utils::getUniformBins(numBins,minVal,maxVal);
496  return jet::utils::getLogBins(numBins,minVal,maxVal);
497 }
498 
499 
500 
501 std::vector<double> OptionHelper::GetPtBins() const
502 {
503  checkInit();
504  std::vector<double> bins;
505 
506  // Check if the user has provided something
507  if (m_ptBins == "")
508  {
509  if (IsLargeR())
510  bins = jet::utils::getLogBins(2000,200,3000);
511  else
512  bins = jet::utils::getLogBins(2000,15,3000);
513  }
514  else
515  bins = getBins(m_ptBins);
516 
517  return bins;
518 }
519 
520 std::vector<double> OptionHelper::GetEtaBins() const
521 {
522  checkInit();
523  std::vector<double> bins;
524 
525  // Check if the user has provided something
526  if (m_etaBins == "")
527  bins = jet::utils::getUniformBins(1800,-4.5,4.5);
528  else
530 
531  return bins;
532 }
533 
534 std::vector<double> OptionHelper::GetFixedPtVals() const
535 {
536  checkInit();
537  std::vector<double> bins;
538 
539  if (m_fixedPtVals != "")
540  {
541  if (m_fixedPtVals != "NONE")
542  bins = jet::utils::vectorize<double>(m_fixedPtVals,",");
543  }
544  else
545  bins = jet::utils::vectorize<double>("25,40,60,80,120",",");
546 
547  return bins;
548 }
549 
550 std::vector<double> OptionHelper::GetFixedEtaVals() const
551 {
552  checkInit();
553  std::vector<double> bins;
554 
555  if (m_fixedEtaVals != "")
556  {
557  if (m_fixedEtaVals != "NONE")
558  bins = jet::utils::vectorize<double>(m_fixedEtaVals,",");
559  }
560  else if (IsLargeR())
561  bins = jet::utils::vectorize<double>("0",",");
562  else if (IsJER())
563  bins = jet::utils::vectorize<double>("0,0.8,1.2,2.1,2.8,3.2,3.6",",");
564  else
565  bins = jet::utils::vectorize<double>("0,0.5,1,2,2.5,3,4",",");
566 
567  return bins;
568 }
569 
570 std::vector<double> OptionHelper::GetFixedMoverPtVals() const
571 {
572  checkInit();
573  std::vector<double> bins;
574 
575  if (m_fixedMoverPtVals != "")
576  {
577  if (m_fixedMoverPtVals != "NONE")
578  bins = jet::utils::vectorize<double>(m_fixedMoverPtVals,",");
579  }
580  else if (!IsLargeR())
581  bins = jet::utils::vectorize<double>("0",",");
582  else if (IsPublicFormat())
583  bins = jet::utils::vectorize<double>("0.101",",");
584  else
585  bins = jet::utils::vectorize<double>("0.001,0.05,0.101,0.15,0.201,0.25,0.301,0.35,0.401,0.45,0.501,0.55,0.601,0.65,0.701,0.75,0.801,0.85,0.901,0.95,1.001",",");
586 
587  return bins;
588 }
589 
590 std::vector<double> OptionHelper::GetFixedMassVals() const
591 {
592  checkInit();
593  std::vector<double> bins;
594 
595  if (m_fixedMassVals != "" && m_fixedMassVals != "NONE")
596  bins = jet::utils::vectorize<double>(m_fixedMassVals,",");
597 
598  return bins;
599 }
600 
602 {
603  checkInit();
604 
605  // Trivial case (unknown composition)
606  if (m_composition == "")
607  return "";
608  // Path-based case (user specified file path, return it)
609  if (m_composition.Contains(".root"))
610  return m_composition;
611  // Name-based case (user specified name, return expected path)
612  else
613  {
614  if (!m_composition.CompareTo("Unknown",TString::kIgnoreCase))
615  return "";
616  if (!m_composition.CompareTo("Dijet",TString::kIgnoreCase))
617  return GetInputsDir()+"/DijetFlavourComp_13TeV.root";
618  if (!m_composition.CompareTo("Gino",TString::kIgnoreCase))
619  return GetInputsDir()+"/GinoComposition.root";
620  }
621 
622  ATH_MSG_FATAL("Unable to interpret special composition path: " << m_composition);
623  throw std::runtime_error("Composition path failure");
624  return "";
625 }
626 
628 {
629  checkInit();
630 
631  // Trivial case (unknown composition)
632  if (m_composition == "")
633  return "unknown composition";
634  // Path-based case (user specified the file path, return "custom" as name)
635  if (m_composition.Contains(".root"))
636  {
637  return "custom composition";
638  }
639  // Name-based case (user specified name, interpret or return it)
640  if (!m_composition.Contains(".root"))
641  {
642  if (!m_composition.CompareTo("Unknown",TString::kIgnoreCase))
643  return "unknown composition";
644  if (!m_composition.CompareTo("Dijet",TString::kIgnoreCase))
645  return "inclusive jets";
646  if (!m_composition.CompareTo("Gino",TString::kIgnoreCase))
647  return "Gino's composition";
648  return m_composition + " composition";
649  }
650 
651  ATH_MSG_FATAL("Unable to interpret special composition name: " << m_composition);
652  throw std::runtime_error("Composition name failure");
653  return "";
654 }
655 
656 
657 } // end jet namespace
658 
659 #endif
660 
jet::OptionHelper::AxisMin
double AxisMin() const
Definition: OptionHelper.h:52
LargeRJetTruthLabel::TypeEnum
TypeEnum
Definition: LargeRJetLabelEnum.h:14
jet::OptionHelper::m_systFilters
std::vector< std::string > m_systFilters
Definition: OptionHelper.h:159
jet::OptionHelper::m_fixedPtVals
TString m_fixedPtVals
Definition: OptionHelper.h:133
jet::JetTopology::UNKNOWN
@ UNKNOWN
Definition: UncertaintyEnum.h:209
jet::OptionHelper::getCompareVals
std::vector< TString > getCompareVals(const std::vector< TString > &options) const
Definition: OptionHelper.h:418
jet::OptionHelper::GetTopology
JetTopology::TypeEnum GetTopology() const
Definition: OptionHelper.h:96
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
jet::OptionHelper::IsSpecialComposition
bool IsSpecialComposition() const
Definition: OptionHelper.h:74
jet::OptionHelper::m_dumpFile
TString m_dumpFile
Definition: OptionHelper.h:166
jet::OptionHelper::m_largeRjetTagAccept
int m_largeRjetTagAccept
Definition: OptionHelper.h:152
jet::OptionHelper::GetCompareVals
std::vector< TString > GetCompareVals() const
Definition: OptionHelper.h:91
jet::utils::getUniformBins
std::vector< double > getUniformBins(const size_t numBins, const double minVal, const double maxVal)
Definition: Reconstruction/Jet/JetUncertainties/Root/Helpers.cxx:164
jet::OptionHelper::m_isInit
bool m_isInit
Definition: OptionHelper.h:105
jet::OptionHelper::m_largeRJetTruthLabel
LargeRJetTruthLabel::TypeEnum m_largeRJetTruthLabel
Definition: OptionHelper.h:146
jet::OptionHelper::m_largeRjetTagResultName
TString m_largeRjetTagResultName
Definition: OptionHelper.h:151
LargeRJetTruthLabel::UNKNOWN
@ UNKNOWN
Definition: LargeRJetLabelEnum.h:15
python.App.bins
bins
Definition: App.py:410
jet::OptionHelper::GetFixedPtVals
std::vector< double > GetFixedPtVals() const
Definition: OptionHelper.h:534
LargeRJetLabelEnum.h
jet::OptionHelper::m_composition
TString m_composition
Definition: OptionHelper.h:143
jet::OptionHelper::TwoColumnLegend
bool TwoColumnLegend() const
Definition: OptionHelper.h:58
StateLessPT_NewConfig.Format
Format
Definition: StateLessPT_NewConfig.py:146
jet::OptionHelper::m_isPublic
bool m_isPublic
Definition: OptionHelper.h:107
jet::utils::getLogBins
std::vector< double > getLogBins(const size_t numBins, const double minVal, const double maxVal)
Definition: Reconstruction/Jet/JetUncertainties/Root/Helpers.cxx:152
LargeRJetTruthLabel::stringToEnum
TypeEnum stringToEnum(const TString &name)
Definition: LargeRJetLabelEnum.h:81
jet::OptionHelper::GetEtaBins
std::vector< double > GetEtaBins() const
Definition: OptionHelper.h:520
asg
Definition: DataHandleTestTool.h:28
jet::OptionHelper::m_twoColumnLegend
bool m_twoColumnLegend
Definition: OptionHelper.h:129
jet::OptionHelper::GetFixedMoverPtVals
std::vector< double > GetFixedMoverPtVals() const
Definition: OptionHelper.h:570
jet::OptionHelper::IsSmallR
bool IsSmallR() const
Definition: OptionHelper.h:68
LargeRJetTruthLabel
Definition: LargeRJetLabelEnum.h:12
jet::OptionHelper::m_tagSFname
TString m_tagSFname
Definition: OptionHelper.h:150
jet::OptionHelper::GetFixedEtaVals
std::vector< double > GetFixedEtaVals() const
Definition: OptionHelper.h:550
jet::OptionHelper::GetCompositionPath
TString GetCompositionPath() const
Definition: OptionHelper.h:601
jet::OptionHelper::FixedTruthLabel
int FixedTruthLabel() const
Definition: OptionHelper.h:78
beamspotman.tokens
tokens
Definition: beamspotman.py:1284
jet::OptionHelper::getOptionValueWithDefault
T getOptionValueWithDefault(const std::vector< TString > &options, const TString optionName, const T defaultVal)
Definition: OptionHelper.h:410
jet::OptionHelper::m_ATLASLabel
TString m_ATLASLabel
Definition: OptionHelper.h:117
jet::CompScaleVar::FourVec
@ FourVec
Definition: UncertaintyEnum.h:96
jet::OptionHelper::TruthLabelMoment
TString TruthLabelMoment() const
Definition: OptionHelper.h:80
jet::OptionHelper::m_ptBins
TString m_ptBins
Definition: OptionHelper.h:131
jet::OptionHelper::GetScaleVars
std::vector< CompScaleVar::TypeEnum > GetScaleVars() const
Definition: OptionHelper.h:94
jet::OptionHelper::GetFixedMassVals
std::vector< double > GetFixedMassVals() const
Definition: OptionHelper.h:590
jet::OptionHelper::m_path
TString m_path
Definition: OptionHelper.h:112
jet::OptionHelper::m_fixedEtaVals
TString m_fixedEtaVals
Definition: OptionHelper.h:134
jet::OptionHelper::GetNjetFlavour
int GetNjetFlavour() const
Definition: OptionHelper.h:77
Helpers.h
jet::CompScaleVar::stringToEnum
TypeEnum stringToEnum(const TString &type)
Definition: UncertaintyEnum.cxx:278
UncertaintyEnum.h
jet::OptionHelper::IsEtaDepPileup
bool IsEtaDepPileup() const
Definition: OptionHelper.h:36
jet::OptionHelper::m_inputsDir
TString m_inputsDir
Definition: OptionHelper.h:164
jet::OptionHelper::TagScaleFactorName
TString TagScaleFactorName() const
Definition: OptionHelper.h:84
jet::OptionHelper::TotalUncName
TString TotalUncName() const
Definition: OptionHelper.h:49
jet::OptionHelper::DoATLASLabel
bool DoATLASLabel() const
Definition: OptionHelper.h:45
AsgMessaging.h
jet::OptionHelper::m_fixedMoverPtVals
TString m_fixedMoverPtVals
Definition: OptionHelper.h:135
jet::OptionHelper::xAxisRange
std::pair< double, double > xAxisRange() const
Definition: OptionHelper.h:53
jet::OptionHelper::m_doCompare
TString m_doCompare
Definition: OptionHelper.h:155
jet::OptionHelper::m_doATLASLabel
bool m_doATLASLabel
Definition: OptionHelper.h:116
jet::OptionHelper::fillShift
std::pair< double, double > fillShift() const
Definition: OptionHelper.h:57
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
jet::OptionHelper::m_axisMax
double m_axisMax
Definition: OptionHelper.h:122
jet::OptionHelper::getBins
std::vector< double > getBins(const TString &toParse) const
Definition: OptionHelper.h:444
jet::OptionHelper::OptionHelper
OptionHelper(const std::string &name="OptionHelper")
Definition: OptionHelper.h:178
lumiFormat.i
int i
Definition: lumiFormat.py:92
jet::OptionHelper::CompareOnly
bool CompareOnly() const
Definition: OptionHelper.h:89
jet::OptionHelper::m_truthLabelMoment
TString m_truthLabelMoment
Definition: OptionHelper.h:147
jet::CompScaleVar::Pt
@ Pt
Definition: UncertaintyEnum.h:97
jet::OptionHelper::m_isTLA
bool m_isTLA
Definition: OptionHelper.h:141
jet::OptionHelper::m_xAxisRange
std::pair< double, double > m_xAxisRange
Definition: OptionHelper.h:124
jet::OptionHelper::m_doTotalUnc
bool m_doTotalUnc
Definition: OptionHelper.h:119
m_path
std::string m_path
the path being used
Definition: OutputStreamData.cxx:88
jet::OptionHelper::GetATLASLabel
TString GetATLASLabel() const
Definition: OptionHelper.h:46
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
jet::OptionHelper::GetDumpFile
TString GetDumpFile() const
Definition: OptionHelper.h:102
jet::OptionHelper::DoCompare
TString DoCompare() const
Definition: OptionHelper.h:90
jet::OptionHelper::Initialize
bool Initialize(const std::vector< TString > &options)
Definition: OptionHelper.h:242
jet::OptionHelper::GetBunchSpacing
TString GetBunchSpacing() const
Definition: OptionHelper.h:47
python.AtlRunQueryLib.options
options
Definition: AtlRunQueryLib.py:379
jet::OptionHelper::m_isDijet
bool m_isDijet
Definition: OptionHelper.h:148
jet::OptionHelper::GetIsData
bool GetIsData() const
Definition: OptionHelper.h:41
jet::OptionHelper::m_isLargeR
bool m_isLargeR
Definition: OptionHelper.h:139
jet::OptionHelper::GetPath
TString GetPath() const
Definition: OptionHelper.h:40
calibdata.exit
exit
Definition: calibdata.py:236
jet::OptionHelper::IsPublicFormat
bool IsPublicFormat() const
Definition: OptionHelper.h:35
jet::OptionHelper::m_isJER
bool m_isJER
Definition: OptionHelper.h:140
jet::OptionHelper::FixedLargeRJetTagAccept
int FixedLargeRJetTagAccept() const
Definition: OptionHelper.h:86
jet::OptionHelper::IgnoreNoMatch
bool IgnoreNoMatch() const
Definition: OptionHelper.h:42
jet::OptionHelper::m_compareVals
std::vector< TString > m_compareVals
Definition: OptionHelper.h:156
jet::OptionHelper::GetInputsDir
TString GetInputsDir() const
Definition: OptionHelper.h:99
jet::OptionHelper::getOptionValue
TString getOptionValue(const std::vector< TString > &options, const TString optionName) const
Definition: OptionHelper.h:393
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
asg::AsgMessaging
Class mimicking the AthMessaging class from the offline software.
Definition: AsgMessaging.h:40
jet::OptionHelper::m_totalUncName
TString m_totalUncName
Definition: OptionHelper.h:120
jet::OptionHelper::m_nJetFlavour
int m_nJetFlavour
Definition: OptionHelper.h:144
jet::OptionHelper::m_onlyCompare
bool m_onlyCompare
Definition: OptionHelper.h:154
jet::OptionHelper::VariablesToShift
const std::vector< std::string > VariablesToShift() const
Definition: OptionHelper.h:95
jet::OptionHelper::m_compNamePrefix
TString m_compNamePrefix
Definition: OptionHelper.h:110
jet::OptionHelper
Definition: OptionHelper.h:23
jet::OptionHelper::m_truthLabel
int m_truthLabel
Definition: OptionHelper.h:145
jet::OptionHelper::m_fixedMassVals
TString m_fixedMassVals
Definition: OptionHelper.h:136
jet::OptionHelper::m_isEtaDepPU
bool m_isEtaDepPU
Definition: OptionHelper.h:108
jet::OptionHelper::m_calibArea
TString m_calibArea
Definition: OptionHelper.h:111
jet::OptionHelper::SpecifyTagger
bool SpecifyTagger() const
Definition: OptionHelper.h:50
jet::OptionHelper::checkInit
void checkInit() const
Definition: OptionHelper.h:431
jet::OptionHelper::IgnorePT
bool IgnorePT() const
Definition: OptionHelper.h:37
jet::OptionHelper::m_axisMin
double m_axisMin
Definition: OptionHelper.h:123
jet::OptionHelper::m_etaBins
TString m_etaBins
Definition: OptionHelper.h:132
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
jet::OptionHelper::m_isData
bool m_isData
Definition: OptionHelper.h:113
jet::OptionHelper::FixedLargeRJetTagResultName
TString FixedLargeRJetTagResultName() const
Definition: OptionHelper.h:85
jet::OptionHelper::IsLargeR
bool IsLargeR() const
Definition: OptionHelper.h:69
jet::OptionHelper::IsTLA
bool IsTLA() const
Definition: OptionHelper.h:71
jet::JetTopology::stringToEnum
TypeEnum stringToEnum(const TString &type)
Definition: UncertaintyEnum.cxx:622
jet::OptionHelper::m_scaleVars
std::vector< CompScaleVar::TypeEnum > m_scaleVars
Definition: OptionHelper.h:158
jet::utils::getTypeObjFromString
bool getTypeObjFromString(const std::string &str, T &obj)
Definition: Reconstruction/Jet/JetUncertainties/JetUncertainties/Helpers.h:116
jet::OptionHelper::m_ignoreNoMatch
bool m_ignoreNoMatch
Definition: OptionHelper.h:114
jet::OptionHelper::LogPt
bool LogPt() const
Definition: OptionHelper.h:55
jet::OptionHelper::m_topology
JetTopology::TypeEnum m_topology
Definition: OptionHelper.h:160
jet::OptionHelper::FixedLargeRJetTruthLabel
LargeRJetTruthLabel::TypeEnum FixedLargeRJetTruthLabel() const
Definition: OptionHelper.h:79
jet::OptionHelper::DrawTotal
bool DrawTotal() const
Definition: OptionHelper.h:48
jet::OptionHelper::m_absVal
bool m_absVal
Definition: OptionHelper.h:125
jet::JetTopology::TypeEnum
TypeEnum
Definition: UncertaintyEnum.h:208
jet::OptionHelper::IsJER
bool IsJER() const
Definition: OptionHelper.h:70
jet::OptionHelper::GetPtBins
std::vector< double > GetPtBins() const
Definition: OptionHelper.h:501
jet::OptionHelper::GetNamePrefix
TString GetNamePrefix() const
Definition: OptionHelper.h:38
jet::OptionHelper::m_logPt
bool m_logPt
Definition: OptionHelper.h:126
jet::OptionHelper::m_bunchSpacing
TString m_bunchSpacing
Definition: OptionHelper.h:118
jet::OptionHelper::getMassType
TString getMassType() const
Definition: OptionHelper.h:56
jet::OptionHelper::m_specifyTagger
bool m_specifyTagger
Definition: OptionHelper.h:121
jet::OptionHelper::GetCompositionName
TString GetCompositionName() const
Definition: OptionHelper.h:627
jet::OptionHelper::m_ignorePT
bool m_ignorePT
Definition: OptionHelper.h:109
jet::OptionHelper::m_fillShift
std::pair< double, double > m_fillShift
Definition: OptionHelper.h:128
jet::OptionHelper::AxisMax
double AxisMax() const
Definition: OptionHelper.h:51
jet::OptionHelper::m_isSmallR
bool m_isSmallR
Definition: OptionHelper.h:138
jet::OptionHelper::AbsValue
bool AbsValue() const
Definition: OptionHelper.h:54
jet::OptionHelper::GetCalibArea
TString GetCalibArea() const
Definition: OptionHelper.h:39
jet::OptionHelper::m_massType
TString m_massType
Definition: OptionHelper.h:127
jet::OptionHelper::~OptionHelper
~OptionHelper()
Definition: OptionHelper.h:27