CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes
JetHtPlotConfiguration Class Reference

#include <JetHtPlotConfiguration.h>

Public Types

enum  enumHistogramType {
  kDz, kDzError, kDxy, kDxyError,
  knHistogramTypes
}
 
enum  enumProfileType {
  kDzErrorVsPt, kDzErrorVsPhi, kDzErrorVsEta, kDxyErrorVsPt,
  kDxyErrorVsPhi, kDxyErrorVsEta, kDzErrorVsPtWide, kDxyErrorVsPtWide,
  knProfileTypes
}
 
enum  enumTrendType { kDzErrorTrend, kDxyErrorTrend, knTrendTypes }
 

Public Member Functions

bool copyErrorColor (const int iFile) const
 
bool drawCentralEtaSummaryProfile () const
 
bool drawHistogram (const int iHistogram) const
 
bool drawPlotsForEachIOV () const
 
bool drawProfile (const int iProfile) const
 
bool drawReferenceProfile () const
 
bool drawTrackQA () const
 
bool drawTrend (const int iTrend) const
 
bool drawTrendTag () const
 
bool drawYearLines () const
 
std::string inputFile (const int iFile) const
 
std::vector< std::string > inputFiles () const
 
const char * iovListForSlides () const
 
const char * iovListMode () const
 
 JetHtPlotConfiguration ()
 
 JetHtPlotConfiguration (const JetHtPlotConfiguration &in)
 
std::string legendComment (const int iComment) const
 
std::string legendTextForAllRuns () const
 
const char * lumiPerIovFile () const
 
bool makeIovListForSlides () const
 
int markerColor (const int iFile) const
 
int markerSize (const int iFile) const
 
int markerStyle (const int iFile) const
 
int nInputFiles () const
 
int nIovInOnePlot () const
 
bool normalizeQAplots () const
 
JetHtPlotConfigurationoperator= (const JetHtPlotConfiguration &obj)
 
void printConfiguration () const
 
double profileLegendShiftColumnX (const int iColumn) const
 
double profileLegendShiftColumnY (const int iColumn) const
 
double profileLegendShiftTotalX () const
 
double profileLegendShiftTotalY () const
 
int profileLegendTextFont () const
 
double profileLegendTextSize () const
 
double profileZoomHigh (const int iProfile) const
 
double profileZoomLow (const int iProfile) const
 
void readJsonFile (const std::string fileName)
 
std::vector< int > runsForLines () const
 
const char * saveComment () const
 
bool skipRunsWithNoData () const
 
int trendCanvasHeight () const
 
int trendCanvasWidth () const
 
double trendLabelOffsetX () const
 
double trendLabelOffsetY () const
 
double trendLabelSizeX () const
 
double trendLabelSizeY () const
 
double trendLegendShiftTotalX () const
 
double trendLegendShiftTotalY () const
 
int trendLegendTextFont () const
 
double trendLegendTextSize () const
 
double trendMarginBottom () const
 
double trendMarginLeft () const
 
double trendMarginRight () const
 
double trendMarginTop () const
 
std::vector< double > trendTagPositionX () const
 
std::vector< double > trendTagPositionY () const
 
std::vector< std::string > trendTagText () const
 
int trendTagTextFont () const
 
double trendTagTextSize () const
 
double trendTitleOffsetX () const
 
double trendTitleOffsetY () const
 
double trendTitleSizeX () const
 
double trendTitleSizeY () const
 
double trendZoomHigh (const int iTrend) const
 
double trendZoomLow (const int iTrend) const
 
bool useLuminosityForTrends () const
 
std::vector< double > widePtBinBorders () const
 
int yearLineColor () const
 
int yearLineStyle () const
 
int yearLineWidth () const
 
virtual ~JetHtPlotConfiguration ()
 

Static Public Attributes

static const int kMaxLegendColumns = 3
 

Private Member Functions

void autoExpandEnvironmentVariables (std::string &text) const
 
std::string expandEnvironmentVariables (const std::string &input) const
 

Private Attributes

std::vector< bool > fCopyErrorColor
 
int fDebugLevel
 
int fDefaultColors [11]
 
int fDefaultMarkerSize = 1
 
int fDefaultStyle = 20
 
bool fDrawCentralEtaSummaryProfile
 
bool fDrawHistogram [knHistogramTypes]
 
bool fDrawPlotsForEachIOV
 
bool fDrawProfile [knProfileTypes]
 
bool fDrawReferenceProfile
 
bool fDrawTrackQA
 
bool fDrawTrend [knTrendTypes]
 
bool fDrawTrendTag
 
bool fDrawYearLines
 
std::vector< std::string > fInputFileNames
 
std::string fIovListForSlides
 
std::string fIovListMode
 
std::string fJsonCategoryNameHistogram = "drawHistograms"
 
std::string fJsonCategoryNameProfile = "drawProfiles"
 
std::string fJsonCategoryNameProfileZoom = "profileZoom"
 
std::string fJsonCategoryNameTrend = "drawTrends"
 
std::string fJsonCategoryNameTrendZoom = "trendZoom"
 
std::string fJsonDrawPlotsForEachIOV = "drawPlotsForEachIOV"
 
std::string fJsonDrawYearLines = "drawYearLines"
 
std::string fJsonInputFileName = "inputFiles"
 
std::string fJsonIovListForSlides = "iovListForSlides"
 
std::string fJsonIovListMode = "lumiFileMode"
 
std::string fJsonLegendComment = "legendText"
 
std::string fJsonLumiPerIovFile = "lumiPerIovFile"
 
std::string fJsonMakeIovListForSlides = "makeIovlistForSlides"
 
std::string fJsonNameCanvasHeight = "canvasHeight"
 
std::string fJsonNameCanvasWidth = "canvasWidth"
 
std::string fJsonNameCentralEtaSummaryProfile = "drawCentralEtaSummaryProfile"
 
std::string fJsonNameDrawTag = "drawTags"
 
std::string fJsonNameHistogram [knHistogramTypes] = {"drawDz", "drawDzError", "drawDxy", "drawDxyError"}
 
std::string fJsonNameLabelOffsetX = "labelOffsetX"
 
std::string fJsonNameLabelOffsetY = "labelOffsetY"
 
std::string fJsonNameLabelSizeX = "labelSizeX"
 
std::string fJsonNameLabelSizeY = "labelSizeY"
 
std::string fJsonNameLegendShiftColumnX = "legendShiftX"
 
std::string fJsonNameLegendShiftColumnY = "legendShiftY"
 
std::string fJsonNameLegendShiftTotalX = "legendShiftTotalX"
 
std::string fJsonNameLegendShiftTotalY = "legendShiftTotalY"
 
std::string fJsonNameLegendTextFont = "legendTextFont"
 
std::string fJsonNameLegendTextForAllRuns = "legendTextForAllRuns"
 
std::string fJsonNameLegendTextSize = "legendTextSize"
 
std::string fJsonNameMarginBottom = "marginBottom"
 
std::string fJsonNameMarginLeft = "marginLeft"
 
std::string fJsonNameMarginRight = "marginRight"
 
std::string fJsonNameMarginTop = "marginTop"
 
std::string fJsonNameProfile [knProfileTypes]
 
std::string fJsonNameProfileZoom [knProfileTypes]
 
std::string fJsonNameReferenceProfile = "drawReferenceProfile"
 
std::string fJsonNameTagInfo = "tagLabels"
 
std::string fJsonNameTagTextFont = "tagTextFont"
 
std::string fJsonNameTagTextSize = "tagTextSize"
 
std::string fJsonNameTitleOffsetX = "titleOffsetX"
 
std::string fJsonNameTitleOffsetY = "titleOffsetY"
 
std::string fJsonNameTitleSizeX = "titleSizeX"
 
std::string fJsonNameTitleSizeY = "titleSizeY"
 
std::string fJsonNameTrend [knHistogramTypes] = {"drawDzError", "drawDxyError"}
 
std::string fJsonNameTrendZoom [knHistogramTypes] = {"ZoomDzTrend", "ZoomDxyTrend"}
 
std::string fJsonNIovInOnePlot = "nIovInOnePlot"
 
std::string fJsonNormalizeQAplots = "normalizeQAplots"
 
std::string fJsonRunsForLines = "runsForLines"
 
std::string fJsonSaveComment = "saveComment"
 
std::string fJsonSkipRunsWithNoData = "skipRunsWithNoData"
 
std::string fJsonTrackQAname = "drawTrackQA"
 
std::string fJsonUseLuminosityForTrends = "useLuminosityAxis"
 
std::string fJsonWidePtBinBorders = "widePtBinBorders"
 
std::string fJsonYearLineColor = "yearLineColor"
 
std::string fJsonYearLineStyle = "yearLineStyle"
 
std::string fJsonYearLineWidth = "yearLineWidth"
 
std::vector< std::string > fLegendComments
 
std::string fLegendTextForAllRuns
 
std::string fLumiPerIovFile
 
bool fMakeIovListForSlides
 
std::vector< int > fMarkerColor
 
std::vector< int > fMarkerSize
 
std::vector< int > fMarkerStyle
 
int fNIovInOnePlot
 
bool fNormalizeQAplots
 
double fProfileLegendShiftColumnX [kMaxLegendColumns]
 
double fProfileLegendShiftColumnY [kMaxLegendColumns]
 
double fProfileLegendShiftTotalX
 
double fProfileLegendShiftTotalY
 
int fProfileLegendTextFont
 
double fProfileLegendTextSize
 
double fProfileZoomHigh [knProfileTypes]
 
double fProfileZoomLow [knProfileTypes]
 
std::vector< int > fRunsForLines
 
std::string fSaveComment
 
bool fSkipRunsWithNoData
 
int fTrendCanvasHeight
 
int fTrendCanvasWidth
 
double fTrendLabelOffsetX
 
double fTrendLabelOffsetY
 
double fTrendLabelSizeX
 
double fTrendLabelSizeY
 
double fTrendLegendShiftTotalX
 
double fTrendLegendShiftTotalY
 
int fTrendLegendTextFont
 
double fTrendLegendTextSize
 
double fTrendMarginBottom
 
double fTrendMarginLeft
 
double fTrendMarginRight
 
double fTrendMarginTop
 
std::vector< double > fTrendTagPositionX
 
std::vector< double > fTrendTagPositionY
 
std::vector< std::string > fTrendTagText
 
int fTrendTagTextFont
 
double fTrendTagTextSize
 
double fTrendTitleOffsetX
 
double fTrendTitleOffsetY
 
double fTrendTitleSizeX
 
double fTrendTitleSizeY
 
double fTrendZoomHigh [knTrendTypes]
 
double fTrendZoomLow [knTrendTypes]
 
bool fUseLuminosityForTrends
 
std::vector< double > fWidePtBinBorders
 
int fYearLineColor
 
int fYearLineStyle
 
int fYearLineWidth
 

Detailed Description

Definition at line 22 of file JetHtPlotConfiguration.h.

Member Enumeration Documentation

◆ enumHistogramType

◆ enumProfileType

◆ enumTrendType

Constructor & Destructor Documentation

◆ JetHtPlotConfiguration() [1/2]

JetHtPlotConfiguration::JetHtPlotConfiguration ( )

Definition at line 6 of file JetHtPlotConfiguration.cc.

References fDrawHistogram, fDrawProfile, fDrawTrend, fProfileLegendShiftColumnX, fProfileLegendShiftColumnY, fProfileZoomHigh, fProfileZoomLow, fTrendZoomHigh, fTrendZoomLow, kMaxLegendColumns, knHistogramTypes, knProfileTypes, and knTrendTypes.

7  : fDebugLevel(0),
8  fDrawTrackQA(false),
19  fDrawTrendTag(false),
20  fTrendTagText(0),
23  fTrendTagTextSize(0.05),
25  fTrendCanvasHeight(400),
26  fTrendCanvasWidth(1000),
27  fTrendMarginLeft(0.08),
28  fTrendMarginRight(0.03),
29  fTrendMarginTop(0.06),
30  fTrendMarginBottom(0.15),
31  fTrendTitleOffsetX(1.1),
32  fTrendTitleOffsetY(0.55),
33  fTrendTitleSizeX(0.06),
34  fTrendTitleSizeY(0.06),
35  fTrendLabelOffsetX(0.01),
36  fTrendLabelOffsetY(0.007),
37  fTrendLabelSizeX(0.05),
38  fTrendLabelSizeY(0.05),
39  fInputFileNames(0),
40  fLegendComments(0),
41  fMarkerColor(0),
42  fMarkerStyle(0),
43  fMarkerSize(0),
44  fCopyErrorColor(0),
45  fLegendTextForAllRuns("All"),
46  fDrawPlotsForEachIOV(false),
47  fNIovInOnePlot(1),
49  fSkipRunsWithNoData(false),
50  fNormalizeQAplots(true),
51  fSaveComment(""),
52  fLumiPerIovFile("lumiPerRun_Run2.txt"),
53  fIovListMode("run"),
54  fDrawYearLines(false),
55  fYearLineColor(kBlack),
56  fYearLineWidth(1),
57  fYearLineStyle(1),
58  fRunsForLines(0),
60  fMakeIovListForSlides(false),
61  fIovListForSlides("iovListForSlides.txt") {
62  // Default zoom values
63  double defaultProfileZoomLow[knProfileTypes] = {28, 45, 30, 7, 40, 20, 25, 20};
64  double defaultProfileZoomHigh[knProfileTypes] = {60, 80, 95, 40, 70, 90, 90, 80};
65  double defaultTrendZoomLow[knTrendTypes] = {20, 10};
66  double defaultTrendZoomHigh[knTrendTypes] = {95, 90};
67 
68  // Initialize arrays
69  for (int iHistogram = 0; iHistogram < knHistogramTypes; iHistogram++) {
70  fDrawHistogram[iHistogram] = false;
71  }
72  for (int iProfile = 0; iProfile < knProfileTypes; iProfile++) {
73  fDrawProfile[iProfile] = false;
74  fProfileZoomLow[iProfile] = defaultProfileZoomLow[iProfile];
75  fProfileZoomHigh[iProfile] = defaultProfileZoomHigh[iProfile];
76  }
77  for (int iTrend = 0; iTrend < knTrendTypes; iTrend++) {
78  fDrawTrend[iTrend] = false;
79  fTrendZoomLow[iTrend] = defaultTrendZoomLow[iTrend];
80  fTrendZoomHigh[iTrend] = defaultTrendZoomHigh[iTrend];
81  }
82  for (int iColumn = 0; iColumn < kMaxLegendColumns; iColumn++) {
83  fProfileLegendShiftColumnX[iColumn] = 0;
84  fProfileLegendShiftColumnY[iColumn] = 0;
85  }
86 }
double fProfileLegendShiftColumnY[kMaxLegendColumns]
std::vector< bool > fCopyErrorColor
std::vector< int > fMarkerColor
std::vector< int > fRunsForLines
static const int kMaxLegendColumns
double fProfileZoomLow[knProfileTypes]
std::vector< double > fWidePtBinBorders
double fProfileLegendShiftColumnX[kMaxLegendColumns]
std::vector< int > fMarkerSize
double fTrendZoomLow[knTrendTypes]
double fProfileZoomHigh[knProfileTypes]
std::vector< double > fTrendTagPositionX
bool fDrawProfile[knProfileTypes]
std::vector< std::string > fTrendTagText
std::vector< int > fMarkerStyle
bool fDrawHistogram[knHistogramTypes]
double fTrendZoomHigh[knTrendTypes]
std::vector< std::string > fLegendComments
std::vector< double > fTrendTagPositionY
std::vector< std::string > fInputFileNames

◆ JetHtPlotConfiguration() [2/2]

JetHtPlotConfiguration::JetHtPlotConfiguration ( const JetHtPlotConfiguration in)

Definition at line 91 of file JetHtPlotConfiguration.cc.

References fDrawHistogram, fDrawProfile, fDrawTrend, fProfileLegendShiftColumnX, fProfileLegendShiftColumnY, fProfileZoomHigh, fProfileZoomLow, fTrendZoomHigh, fTrendZoomLow, recoMuon::in, kMaxLegendColumns, knHistogramTypes, knProfileTypes, and knTrendTypes.

92  : fDebugLevel(in.fDebugLevel),
93  fDrawTrackQA(in.fDrawTrackQA),
94  fDrawReferenceProfile(in.fDrawReferenceProfile),
95  fDrawCentralEtaSummaryProfile(in.fDrawCentralEtaSummaryProfile),
96  fProfileLegendShiftTotalX(in.fProfileLegendShiftTotalX),
97  fProfileLegendShiftTotalY(in.fProfileLegendShiftTotalY),
98  fProfileLegendTextSize(in.fProfileLegendTextSize),
99  fProfileLegendTextFont(in.fProfileLegendTextFont),
100  fTrendLegendShiftTotalX(in.fTrendLegendShiftTotalX),
101  fTrendLegendShiftTotalY(in.fTrendLegendShiftTotalY),
102  fTrendLegendTextSize(in.fTrendLegendTextSize),
103  fTrendLegendTextFont(in.fTrendLegendTextFont),
104  fDrawTrendTag(in.fDrawTrendTag),
105  fTrendTagText(in.fTrendTagText),
106  fTrendTagPositionX(in.fTrendTagPositionX),
107  fTrendTagPositionY(in.fTrendTagPositionY),
108  fTrendTagTextSize(in.fTrendTagTextSize),
109  fTrendTagTextFont(in.fTrendTagTextFont),
110  fTrendCanvasHeight(in.fTrendCanvasHeight),
111  fTrendCanvasWidth(in.fTrendCanvasWidth),
112  fTrendMarginLeft(in.fTrendMarginLeft),
113  fTrendMarginRight(in.fTrendMarginRight),
114  fTrendMarginTop(in.fTrendMarginTop),
115  fTrendMarginBottom(in.fTrendMarginBottom),
116  fTrendTitleOffsetX(in.fTrendTitleOffsetX),
117  fTrendTitleOffsetY(in.fTrendTitleOffsetY),
118  fTrendTitleSizeX(in.fTrendTitleSizeX),
119  fTrendTitleSizeY(in.fTrendTitleSizeY),
120  fTrendLabelOffsetX(in.fTrendLabelOffsetX),
121  fTrendLabelOffsetY(in.fTrendLabelOffsetY),
122  fTrendLabelSizeX(in.fTrendLabelSizeX),
123  fTrendLabelSizeY(in.fTrendLabelSizeY),
124  fInputFileNames(in.fInputFileNames),
125  fLegendComments(in.fLegendComments),
126  fMarkerColor(in.fMarkerColor),
127  fMarkerStyle(in.fMarkerStyle),
128  fMarkerSize(in.fMarkerSize),
129  fCopyErrorColor(in.fCopyErrorColor),
130  fLegendTextForAllRuns(in.fLegendTextForAllRuns),
131  fDrawPlotsForEachIOV(in.fDrawPlotsForEachIOV),
132  fNIovInOnePlot(in.fNIovInOnePlot),
133  fUseLuminosityForTrends(in.fUseLuminosityForTrends),
134  fSkipRunsWithNoData(in.fSkipRunsWithNoData),
135  fNormalizeQAplots(in.fNormalizeQAplots),
136  fSaveComment(in.fSaveComment),
137  fLumiPerIovFile(in.fLumiPerIovFile),
138  fIovListMode(in.fIovListMode),
139  fDrawYearLines(in.fDrawYearLines),
140  fYearLineColor(in.fYearLineColor),
141  fYearLineWidth(in.fYearLineWidth),
142  fYearLineStyle(in.fYearLineStyle),
143  fRunsForLines(in.fRunsForLines),
144  fWidePtBinBorders(in.fWidePtBinBorders),
145  fMakeIovListForSlides(in.fMakeIovListForSlides),
146  fIovListForSlides(in.fIovListForSlides) {
147  // Copy arrays
148  for (int iHistogram = 0; iHistogram < knHistogramTypes; iHistogram++) {
149  fDrawHistogram[iHistogram] = in.fDrawHistogram[iHistogram];
150  }
151  for (int iProfile = 0; iProfile < knProfileTypes; iProfile++) {
152  fDrawProfile[iProfile] = in.fDrawProfile[iProfile];
153  fProfileZoomLow[iProfile] = in.fProfileZoomLow[iProfile];
154  fProfileZoomHigh[iProfile] = in.fProfileZoomHigh[iProfile];
155  }
156  for (int iTrend = 0; iTrend < knTrendTypes; iTrend++) {
157  fDrawTrend[iTrend] = in.fDrawTrend[iTrend];
158  fTrendZoomLow[iTrend] = in.fTrendZoomLow[iTrend];
159  fTrendZoomHigh[iTrend] = in.fTrendZoomHigh[iTrend];
160  }
161  for (int iColumn = 0; iColumn < kMaxLegendColumns; iColumn++) {
162  fProfileLegendShiftColumnX[iColumn] = in.fProfileLegendShiftColumnX[iColumn];
163  fProfileLegendShiftColumnY[iColumn] = in.fProfileLegendShiftColumnY[iColumn];
164  }
165 }
double fProfileLegendShiftColumnY[kMaxLegendColumns]
std::vector< bool > fCopyErrorColor
std::vector< int > fMarkerColor
std::vector< int > fRunsForLines
static const int kMaxLegendColumns
double fProfileZoomLow[knProfileTypes]
std::vector< double > fWidePtBinBorders
double fProfileLegendShiftColumnX[kMaxLegendColumns]
std::vector< int > fMarkerSize
double fTrendZoomLow[knTrendTypes]
double fProfileZoomHigh[knProfileTypes]
std::vector< double > fTrendTagPositionX
bool fDrawProfile[knProfileTypes]
std::vector< std::string > fTrendTagText
std::vector< int > fMarkerStyle
bool fDrawHistogram[knHistogramTypes]
double fTrendZoomHigh[knTrendTypes]
std::vector< std::string > fLegendComments
std::vector< double > fTrendTagPositionY
std::vector< std::string > fInputFileNames

◆ ~JetHtPlotConfiguration()

JetHtPlotConfiguration::~JetHtPlotConfiguration ( )
virtual

Definition at line 255 of file JetHtPlotConfiguration.cc.

255 {}

Member Function Documentation

◆ autoExpandEnvironmentVariables()

void JetHtPlotConfiguration::autoExpandEnvironmentVariables ( std::string &  text) const
private

Definition at line 1537 of file JetHtPlotConfiguration.cc.

References web.browse_db::env, first, match(), alignCSCRings::s, edm::second(), str, AlCaHLTBitMon_QueryRunRegistry::string, submitPVValidationJobs::text, and trigObjTnPSource_cfi::var.

Referenced by expandEnvironmentVariables(), and readJsonFile().

1537  {
1538  static std::regex env("\\$\\{?([^}\\/]+)\\}?\\/");
1539  std::smatch match;
1540  while (std::regex_search(text, match, env)) {
1541  const char* s = getenv(match[1].str().c_str());
1542  const std::string var(s == nullptr ? "" : Form("%s/", s));
1543  text.replace(match[0].first, match[0].second, var);
1544  }
1545 }
U second(std::pair< T, U > const &p)
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
Definition: Utils.h:10
#define str(s)

◆ copyErrorColor()

bool JetHtPlotConfiguration::copyErrorColor ( const int  iFile) const

Definition at line 1481 of file JetHtPlotConfiguration.cc.

References fCopyErrorColor.

Referenced by jetHtPlotter().

1481  {
1482  const int errorCopyCount = fCopyErrorColor.size();
1483  if (iFile < 0 || iFile >= errorCopyCount)
1484  return false;
1485  return fCopyErrorColor.at(iFile);
1486 }
std::vector< bool > fCopyErrorColor

◆ drawCentralEtaSummaryProfile()

bool JetHtPlotConfiguration::drawCentralEtaSummaryProfile ( ) const

Definition at line 1312 of file JetHtPlotConfiguration.cc.

References fDrawCentralEtaSummaryProfile.

Referenced by jetHtPlotter().

◆ drawHistogram()

bool JetHtPlotConfiguration::drawHistogram ( const int  iHistogram) const

Definition at line 1303 of file JetHtPlotConfiguration.cc.

References fDrawHistogram.

Referenced by jetHtPlotter().

1303 { return fDrawHistogram[iHistogram]; }
bool fDrawHistogram[knHistogramTypes]

◆ drawPlotsForEachIOV()

bool JetHtPlotConfiguration::drawPlotsForEachIOV ( ) const

Definition at line 1513 of file JetHtPlotConfiguration.cc.

References fDrawPlotsForEachIOV.

Referenced by jetHtPlotter().

◆ drawProfile()

bool JetHtPlotConfiguration::drawProfile ( const int  iProfile) const

Definition at line 1306 of file JetHtPlotConfiguration.cc.

References fDrawProfile.

Referenced by jetHtPlotter().

1306 { return fDrawProfile[iProfile]; }
bool fDrawProfile[knProfileTypes]

◆ drawReferenceProfile()

bool JetHtPlotConfiguration::drawReferenceProfile ( ) const

Definition at line 1309 of file JetHtPlotConfiguration.cc.

References fDrawReferenceProfile.

Referenced by jetHtPlotter().

◆ drawTrackQA()

bool JetHtPlotConfiguration::drawTrackQA ( ) const

Definition at line 1300 of file JetHtPlotConfiguration.cc.

References fDrawTrackQA.

Referenced by jetHtPlotter().

◆ drawTrend()

bool JetHtPlotConfiguration::drawTrend ( const int  iTrend) const

Definition at line 1350 of file JetHtPlotConfiguration.cc.

References fDrawTrend.

Referenced by jetHtPlotter().

1350 { return fDrawTrend[iTrend]; }

◆ drawTrendTag()

bool JetHtPlotConfiguration::drawTrendTag ( ) const

Definition at line 1365 of file JetHtPlotConfiguration.cc.

References fDrawTrendTag.

Referenced by jetHtPlotter().

◆ drawYearLines()

bool JetHtPlotConfiguration::drawYearLines ( ) const

Definition at line 1495 of file JetHtPlotConfiguration.cc.

References fDrawYearLines.

Referenced by jetHtPlotter().

◆ expandEnvironmentVariables()

std::string JetHtPlotConfiguration::expandEnvironmentVariables ( const std::string &  input) const
private

◆ inputFile()

std::string JetHtPlotConfiguration::inputFile ( const int  iFile) const

Definition at line 1434 of file JetHtPlotConfiguration.cc.

References fInputFileNames.

Referenced by jetHtPlotter().

1434  {
1435  const int inputFileCount = fInputFileNames.size();
1436  if (iFile < 0 || iFile >= inputFileCount)
1437  return "";
1438  return fInputFileNames.at(iFile);
1439 }
std::vector< std::string > fInputFileNames

◆ inputFiles()

std::vector< std::string > JetHtPlotConfiguration::inputFiles ( ) const

Definition at line 1442 of file JetHtPlotConfiguration.cc.

References fInputFileNames.

1442 { return fInputFileNames; }
std::vector< std::string > fInputFileNames

◆ iovListForSlides()

const char * JetHtPlotConfiguration::iovListForSlides ( ) const

Definition at line 1534 of file JetHtPlotConfiguration.cc.

References fIovListForSlides.

Referenced by jetHtPlotter().

1534 { return fIovListForSlides.c_str(); }

◆ iovListMode()

const char * JetHtPlotConfiguration::iovListMode ( ) const

Definition at line 1492 of file JetHtPlotConfiguration.cc.

References fIovListMode.

Referenced by jetHtPlotter().

1492 { return fIovListMode.c_str(); }

◆ legendComment()

std::string JetHtPlotConfiguration::legendComment ( const int  iComment) const

Definition at line 1445 of file JetHtPlotConfiguration.cc.

References fLegendComments.

Referenced by jetHtPlotter().

1445  {
1446  const int commentCount = fLegendComments.size();
1447  if (iComment < 0 || iComment >= commentCount)
1448  return "";
1449  return fLegendComments.at(iComment);
1450 }
std::vector< std::string > fLegendComments

◆ legendTextForAllRuns()

std::string JetHtPlotConfiguration::legendTextForAllRuns ( ) const

Definition at line 1341 of file JetHtPlotConfiguration.cc.

References fLegendTextForAllRuns.

Referenced by jetHtPlotter().

1341 { return fLegendTextForAllRuns; }

◆ lumiPerIovFile()

const char * JetHtPlotConfiguration::lumiPerIovFile ( ) const

Definition at line 1489 of file JetHtPlotConfiguration.cc.

References fLumiPerIovFile.

Referenced by jetHtPlotter().

1489 { return fLumiPerIovFile.c_str(); }

◆ makeIovListForSlides()

bool JetHtPlotConfiguration::makeIovListForSlides ( ) const

Definition at line 1531 of file JetHtPlotConfiguration.cc.

References fMakeIovListForSlides.

Referenced by jetHtPlotter().

◆ markerColor()

int JetHtPlotConfiguration::markerColor ( const int  iFile) const

Definition at line 1453 of file JetHtPlotConfiguration.cc.

References fDefaultColors, and fMarkerColor.

Referenced by jetHtPlotter().

1453  {
1454  if (iFile < 0)
1455  return kBlack;
1456  if (iFile > 10)
1457  return kBlack;
1458  const int markerColorCount = fMarkerColor.size();
1459  if (iFile >= markerColorCount)
1460  return fDefaultColors[iFile];
1461  return fMarkerColor.at(iFile);
1462 }
std::vector< int > fMarkerColor

◆ markerSize()

int JetHtPlotConfiguration::markerSize ( const int  iFile) const

Definition at line 1473 of file JetHtPlotConfiguration.cc.

References fDefaultMarkerSize, and fMarkerSize.

Referenced by jetHtPlotter().

1473  {
1474  const int markerSizeCount = fMarkerSize.size();
1475  if (iFile < 0 || iFile >= markerSizeCount)
1476  return fDefaultMarkerSize;
1477  return fMarkerSize.at(iFile);
1478 }
std::vector< int > fMarkerSize

◆ markerStyle()

int JetHtPlotConfiguration::markerStyle ( const int  iFile) const

Definition at line 1465 of file JetHtPlotConfiguration.cc.

References fDefaultStyle, and fMarkerStyle.

Referenced by jetHtPlotter().

1465  {
1466  const int markerStyleCount = fMarkerStyle.size();
1467  if (iFile < 0 || iFile >= markerStyleCount)
1468  return fDefaultStyle;
1469  return fMarkerStyle.at(iFile);
1470 }
std::vector< int > fMarkerStyle

◆ nInputFiles()

int JetHtPlotConfiguration::nInputFiles ( ) const

Definition at line 1431 of file JetHtPlotConfiguration.cc.

References fInputFileNames.

Referenced by jetHtPlotter().

1431 { return fInputFileNames.size(); }
std::vector< std::string > fInputFileNames

◆ nIovInOnePlot()

int JetHtPlotConfiguration::nIovInOnePlot ( ) const

Definition at line 1516 of file JetHtPlotConfiguration.cc.

References fNIovInOnePlot.

Referenced by jetHtPlotter().

◆ normalizeQAplots()

bool JetHtPlotConfiguration::normalizeQAplots ( ) const

Definition at line 1525 of file JetHtPlotConfiguration.cc.

References fNormalizeQAplots.

Referenced by jetHtPlotter().

◆ operator=()

JetHtPlotConfiguration & JetHtPlotConfiguration::operator= ( const JetHtPlotConfiguration obj)

Definition at line 170 of file JetHtPlotConfiguration.cc.

References fCopyErrorColor, fDebugLevel, fDrawCentralEtaSummaryProfile, fDrawHistogram, fDrawPlotsForEachIOV, fDrawProfile, fDrawReferenceProfile, fDrawTrackQA, fDrawTrend, fDrawTrendTag, fDrawYearLines, fInputFileNames, fIovListForSlides, fIovListMode, fLegendComments, fLegendTextForAllRuns, fLumiPerIovFile, fMakeIovListForSlides, fMarkerColor, fMarkerSize, fMarkerStyle, fNIovInOnePlot, fNormalizeQAplots, fProfileLegendShiftColumnX, fProfileLegendShiftColumnY, fProfileLegendShiftTotalX, fProfileLegendShiftTotalY, fProfileLegendTextFont, fProfileLegendTextSize, fProfileZoomHigh, fProfileZoomLow, fRunsForLines, fSaveComment, fSkipRunsWithNoData, fTrendCanvasHeight, fTrendCanvasWidth, fTrendLabelOffsetX, fTrendLabelOffsetY, fTrendLabelSizeX, fTrendLabelSizeY, fTrendLegendShiftTotalX, fTrendLegendShiftTotalY, fTrendLegendTextFont, fTrendLegendTextSize, fTrendMarginBottom, fTrendMarginLeft, fTrendMarginRight, fTrendMarginTop, fTrendTagPositionX, fTrendTagPositionY, fTrendTagText, fTrendTagTextFont, fTrendTagTextSize, fTrendTitleOffsetX, fTrendTitleOffsetY, fTrendTitleSizeX, fTrendTitleSizeY, fTrendZoomHigh, fTrendZoomLow, fUseLuminosityForTrends, fWidePtBinBorders, fYearLineColor, fYearLineStyle, fYearLineWidth, recoMuon::in, kMaxLegendColumns, knHistogramTypes, knProfileTypes, and knTrendTypes.

170  {
171  if (&in == this)
172  return *this;
173 
174  fDebugLevel = in.fDebugLevel;
175  fDrawTrackQA = in.fDrawTrackQA;
176  fDrawReferenceProfile = in.fDrawReferenceProfile;
177  fDrawCentralEtaSummaryProfile = in.fDrawCentralEtaSummaryProfile;
178  fProfileLegendShiftTotalX = in.fProfileLegendShiftTotalX;
179  fProfileLegendShiftTotalY = in.fProfileLegendShiftTotalY;
180  fProfileLegendTextSize = in.fProfileLegendTextSize;
181  fProfileLegendTextFont = in.fProfileLegendTextFont;
182  fTrendLegendShiftTotalX = in.fTrendLegendShiftTotalX;
183  fTrendLegendShiftTotalY = in.fTrendLegendShiftTotalY;
184  fTrendLegendTextSize = in.fTrendLegendTextSize;
185  fTrendLegendTextFont = in.fTrendLegendTextFont;
186  fDrawTrendTag = in.fDrawTrendTag;
187  fTrendTagText = in.fTrendTagText;
188  fTrendTagPositionX = in.fTrendTagPositionX;
189  fTrendTagPositionY = in.fTrendTagPositionY;
190  fTrendTagTextSize = in.fTrendTagTextSize;
191  fTrendTagTextFont = in.fTrendTagTextFont;
192  fTrendCanvasHeight = in.fTrendCanvasHeight;
193  fTrendCanvasWidth = in.fTrendCanvasWidth;
194  fTrendMarginLeft = in.fTrendMarginLeft;
195  fTrendMarginRight = in.fTrendMarginRight;
196  fTrendMarginTop = in.fTrendMarginTop;
197  fTrendMarginBottom = in.fTrendMarginBottom;
198  fTrendTitleOffsetX = in.fTrendTitleOffsetX;
199  fTrendTitleOffsetY = in.fTrendTitleOffsetY;
200  fTrendTitleSizeX = in.fTrendTitleSizeX;
201  fTrendTitleSizeY = in.fTrendTitleSizeY;
202  fTrendLabelOffsetX = in.fTrendLabelOffsetX;
203  fTrendLabelOffsetY = in.fTrendLabelOffsetY;
204  fTrendLabelSizeX = in.fTrendLabelSizeX;
205  fTrendLabelSizeY = in.fTrendLabelSizeY;
206  fInputFileNames = in.fInputFileNames;
207  fLegendComments = in.fLegendComments;
208  fMarkerColor = in.fMarkerColor;
209  fMarkerStyle = in.fMarkerStyle;
210  fMarkerSize = in.fMarkerSize;
211  fCopyErrorColor = in.fCopyErrorColor;
212  fLegendTextForAllRuns = in.fLegendTextForAllRuns;
213  fDrawPlotsForEachIOV = in.fDrawPlotsForEachIOV;
214  fNIovInOnePlot = in.fNIovInOnePlot;
215  fUseLuminosityForTrends = in.fUseLuminosityForTrends;
216  fSkipRunsWithNoData = in.fSkipRunsWithNoData;
217  fNormalizeQAplots = in.fNormalizeQAplots;
218  fSaveComment = in.fSaveComment;
219  fLumiPerIovFile = in.fLumiPerIovFile;
220  fIovListMode = in.fIovListMode;
221  fDrawYearLines = in.fDrawYearLines;
222  fYearLineColor = in.fYearLineColor;
223  fYearLineWidth = in.fYearLineWidth;
224  fYearLineStyle = in.fYearLineStyle;
225  fRunsForLines = in.fRunsForLines;
226  fWidePtBinBorders = in.fWidePtBinBorders;
227  fMakeIovListForSlides = in.fMakeIovListForSlides;
228  fIovListForSlides = in.fIovListForSlides;
229 
230  // Copy arrays
231  for (int iHistogram = 0; iHistogram < knHistogramTypes; iHistogram++) {
232  fDrawHistogram[iHistogram] = in.fDrawHistogram[iHistogram];
233  }
234  for (int iProfile = 0; iProfile < knProfileTypes; iProfile++) {
235  fDrawProfile[iProfile] = in.fDrawProfile[iProfile];
236  fProfileZoomLow[iProfile] = in.fProfileZoomLow[iProfile];
237  fProfileZoomHigh[iProfile] = in.fProfileZoomHigh[iProfile];
238  }
239  for (int iTrend = 0; iTrend < knTrendTypes; iTrend++) {
240  fDrawTrend[iTrend] = in.fDrawTrend[iTrend];
241  fTrendZoomLow[iTrend] = in.fTrendZoomLow[iTrend];
242  fTrendZoomHigh[iTrend] = in.fTrendZoomHigh[iTrend];
243  }
244  for (int iColumn = 0; iColumn < kMaxLegendColumns; iColumn++) {
245  fProfileLegendShiftColumnX[iColumn] = in.fProfileLegendShiftColumnX[iColumn];
246  fProfileLegendShiftColumnY[iColumn] = in.fProfileLegendShiftColumnY[iColumn];
247  }
248 
249  return *this;
250 }
double fProfileLegendShiftColumnY[kMaxLegendColumns]
std::vector< bool > fCopyErrorColor
std::vector< int > fMarkerColor
std::vector< int > fRunsForLines
static const int kMaxLegendColumns
double fProfileZoomLow[knProfileTypes]
std::vector< double > fWidePtBinBorders
double fProfileLegendShiftColumnX[kMaxLegendColumns]
std::vector< int > fMarkerSize
double fTrendZoomLow[knTrendTypes]
double fProfileZoomHigh[knProfileTypes]
std::vector< double > fTrendTagPositionX
bool fDrawProfile[knProfileTypes]
std::vector< std::string > fTrendTagText
std::vector< int > fMarkerStyle
bool fDrawHistogram[knHistogramTypes]
double fTrendZoomHigh[knTrendTypes]
std::vector< std::string > fLegendComments
std::vector< double > fTrendTagPositionY
std::vector< std::string > fInputFileNames

◆ printConfiguration()

void JetHtPlotConfiguration::printConfiguration ( ) const

Definition at line 1136 of file JetHtPlotConfiguration.cc.

References gather_cfg::cout, fCopyErrorColor, fDrawCentralEtaSummaryProfile, fDrawHistogram, fDrawPlotsForEachIOV, fDrawProfile, fDrawReferenceProfile, fDrawTrackQA, fDrawTrend, fDrawTrendTag, fDrawYearLines, MillePedeFileConverter_cfg::fileName, fInputFileNames, fIovListForSlides, fIovListMode, fJsonCategoryNameHistogram, fJsonCategoryNameProfile, fJsonCategoryNameProfileZoom, fJsonCategoryNameTrend, fJsonCategoryNameTrendZoom, fJsonDrawPlotsForEachIOV, fJsonDrawYearLines, fJsonIovListForSlides, fJsonIovListMode, fJsonLumiPerIovFile, fJsonMakeIovListForSlides, fJsonNameCanvasHeight, fJsonNameCanvasWidth, fJsonNameCentralEtaSummaryProfile, fJsonNameHistogram, fJsonNameLabelOffsetX, fJsonNameLabelOffsetY, fJsonNameLabelSizeX, fJsonNameLabelSizeY, fJsonNameLegendShiftColumnX, fJsonNameLegendShiftColumnY, fJsonNameLegendShiftTotalX, fJsonNameLegendShiftTotalY, fJsonNameLegendTextFont, fJsonNameLegendTextForAllRuns, fJsonNameLegendTextSize, fJsonNameMarginBottom, fJsonNameMarginLeft, fJsonNameMarginRight, fJsonNameMarginTop, fJsonNameProfile, fJsonNameProfileZoom, fJsonNameReferenceProfile, fJsonNameTagInfo, fJsonNameTagTextFont, fJsonNameTagTextSize, fJsonNameTitleOffsetX, fJsonNameTitleOffsetY, fJsonNameTitleSizeX, fJsonNameTitleSizeY, fJsonNameTrend, fJsonNameTrendZoom, fJsonNIovInOnePlot, fJsonNormalizeQAplots, fJsonSkipRunsWithNoData, fJsonTrackQAname, fJsonUseLuminosityForTrends, fJsonYearLineColor, fJsonYearLineStyle, fJsonYearLineWidth, fLegendComments, fLegendTextForAllRuns, fLumiPerIovFile, fMakeIovListForSlides, fMarkerColor, fMarkerSize, fMarkerStyle, fNIovInOnePlot, fNormalizeQAplots, fProfileLegendShiftColumnX, fProfileLegendShiftColumnY, fProfileLegendShiftTotalX, fProfileLegendShiftTotalY, fProfileLegendTextFont, fProfileLegendTextSize, fProfileZoomHigh, fProfileZoomLow, fRunsForLines, fSaveComment, fSkipRunsWithNoData, fTrendCanvasHeight, fTrendCanvasWidth, fTrendLabelOffsetX, fTrendLabelOffsetY, fTrendLabelSizeX, fTrendLabelSizeY, fTrendLegendShiftTotalX, fTrendLegendShiftTotalY, fTrendLegendTextFont, fTrendLegendTextSize, fTrendMarginBottom, fTrendMarginLeft, fTrendMarginRight, fTrendMarginTop, fTrendTagPositionX, fTrendTagPositionY, fTrendTagText, fTrendTagTextFont, fTrendTagTextSize, fTrendTitleOffsetX, fTrendTitleOffsetY, fTrendTitleSizeX, fTrendTitleSizeY, fTrendZoomHigh, fTrendZoomLow, fUseLuminosityForTrends, fWidePtBinBorders, fYearLineColor, fYearLineStyle, fYearLineWidth, kMaxLegendColumns, knHistogramTypes, knProfileTypes, knTrendTypes, findQualityFiles::size, and AlCaHLTBitMon_QueryRunRegistry::string.

1136  {
1137  // Print all input files
1138  std::cout << "Input files: " << std::endl;
1139  for (const std::string& fileName : fInputFileNames) {
1140  std::cout << fileName << std::endl;
1141  }
1142 
1143  // Print legend text related to input files
1144  std::cout << "Legend text related to input files: " << std::endl;
1145  for (const std::string& legendText : fLegendComments) {
1146  std::cout << legendText << std::endl;
1147  }
1148 
1149  // Print all marker colors
1150  std::cout << "Marker colors: " << std::endl;
1151  for (int color : fMarkerColor) {
1152  std::cout << color << std::endl;
1153  }
1154 
1155  // Print all marker styles
1156  std::cout << "Marker styles: " << std::endl;
1157  for (int style : fMarkerStyle) {
1158  std::cout << style << std::endl;
1159  }
1160 
1161  // Print all marker sizes
1162  std::cout << "Marker sizes: " << std::endl;
1163  for (int size : fMarkerSize) {
1164  std::cout << size << std::endl;
1165  }
1166 
1167  // Print all error color copying information
1168  std::cout << "Copy error colors: " << std::endl;
1169  for (bool color : fCopyErrorColor) {
1170  std::cout << color << std::endl;
1171  }
1172 
1173  // Print the configuration for QA plot drawing
1174  std::cout << fJsonTrackQAname << " : " << fDrawTrackQA << std::endl;
1175 
1176  // Print the configuration for histogram drawing
1177  for (int iHistogram = 0; iHistogram < knHistogramTypes; iHistogram++) {
1178  std::cout << fJsonCategoryNameHistogram << " " << fJsonNameHistogram[iHistogram] << " : "
1179  << fDrawHistogram[iHistogram] << std::endl;
1180  }
1181 
1182  // Print the configuration for profile plot drawing
1183  for (int iProfile = 0; iProfile < knProfileTypes; iProfile++) {
1184  std::cout << fJsonCategoryNameProfile << " " << fJsonNameProfile[iProfile] << " : " << fDrawProfile[iProfile]
1185  << std::endl;
1186  }
1187 
1188  // Print the configuration for reference profile drawing
1190  << std::endl;
1192  << fDrawCentralEtaSummaryProfile << std::endl;
1193 
1194  // Print the configuration for positioning the legends in profile plots
1196  << std::endl;
1198  << std::endl;
1199  for (int iColumn = 0; iColumn < kMaxLegendColumns; iColumn++) {
1200  std::cout << fJsonCategoryNameProfile << " " << fJsonNameLegendShiftColumnX << iColumn << " : "
1201  << fProfileLegendShiftColumnX[iColumn] << std::endl;
1202  std::cout << fJsonCategoryNameProfile << " " << fJsonNameLegendShiftColumnY << iColumn << " : "
1203  << fProfileLegendShiftColumnY[iColumn] << std::endl;
1204  }
1206  << std::endl;
1208  << std::endl;
1209 
1210  // Print the configuration for profile plot zoom
1211  for (int iProfile = 0; iProfile < knProfileTypes; iProfile++) {
1212  std::cout << fJsonCategoryNameProfileZoom << " min" << fJsonNameProfileZoom[iProfile] << " : "
1213  << fProfileZoomLow[iProfile] << std::endl;
1214  std::cout << fJsonCategoryNameProfileZoom << " max" << fJsonNameProfileZoom[iProfile] << " : "
1215  << fProfileZoomHigh[iProfile] << std::endl;
1216  }
1217 
1218  // Print the configuration for trend plot drawing
1219  for (int iTrend = 0; iTrend < knTrendTypes; iTrend++) {
1220  std::cout << fJsonCategoryNameTrend << " " << fJsonNameTrend[iTrend] << " : " << fDrawTrend[iTrend] << std::endl;
1221  }
1222 
1223  // Print the canvas information for trend plots
1224  std::cout << fJsonCategoryNameTrend << " " << fJsonNameCanvasHeight << " : " << fTrendCanvasHeight << std::endl;
1225  std::cout << fJsonCategoryNameTrend << " " << fJsonNameCanvasWidth << " : " << fTrendCanvasWidth << std::endl;
1226  std::cout << fJsonCategoryNameTrend << " " << fJsonNameMarginLeft << " : " << fTrendMarginLeft << std::endl;
1227  std::cout << fJsonCategoryNameTrend << " " << fJsonNameMarginRight << " : " << fTrendMarginRight << std::endl;
1228  std::cout << fJsonCategoryNameTrend << " " << fJsonNameMarginTop << " : " << fTrendMarginTop << std::endl;
1229  std::cout << fJsonCategoryNameTrend << " " << fJsonNameMarginBottom << " : " << fTrendMarginBottom << std::endl;
1230  std::cout << fJsonCategoryNameTrend << " " << fJsonNameTitleOffsetX << " : " << fTrendTitleOffsetX << std::endl;
1231  std::cout << fJsonCategoryNameTrend << " " << fJsonNameTitleOffsetY << " : " << fTrendTitleOffsetY << std::endl;
1232  std::cout << fJsonCategoryNameTrend << " " << fJsonNameTitleSizeX << " : " << fTrendTitleSizeX << std::endl;
1233  std::cout << fJsonCategoryNameTrend << " " << fJsonNameTitleSizeY << " : " << fTrendTitleSizeY << std::endl;
1234  std::cout << fJsonCategoryNameTrend << " " << fJsonNameLabelOffsetX << " : " << fTrendLabelOffsetX << std::endl;
1235  std::cout << fJsonCategoryNameTrend << " " << fJsonNameLabelOffsetY << " : " << fTrendLabelOffsetY << std::endl;
1236  std::cout << fJsonCategoryNameTrend << " " << fJsonNameLabelSizeX << " : " << fTrendLabelSizeX << std::endl;
1237  std::cout << fJsonCategoryNameTrend << " " << fJsonNameLabelSizeY << " : " << fTrendLabelSizeY << std::endl;
1238 
1239  // Print the configuration for positioning the legends in trend plots
1241  << std::endl;
1243  << std::endl;
1244  std::cout << fJsonCategoryNameTrend << " " << fJsonNameLegendTextSize << " : " << fTrendLegendTextSize << std::endl;
1245  std::cout << fJsonCategoryNameTrend << " " << fJsonNameLegendTextFont << " : " << fTrendLegendTextFont << std::endl;
1246 
1247  // Print the remaining configuration for trend plots
1248  std::cout << fJsonCategoryNameTrend << " " << fJsonDrawYearLines << " : " << fDrawYearLines << std::endl;
1249  std::cout << "Runs for vertical lines: " << std::endl;
1250  for (int myRun : fRunsForLines) {
1251  std::cout << myRun << " ";
1252  }
1253  std::cout << std::endl;
1254  std::cout << fJsonCategoryNameTrend << " " << fJsonYearLineColor << " : " << fYearLineColor << std::endl;
1255  std::cout << fJsonCategoryNameTrend << " " << fJsonYearLineWidth << " : " << fYearLineWidth << std::endl;
1256  std::cout << fJsonCategoryNameTrend << " " << fJsonYearLineStyle << " : " << fYearLineStyle << std::endl;
1258  << std::endl;
1259  std::cout << fJsonCategoryNameTrend << " " << fJsonSkipRunsWithNoData << " : " << fSkipRunsWithNoData << std::endl;
1260 
1261  std::cout << fJsonCategoryNameTrend << " " << fJsonNameTagInfo << " : " << fDrawTrendTag << std::endl;
1262  for (std::vector<std::string>::size_type iTag = 0; iTag < fTrendTagText.size(); iTag++) {
1263  std::cout << "Tag" << iTag << ": " << fTrendTagText.at(iTag) << " x=" << fTrendTagPositionX.at(iTag)
1264  << " y=" << fTrendTagPositionY.at(iTag) << std::endl;
1265  }
1266  std::cout << fJsonCategoryNameTrend << " " << fJsonNameTagTextSize << " : " << fTrendTagTextSize << std::endl;
1267  std::cout << fJsonCategoryNameTrend << " " << fJsonNameTagTextFont << " : " << fTrendTagTextFont << std::endl;
1268 
1269  // Print the configuration for trend plot zoom
1270  for (int iTrend = 0; iTrend < knTrendTypes; iTrend++) {
1271  std::cout << fJsonCategoryNameTrendZoom << " min" << fJsonNameTrendZoom[iTrend] << " : " << fTrendZoomLow[iTrend]
1272  << std::endl;
1273  std::cout << fJsonCategoryNameTrendZoom << " max" << fJsonNameTrendZoom[iTrend] << " : " << fTrendZoomHigh[iTrend]
1274  << std::endl;
1275  }
1276 
1277  // Print plotting configuration values
1278  std::cout << fJsonLumiPerIovFile << " : " << fLumiPerIovFile << std::endl;
1279  std::cout << fJsonIovListMode << " : " << fIovListMode << std::endl;
1281 
1282  std::cout << "Wide pT bin borders: " << std::endl;
1283  for (double myPt : fWidePtBinBorders) {
1284  std::cout << myPt << " ";
1285  }
1286  std::cout << std::endl;
1287 
1288  std::cout << fJsonDrawPlotsForEachIOV << " : " << fDrawPlotsForEachIOV << std::endl;
1289  std::cout << fJsonNIovInOnePlot << " : " << fNIovInOnePlot << std::endl;
1290  std::cout << fJsonNormalizeQAplots << " : " << fNormalizeQAplots << std::endl;
1291 
1292  std::cout << fJsonMakeIovListForSlides << " : " << fMakeIovListForSlides << std::endl;
1293  std::cout << fJsonIovListForSlides << " : " << fIovListForSlides << std::endl;
1294 
1295  // Print the save comment
1296  std::cout << "Saved files are given a comment: " << fSaveComment << std::endl;
1297 }
size
Write out results.
double fProfileLegendShiftColumnY[kMaxLegendColumns]
std::string fJsonNameHistogram[knHistogramTypes]
std::string fJsonNameTrend[knHistogramTypes]
std::vector< bool > fCopyErrorColor
std::string fJsonNameTrendZoom[knHistogramTypes]
std::string fJsonNameProfileZoom[knProfileTypes]
std::vector< int > fMarkerColor
std::vector< int > fRunsForLines
static const int kMaxLegendColumns
double fProfileZoomLow[knProfileTypes]
uint16_t size_type
std::vector< double > fWidePtBinBorders
double fProfileLegendShiftColumnX[kMaxLegendColumns]
std::vector< int > fMarkerSize
double fTrendZoomLow[knTrendTypes]
double fProfileZoomHigh[knProfileTypes]
Definition: style.py:1
std::vector< double > fTrendTagPositionX
std::string fJsonNameProfile[knProfileTypes]
bool fDrawProfile[knProfileTypes]
std::vector< std::string > fTrendTagText
std::vector< int > fMarkerStyle
bool fDrawHistogram[knHistogramTypes]
double fTrendZoomHigh[knTrendTypes]
std::string fJsonNameCentralEtaSummaryProfile
std::vector< std::string > fLegendComments
std::vector< double > fTrendTagPositionY
std::vector< std::string > fInputFileNames

◆ profileLegendShiftColumnX()

double JetHtPlotConfiguration::profileLegendShiftColumnX ( const int  iColumn) const

Definition at line 1321 of file JetHtPlotConfiguration.cc.

References fProfileLegendShiftColumnX, and kMaxLegendColumns.

Referenced by jetHtPlotter().

1321  {
1322  if (iColumn < 0 || iColumn >= kMaxLegendColumns)
1323  return 0;
1324  return fProfileLegendShiftColumnX[iColumn];
1325 }
static const int kMaxLegendColumns
double fProfileLegendShiftColumnX[kMaxLegendColumns]

◆ profileLegendShiftColumnY()

double JetHtPlotConfiguration::profileLegendShiftColumnY ( const int  iColumn) const

Definition at line 1328 of file JetHtPlotConfiguration.cc.

References fProfileLegendShiftColumnY, and kMaxLegendColumns.

Referenced by jetHtPlotter().

1328  {
1329  if (iColumn < 0 || iColumn >= kMaxLegendColumns)
1330  return 0;
1331  return fProfileLegendShiftColumnY[iColumn];
1332 }
double fProfileLegendShiftColumnY[kMaxLegendColumns]
static const int kMaxLegendColumns

◆ profileLegendShiftTotalX()

double JetHtPlotConfiguration::profileLegendShiftTotalX ( ) const

Definition at line 1315 of file JetHtPlotConfiguration.cc.

References fProfileLegendShiftTotalX.

Referenced by jetHtPlotter().

◆ profileLegendShiftTotalY()

double JetHtPlotConfiguration::profileLegendShiftTotalY ( ) const

Definition at line 1318 of file JetHtPlotConfiguration.cc.

References fProfileLegendShiftTotalY.

Referenced by jetHtPlotter().

◆ profileLegendTextFont()

int JetHtPlotConfiguration::profileLegendTextFont ( ) const

Definition at line 1338 of file JetHtPlotConfiguration.cc.

References fProfileLegendTextFont.

Referenced by jetHtPlotter().

◆ profileLegendTextSize()

double JetHtPlotConfiguration::profileLegendTextSize ( ) const

Definition at line 1335 of file JetHtPlotConfiguration.cc.

References fProfileLegendTextSize.

Referenced by jetHtPlotter().

◆ profileZoomHigh()

double JetHtPlotConfiguration::profileZoomHigh ( const int  iProfile) const

Definition at line 1347 of file JetHtPlotConfiguration.cc.

References fProfileZoomHigh.

Referenced by jetHtPlotter().

1347 { return fProfileZoomHigh[iProfile]; }
double fProfileZoomHigh[knProfileTypes]

◆ profileZoomLow()

double JetHtPlotConfiguration::profileZoomLow ( const int  iProfile) const

Definition at line 1344 of file JetHtPlotConfiguration.cc.

References fProfileZoomLow.

Referenced by jetHtPlotter().

1344 { return fProfileZoomLow[iProfile]; }
double fProfileZoomLow[knProfileTypes]

◆ readJsonFile()

void JetHtPlotConfiguration::readJsonFile ( const std::string  fileName)

Definition at line 260 of file JetHtPlotConfiguration.cc.

References autoExpandEnvironmentVariables(), JetHT_cfg::configuration, gather_cfg::cout, MillePedeFileConverter_cfg::e, cppFunctionSkipper::exception, fCopyErrorColor, fDebugLevel, fDefaultColors, fDefaultMarkerSize, fDefaultStyle, fDrawCentralEtaSummaryProfile, fDrawHistogram, fDrawPlotsForEachIOV, fDrawProfile, fDrawReferenceProfile, fDrawTrackQA, fDrawTrend, fDrawTrendTag, fDrawYearLines, MillePedeFileConverter_cfg::fileName, fInputFileNames, fIovListForSlides, fIovListMode, fJsonCategoryNameHistogram, fJsonCategoryNameProfile, fJsonCategoryNameProfileZoom, fJsonCategoryNameTrend, fJsonCategoryNameTrendZoom, fJsonDrawPlotsForEachIOV, fJsonDrawYearLines, fJsonIovListForSlides, fJsonIovListMode, fJsonLumiPerIovFile, fJsonMakeIovListForSlides, fJsonNameCanvasHeight, fJsonNameCanvasWidth, fJsonNameCentralEtaSummaryProfile, fJsonNameDrawTag, fJsonNameHistogram, fJsonNameLabelOffsetX, fJsonNameLabelOffsetY, fJsonNameLabelSizeX, fJsonNameLabelSizeY, fJsonNameLegendShiftColumnX, fJsonNameLegendShiftColumnY, fJsonNameLegendShiftTotalX, fJsonNameLegendShiftTotalY, fJsonNameLegendTextFont, fJsonNameLegendTextForAllRuns, fJsonNameLegendTextSize, fJsonNameMarginBottom, fJsonNameMarginLeft, fJsonNameMarginRight, fJsonNameMarginTop, fJsonNameProfile, fJsonNameProfileZoom, fJsonNameReferenceProfile, fJsonNameTagInfo, fJsonNameTagTextFont, fJsonNameTagTextSize, fJsonNameTitleOffsetX, fJsonNameTitleOffsetY, fJsonNameTitleSizeX, fJsonNameTitleSizeY, fJsonNameTrend, fJsonNameTrendZoom, fJsonNIovInOnePlot, fJsonNormalizeQAplots, fJsonRunsForLines, fJsonSaveComment, fJsonSkipRunsWithNoData, fJsonTrackQAname, fJsonUseLuminosityForTrends, fJsonWidePtBinBorders, fJsonYearLineColor, fJsonYearLineStyle, fJsonYearLineWidth, fLegendComments, fLegendTextForAllRuns, fLumiPerIovFile, fMakeIovListForSlides, fMarkerColor, fMarkerSize, fMarkerStyle, fNIovInOnePlot, fNormalizeQAplots, fProfileLegendShiftColumnX, fProfileLegendShiftColumnY, fProfileLegendShiftTotalX, fProfileLegendShiftTotalY, fProfileLegendTextFont, fProfileLegendTextSize, fProfileZoomHigh, fProfileZoomLow, fRunsForLines, fSaveComment, fSkipRunsWithNoData, fTrendCanvasHeight, fTrendCanvasWidth, fTrendLabelOffsetX, fTrendLabelOffsetY, fTrendLabelSizeX, fTrendLabelSizeY, fTrendLegendShiftTotalX, fTrendLegendShiftTotalY, fTrendLegendTextFont, fTrendLegendTextSize, fTrendMarginBottom, fTrendMarginLeft, fTrendMarginRight, fTrendMarginTop, fTrendTagPositionX, fTrendTagPositionY, fTrendTagText, fTrendTagTextFont, fTrendTagTextSize, fTrendTitleOffsetX, fTrendTitleOffsetY, fTrendTitleSizeX, fTrendTitleSizeY, fTrendZoomHigh, fTrendZoomLow, fUseLuminosityForTrends, fWidePtBinBorders, fYearLineColor, fYearLineStyle, fYearLineWidth, B2GTnPMonitor_cfi::item, kMaxLegendColumns, knHistogramTypes, knProfileTypes, knTrendTypes, DiDispStaMuonMonitor_cfi::pt, mps_fire::result, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by jetHtPlotter().

260  {
261  // Read the file to property tree
262  namespace pt = boost::property_tree;
263  pt::ptree configuration;
264  pt::read_json(fileName, configuration);
265 
266  // Read the alignments and styles for these
267  int indexForDefault = 0;
268  std::string alignmentName;
269  std::string thisValue;
270  int thisNumber;
271  bool thisBool;
272  for (pt::ptree::value_type& result : configuration.get_child("jethtplot.alignments")) {
273  alignmentName = result.first;
274 
275  // Input file for the alignment
276  try {
277  thisValue = configuration.get_child(Form("jethtplot.alignments.%s.inputFile", alignmentName.c_str()))
278  .get_value<std::string>();
279 
280  // From the file name, expand possible environment variables
282 
283  // Expand CMSSW_BASE event without preceding $-sign
284  boost::replace_all(thisValue, "CMSSW_BASE", getenv("CMSSW_BASE"));
285 
286  fInputFileNames.push_back(thisValue);
287  } catch (const std::exception& e) {
288  if (fDebugLevel > 0) {
289  std::cout << "No input file given for alignment " << alignmentName
290  << "! All the configuration for this alignment is skipped." << std::endl;
291  }
292  continue;
293  }
294 
295  // Legend text for the alignment
296  try {
297  thisValue = configuration.get_child(Form("jethtplot.alignments.%s.legendText", alignmentName.c_str()))
298  .get_value<std::string>();
299  fLegendComments.push_back(thisValue);
300  } catch (const std::exception& e) {
301  if (fDebugLevel > 0) {
302  std::cout << "No legend text given for alignment " << alignmentName << "! Using default value "
303  << Form("Alignment%d", indexForDefault) << "." << std::endl;
304  fLegendComments.push_back(Form("Alignment%d", indexForDefault));
305  }
306  }
307 
308  // Marker color related to the alignment
309  try {
310  thisNumber =
311  configuration.get_child(Form("jethtplot.alignments.%s.color", alignmentName.c_str())).get_value<int>();
312  fMarkerColor.push_back(thisNumber);
313  } catch (const std::exception& e) {
314  if (fDebugLevel > 0) {
315  std::cout << "No marker color given for alignment " << alignmentName << "! Using default value "
316  << fDefaultColors[indexForDefault] << "." << std::endl;
317  fMarkerColor.push_back(fDefaultColors[indexForDefault]);
318  }
319  }
320 
321  // Marker style related to the alignment
322  try {
323  thisNumber =
324  configuration.get_child(Form("jethtplot.alignments.%s.style", alignmentName.c_str())).get_value<int>();
325  fMarkerStyle.push_back(thisNumber);
326  } catch (const std::exception& e) {
327  if (fDebugLevel > 0) {
328  std::cout << "No marker style given for alignment " << alignmentName << "! Using default value "
329  << fDefaultStyle << "." << std::endl;
330  fMarkerStyle.push_back(fDefaultStyle);
331  }
332  }
333 
334  // Marker size related to the alignment
335  try {
336  thisNumber =
337  configuration.get_child(Form("jethtplot.alignments.%s.markerSize", alignmentName.c_str())).get_value<int>();
338  fMarkerSize.push_back(thisNumber);
339  } catch (const std::exception& e) {
340  if (fDebugLevel > 0) {
341  std::cout << "No marker size given for alignment " << alignmentName << "! Using default value "
342  << fDefaultMarkerSize << "." << std::endl;
343  fMarkerSize.push_back(fDefaultMarkerSize);
344  }
345  }
346 
347  // Copy color for statistical error bar related to the alignment
348  try {
349  thisBool = configuration.get_child(Form("jethtplot.alignments.%s.copyErrorColor", alignmentName.c_str()))
350  .get_value<bool>();
351  fCopyErrorColor.push_back(thisBool);
352  } catch (const std::exception& e) {
353  if (fDebugLevel > 0) {
354  std::cout << "Not defined is marker color should be copied for statistical error bars for alignment "
355  << alignmentName << "! Using default value false." << std::endl;
356  fCopyErrorColor.push_back(false);
357  }
358  }
359 
360  indexForDefault++;
361  }
362 
363  // Read the drawing configuration for track QA
364  try {
365  fDrawTrackQA = configuration.get_child(Form("jethtplot.%s", fJsonTrackQAname.c_str())).get_value<bool>();
366  } catch (const std::exception& e) {
367  if (fDebugLevel > 0) {
368  std::cout << "No value " << Form("jethtplot.%s", fJsonTrackQAname.c_str())
369  << " in configuration. Using default value " << fDrawTrackQA << "." << std::endl;
370  }
371  }
372 
373  // Read the drawing configuration for dz and dxy value and error histograms
374  for (int iHistogram = 0; iHistogram < knHistogramTypes; iHistogram++) {
375  try {
376  fDrawHistogram[iHistogram] =
378  .get_child(
379  Form("jethtplot.%s.%s", fJsonCategoryNameHistogram.c_str(), fJsonNameHistogram[iHistogram].c_str()))
380  .get_value<bool>();
381  } catch (const std::exception& e) {
382  if (fDebugLevel > 0) {
383  std::cout << "No value "
384  << Form("jethtplot.%s.%s", fJsonCategoryNameHistogram.c_str(), fJsonNameHistogram[iHistogram].c_str())
385  << " in configuration. Using default value " << fDrawHistogram[iHistogram] << "." << std::endl;
386  }
387  }
388  }
389 
390  // Read the drawing configuration for profile plots
391  for (int iProfile = 0; iProfile < knProfileTypes; iProfile++) {
392  try {
393  fDrawProfile[iProfile] =
395  .get_child(Form("jethtplot.%s.%s", fJsonCategoryNameProfile.c_str(), fJsonNameProfile[iProfile].c_str()))
396  .get_value<bool>();
397  } catch (const std::exception& e) {
398  if (fDebugLevel > 0) {
399  std::cout << "No value "
400  << Form("jethtplot.%s.%s", fJsonCategoryNameProfile.c_str(), fJsonNameProfile[iProfile].c_str())
401  << " in configuration. Using default value " << fDrawProfile[iProfile] << "." << std::endl;
402  }
403  }
404  }
405 
406  // Draw the drawing of reference profile
407  try {
410  .get_child(Form("jethtplot.%s.%s", fJsonCategoryNameProfile.c_str(), fJsonNameReferenceProfile.c_str()))
411  .get_value<bool>();
412  } catch (const std::exception& e) {
413  if (fDebugLevel > 0) {
414  std::cout << "No value "
415  << Form("jethtplot.%s.%s", fJsonCategoryNameProfile.c_str(), fJsonNameReferenceProfile.c_str())
416  << " in configuration. Using default value " << fDrawReferenceProfile << "." << std::endl;
417  }
418  }
419 
420  // Draw the central eta summary profile to the all runs summary profile plots
421  try {
424  .get_child(
425  Form("jethtplot.%s.%s", fJsonCategoryNameProfile.c_str(), fJsonNameCentralEtaSummaryProfile.c_str()))
426  .get_value<bool>();
427  } catch (const std::exception& e) {
428  if (fDebugLevel > 0) {
429  std::cout << "No value "
430  << Form("jethtplot.%s.%s", fJsonCategoryNameProfile.c_str(), fJsonNameCentralEtaSummaryProfile.c_str())
431  << " in configuration. Using default value " << fDrawCentralEtaSummaryProfile << "." << std::endl;
432  }
433  }
434 
435  // Read the total legend shift in x-direction for legends in profile plots
436  try {
439  .get_child(Form("jethtplot.%s.%s", fJsonCategoryNameProfile.c_str(), fJsonNameLegendShiftTotalX.c_str()))
440  .get_value<double>();
441  } catch (const std::exception& e) {
442  if (fDebugLevel > 0) {
443  std::cout << "No value "
444  << Form("jethtplot.%s.%s", fJsonCategoryNameProfile.c_str(), fJsonNameLegendShiftTotalX.c_str())
445  << " in configuration. Using default value " << fProfileLegendShiftTotalX << "." << std::endl;
446  }
447  }
448 
449  // Read the total legend shift in y-direction for legends in profile plots
450  try {
453  .get_child(Form("jethtplot.%s.%s", fJsonCategoryNameProfile.c_str(), fJsonNameLegendShiftTotalY.c_str()))
454  .get_value<double>();
455  } catch (const std::exception& e) {
456  if (fDebugLevel > 0) {
457  std::cout << "No value "
458  << Form("jethtplot.%s.%s", fJsonCategoryNameProfile.c_str(), fJsonNameLegendShiftTotalY.c_str())
459  << " in configuration. Using default value " << fProfileLegendShiftTotalY << "." << std::endl;
460  }
461  }
462 
463  // Read the columnwise legend shift in x-direction for legends in profile plots
464  for (int iColumn = 0; iColumn < kMaxLegendColumns; iColumn++) {
465  try {
466  fProfileLegendShiftColumnX[iColumn] =
468  .get_child(Form(
469  "jethtplot.%s.%s%d", fJsonCategoryNameProfile.c_str(), fJsonNameLegendShiftColumnX.c_str(), iColumn))
470  .get_value<double>();
471  } catch (const std::exception& e) {
472  if (fDebugLevel > 0) {
473  std::cout
474  << "No value "
475  << Form("jethtplot.%s.%s%d", fJsonCategoryNameProfile.c_str(), fJsonNameLegendShiftColumnX.c_str(), iColumn)
476  << " in configuration. Using default value " << fProfileLegendShiftColumnX[iColumn] << "." << std::endl;
477  }
478  }
479  }
480 
481  // Read the columnwise legend shift in y-direction for legends in profile plots
482  for (int iColumn = 0; iColumn < kMaxLegendColumns; iColumn++) {
483  try {
484  fProfileLegendShiftColumnY[iColumn] =
486  .get_child(Form(
487  "jethtplot.%s.%s%d", fJsonCategoryNameProfile.c_str(), fJsonNameLegendShiftColumnY.c_str(), iColumn))
488  .get_value<double>();
489  } catch (const std::exception& e) {
490  if (fDebugLevel > 0) {
491  std::cout
492  << "No value "
493  << Form("jethtplot.%s.%s%d", fJsonCategoryNameProfile.c_str(), fJsonNameLegendShiftColumnY.c_str(), iColumn)
494  << " in configuration. Using default value " << fProfileLegendShiftColumnY[iColumn] << "." << std::endl;
495  }
496  }
497  }
498 
499  // Read the legend text size for profile plots
500  try {
503  .get_child(Form("jethtplot.%s.%s", fJsonCategoryNameProfile.c_str(), fJsonNameLegendTextSize.c_str()))
504  .get_value<double>();
505  } catch (const std::exception& e) {
506  if (fDebugLevel > 0) {
507  std::cout << "No value "
508  << Form("jethtplot.%s.%s", fJsonCategoryNameProfile.c_str(), fJsonNameLegendTextSize.c_str())
509  << " in configuration. Using default value " << fProfileLegendTextSize << "." << std::endl;
510  }
511  }
512 
513  // Read the legend text font for profile plots
514  try {
517  .get_child(Form("jethtplot.%s.%s", fJsonCategoryNameProfile.c_str(), fJsonNameLegendTextFont.c_str()))
518  .get_value<int>();
519  } catch (const std::exception& e) {
520  if (fDebugLevel > 0) {
521  std::cout << "No value "
522  << Form("jethtplot.%s.%s", fJsonCategoryNameProfile.c_str(), fJsonNameLegendTextFont.c_str())
523  << " in configuration. Using default value " << fProfileLegendTextFont << "." << std::endl;
524  }
525  }
526 
527  // Read the legend text referring to all runs
528  try {
530  configuration.get_child(Form("jethtplot.%s", fJsonNameLegendTextForAllRuns.c_str())).get_value<std::string>();
531  } catch (const std::exception& e) {
532  if (fDebugLevel > 0) {
533  std::cout << "No value " << Form("jethtplot.%s", fJsonNameLegendTextForAllRuns.c_str())
534  << " in configuration. Using default value " << fLegendTextForAllRuns << "." << std::endl;
535  }
536  }
537 
538  // Read the configuration for plotting individual IOV:s for dxy, dx and profile plots
539  try {
541  configuration.get_child(Form("jethtplot.%s", fJsonDrawPlotsForEachIOV.c_str())).get_value<bool>();
542  } catch (const std::exception& e) {
543  if (fDebugLevel > 0) {
544  std::cout << "No value " << Form("jethtplot.%s", fJsonDrawPlotsForEachIOV.c_str())
545  << " in configuration. Using default value " << fDrawPlotsForEachIOV << "." << std::endl;
546  }
547  }
548 
549  // Read the number of IOVs plotted in the same figure, if individual IOV are plotted for profiles
550  try {
552  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameProfile.c_str(), fJsonNIovInOnePlot.c_str()))
553  .get_value<int>();
554  } catch (const std::exception& e) {
555  if (fDebugLevel > 0) {
556  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameProfile.c_str(), fJsonNIovInOnePlot.c_str())
557  << " in configuration. Using default value " << fNIovInOnePlot << "." << std::endl;
558  }
559  }
560 
561  // Read the axis zoom values for profile plots
562  for (int iProfile = 0; iProfile < knProfileTypes; iProfile++) {
563  try {
564  fProfileZoomLow[iProfile] =
566  .get_child(Form(
567  "jethtplot.%s.min%s", fJsonCategoryNameProfileZoom.c_str(), fJsonNameProfileZoom[iProfile].c_str()))
568  .get_value<double>();
569  } catch (const std::exception& e) {
570  if (fDebugLevel > 0) {
571  std::cout << "No value "
572  << Form("jethtplot.%s.min%s",
574  fJsonNameProfileZoom[iProfile].c_str())
575  << " in configuration. Using default value " << fProfileZoomLow[iProfile] << "." << std::endl;
576  }
577  }
578 
579  try {
580  fProfileZoomHigh[iProfile] =
582  .get_child(Form(
583  "jethtplot.%s.max%s", fJsonCategoryNameProfileZoom.c_str(), fJsonNameProfileZoom[iProfile].c_str()))
584  .get_value<double>();
585  } catch (const std::exception& e) {
586  if (fDebugLevel > 0) {
587  std::cout << "No value "
588  << Form("jethtplot.%s.max%s",
590  fJsonNameProfileZoom[iProfile].c_str())
591  << " in configuration. Using default value " << fProfileZoomHigh[iProfile] << "." << std::endl;
592  }
593  }
594  }
595 
596  // Read the drawing configuration for trend plots
597  for (int iTrend = 0; iTrend < knTrendTypes; iTrend++) {
598  try {
599  fDrawTrend[iTrend] =
601  .get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameTrend[iTrend].c_str()))
602  .get_value<bool>();
603  } catch (const std::exception& e) {
604  if (fDebugLevel > 0) {
605  std::cout << "No value "
606  << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameTrend[iTrend].c_str())
607  << " in configuration. Using default value " << fDrawTrend[iTrend] << "." << std::endl;
608  }
609  }
610  }
611 
612  // Read the total legend shift in x-direction for legends in trend plots
613  try {
616  .get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameLegendShiftTotalX.c_str()))
617  .get_value<double>();
618  } catch (const std::exception& e) {
619  if (fDebugLevel > 0) {
620  std::cout << "No value "
621  << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameLegendShiftTotalX.c_str())
622  << " in configuration. Using default value " << fTrendLegendShiftTotalX << "." << std::endl;
623  }
624  }
625 
626  // Read the total legend shift in y-direction for legends in trend plots
627  try {
630  .get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameLegendShiftTotalY.c_str()))
631  .get_value<double>();
632  } catch (const std::exception& e) {
633  if (fDebugLevel > 0) {
634  std::cout << "No value "
635  << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameLegendShiftTotalY.c_str())
636  << " in configuration. Using default value " << fTrendLegendShiftTotalY << "." << std::endl;
637  }
638  }
639 
640  // Read the legend text size for trend plots
641  try {
644  .get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameLegendTextSize.c_str()))
645  .get_value<double>();
646  } catch (const std::exception& e) {
647  if (fDebugLevel > 0) {
648  std::cout << "No value "
649  << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameLegendTextSize.c_str())
650  << " in configuration. Using default value " << fTrendLegendTextSize << "." << std::endl;
651  }
652  }
653 
654  // Read the legend text font for trend plots
655  try {
658  .get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameLegendTextFont.c_str()))
659  .get_value<int>();
660  } catch (const std::exception& e) {
661  if (fDebugLevel > 0) {
662  std::cout << "No value "
663  << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameLegendTextFont.c_str())
664  << " in configuration. Using default value " << fTrendLegendTextFont << "." << std::endl;
665  }
666  }
667 
668  // Read the flag for drawing vertical lines to trend plots
669  try {
671  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonDrawYearLines.c_str()))
672  .get_value<bool>();
673  } catch (const std::exception& e) {
674  if (fDebugLevel > 0) {
675  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonDrawYearLines.c_str())
676  << " in configuration. Using default value " << fDrawYearLines << "." << std::endl;
677  }
678  }
679 
680  // Read the line color for year lines in trend plots
681  try {
683  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonYearLineColor.c_str()))
684  .get_value<int>();
685  } catch (const std::exception& e) {
686  if (fDebugLevel > 0) {
687  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonYearLineColor.c_str())
688  << " in configuration. Using default value " << fYearLineColor << "." << std::endl;
689  }
690  }
691 
692  // Read the line witdh for year lines in trend plots
693  try {
695  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonYearLineWidth.c_str()))
696  .get_value<int>();
697  } catch (const std::exception& e) {
698  if (fDebugLevel > 0) {
699  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonYearLineWidth.c_str())
700  << " in configuration. Using default value " << fYearLineWidth << "." << std::endl;
701  }
702  }
703 
704  // Read the line style for year lines in trend plots
705  try {
707  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonYearLineStyle.c_str()))
708  .get_value<int>();
709  } catch (const std::exception& e) {
710  if (fDebugLevel > 0) {
711  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonYearLineStyle.c_str())
712  << " in configuration. Using default value " << fYearLineStyle << "." << std::endl;
713  }
714  }
715 
716  // Read run positions to which vertical lines are drawn in trend plots
717  try {
718  for (auto& item :
719  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonRunsForLines.c_str()))) {
720  fRunsForLines.push_back(item.second.get_value<int>());
721  }
722  } catch (const std::exception& e) {
723  if (fDebugLevel > 0) {
724  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonRunsForLines.c_str())
725  << " in configuration. Using default values 290543 and 314881." << std::endl;
726  }
727  fRunsForLines.push_back(290543);
728  fRunsForLines.push_back(314881);
729  }
730 
731  // Read the flag for drawing manual tags to trend plots
732  try {
733  fDrawTrendTag =
734  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameDrawTag.c_str()))
735  .get_value<bool>();
736  } catch (const std::exception& e) {
737  if (fDebugLevel > 0) {
738  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameDrawTag.c_str())
739  << " in configuration. Using default value " << fDrawTrendTag << "." << std::endl;
740  }
741  }
742 
743  // Read the configuration for tags in trend plots
744  try {
745  int itemIndex = 0;
746  for (auto& configurationArray :
747  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameTagInfo.c_str()))) {
748  itemIndex = 0;
749  for (auto& item : configurationArray.second) {
750  if (itemIndex == 0) {
751  fTrendTagText.push_back(item.second.get_value<std::string>());
752  }
753  if (itemIndex == 1) {
754  fTrendTagPositionX.push_back(item.second.get_value<double>());
755  }
756  if (itemIndex == 2) {
757  fTrendTagPositionY.push_back(item.second.get_value<double>());
758  }
759  itemIndex++;
760  }
761  }
762  } catch (const std::exception& e) {
763  if (fDebugLevel > 0) {
764  std::cout << "There was either no value for "
765  << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameTagInfo.c_str())
766  << " in configuration, or the input was in wrong format. Using default values 2016 at (0.105,0.855), "
767  "2017 at (0.305,0.855) and 2018 at (0.563,0.855)."
768  << std::endl;
769  }
770  fTrendTagText.clear();
771  fTrendTagText.push_back("2016");
772  fTrendTagText.push_back("2017");
773  fTrendTagText.push_back("2018");
774  fTrendTagPositionX.clear();
775  fTrendTagPositionX.push_back(0.105);
776  fTrendTagPositionX.push_back(0.305);
777  fTrendTagPositionX.push_back(0.563);
778  fTrendTagPositionY.clear();
779  fTrendTagPositionY.push_back(0.855);
780  fTrendTagPositionY.push_back(0.855);
781  fTrendTagPositionY.push_back(0.855);
782  }
783 
784  // Read the tag text size for trend plots
785  try {
787  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameTagTextSize.c_str()))
788  .get_value<double>();
789  } catch (const std::exception& e) {
790  if (fDebugLevel > 0) {
791  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameTagTextSize.c_str())
792  << " in configuration. Using default value " << fTrendTagTextSize << "." << std::endl;
793  }
794  }
795 
796  // Read the tag text font for trend plots
797  try {
799  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameTagTextFont.c_str()))
800  .get_value<int>();
801  } catch (const std::exception& e) {
802  if (fDebugLevel > 0) {
803  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameTagTextFont.c_str())
804  << " in configuration. Using default value " << fTrendTagTextFont << "." << std::endl;
805  }
806  }
807 
808  // Read the trend plot canvas height
809  try {
811  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameCanvasHeight.c_str()))
812  .get_value<int>();
813  } catch (const std::exception& e) {
814  if (fDebugLevel > 0) {
815  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameCanvasHeight.c_str())
816  << " in configuration. Using default value " << fTrendCanvasHeight << "." << std::endl;
817  }
818  }
819 
820  // Read the trend plot canvas width
821  try {
823  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameCanvasWidth.c_str()))
824  .get_value<int>();
825  } catch (const std::exception& e) {
826  if (fDebugLevel > 0) {
827  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameCanvasWidth.c_str())
828  << " in configuration. Using default value " << fTrendCanvasWidth << "." << std::endl;
829  }
830  }
831 
832  // Read the left margin for trend plots
833  try {
835  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameMarginLeft.c_str()))
836  .get_value<double>();
837  } catch (const std::exception& e) {
838  if (fDebugLevel > 0) {
839  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameMarginLeft.c_str())
840  << " in configuration. Using default value " << fTrendMarginLeft << "." << std::endl;
841  }
842  }
843 
844  // Read the right margin for trend plots
845  try {
847  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameMarginRight.c_str()))
848  .get_value<double>();
849  } catch (const std::exception& e) {
850  if (fDebugLevel > 0) {
851  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameMarginRight.c_str())
852  << " in configuration. Using default value " << fTrendMarginRight << "." << std::endl;
853  }
854  }
855 
856  // Read the top margin for trend plots
857  try {
859  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameMarginTop.c_str()))
860  .get_value<double>();
861  } catch (const std::exception& e) {
862  if (fDebugLevel > 0) {
863  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameMarginTop.c_str())
864  << " in configuration. Using default value " << fTrendMarginTop << "." << std::endl;
865  }
866  }
867 
868  // Read the bottom margin for trend plots
869  try {
871  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameMarginBottom.c_str()))
872  .get_value<double>();
873  } catch (const std::exception& e) {
874  if (fDebugLevel > 0) {
875  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameMarginBottom.c_str())
876  << " in configuration. Using default value " << fTrendMarginBottom << "." << std::endl;
877  }
878  }
879 
880  // Read the offset of the x-axis title in trend plots
881  try {
883  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameTitleOffsetX.c_str()))
884  .get_value<double>();
885  } catch (const std::exception& e) {
886  if (fDebugLevel > 0) {
887  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameTitleOffsetX.c_str())
888  << " in configuration. Using default value " << fTrendTitleOffsetX << "." << std::endl;
889  }
890  }
891 
892  // Read the offset of the y-axis title in trend plots
893  try {
895  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameTitleOffsetY.c_str()))
896  .get_value<double>();
897  } catch (const std::exception& e) {
898  if (fDebugLevel > 0) {
899  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameTitleOffsetY.c_str())
900  << " in configuration. Using default value " << fTrendTitleOffsetY << "." << std::endl;
901  }
902  }
903 
904  // Read the size of the x-axis title in trend plots
905  try {
907  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameTitleSizeX.c_str()))
908  .get_value<double>();
909  } catch (const std::exception& e) {
910  if (fDebugLevel > 0) {
911  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameTitleSizeX.c_str())
912  << " in configuration. Using default value " << fTrendTitleSizeX << "." << std::endl;
913  }
914  }
915 
916  // Read the size of the y-axis title in trend plots
917  try {
919  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameTitleSizeY.c_str()))
920  .get_value<double>();
921  } catch (const std::exception& e) {
922  if (fDebugLevel > 0) {
923  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameTitleSizeY.c_str())
924  << " in configuration. Using default value " << fTrendTitleSizeY << "." << std::endl;
925  }
926  }
927 
928  // Read the offset of the x-axis label in trend plots
929  try {
931  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameLabelOffsetX.c_str()))
932  .get_value<double>();
933  } catch (const std::exception& e) {
934  if (fDebugLevel > 0) {
935  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameLabelOffsetX.c_str())
936  << " in configuration. Using default value " << fTrendLabelOffsetX << "." << std::endl;
937  }
938  }
939 
940  // Read the offset of the y-axis label in trend plots
941  try {
943  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameLabelOffsetY.c_str()))
944  .get_value<double>();
945  } catch (const std::exception& e) {
946  if (fDebugLevel > 0) {
947  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameLabelOffsetY.c_str())
948  << " in configuration. Using default value " << fTrendLabelOffsetY << "." << std::endl;
949  }
950  }
951 
952  // Read the size of the x-axis label in trend plots
953  try {
955  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameLabelSizeX.c_str()))
956  .get_value<double>();
957  } catch (const std::exception& e) {
958  if (fDebugLevel > 0) {
959  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameLabelSizeX.c_str())
960  << " in configuration. Using default value " << fTrendLabelSizeX << "." << std::endl;
961  }
962  }
963 
964  // Read the size of the y-axis label in trend plots
965  try {
967  configuration.get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameLabelSizeY.c_str()))
968  .get_value<double>();
969  } catch (const std::exception& e) {
970  if (fDebugLevel > 0) {
971  std::cout << "No value " << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonNameLabelSizeY.c_str())
972  << " in configuration. Using default value " << fTrendLabelSizeY << "." << std::endl;
973  }
974  }
975 
976  // Read the configuration for plotting trends plots as a function of luminosity
977  try {
980  .get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonUseLuminosityForTrends.c_str()))
981  .get_value<bool>();
982  } catch (const std::exception& e) {
983  if (fDebugLevel > 0) {
984  std::cout << "No value "
985  << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonUseLuminosityForTrends.c_str())
986  << " in configuration. Using default value " << fUseLuminosityForTrends << "." << std::endl;
987  }
988  }
989 
990  // Read the configuration for skipping runs with no data in trend plots
991  try {
994  .get_child(Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonSkipRunsWithNoData.c_str()))
995  .get_value<bool>();
996  } catch (const std::exception& e) {
997  if (fDebugLevel > 0) {
998  std::cout << "No value "
999  << Form("jethtplot.%s.%s", fJsonCategoryNameTrend.c_str(), fJsonSkipRunsWithNoData.c_str())
1000  << " in configuration. Using default value " << fSkipRunsWithNoData << "." << std::endl;
1001  }
1002  }
1003 
1004  // Read the axis zoom values for trend plots
1005  for (int iTrend = 0; iTrend < knTrendTypes; iTrend++) {
1006  try {
1007  fTrendZoomLow[iTrend] =
1009  .get_child(
1010  Form("jethtplot.%s.min%s", fJsonCategoryNameTrendZoom.c_str(), fJsonNameTrendZoom[iTrend].c_str()))
1011  .get_value<double>();
1012  } catch (const std::exception& e) {
1013  if (fDebugLevel > 0) {
1014  std::cout << "No value "
1015  << Form("jethtplot.%s.min%s", fJsonCategoryNameTrendZoom.c_str(), fJsonNameTrendZoom[iTrend].c_str())
1016  << " in configuration. Using default value " << fTrendZoomLow[iTrend] << "." << std::endl;
1017  }
1018  }
1019 
1020  try {
1021  fTrendZoomHigh[iTrend] =
1023  .get_child(
1024  Form("jethtplot.%s.max%s", fJsonCategoryNameTrendZoom.c_str(), fJsonNameTrendZoom[iTrend].c_str()))
1025  .get_value<double>();
1026  } catch (const std::exception& e) {
1027  if (fDebugLevel > 0) {
1028  std::cout << "No value "
1029  << Form("jethtplot.%s.max%s", fJsonCategoryNameTrendZoom.c_str(), fJsonNameTrendZoom[iTrend].c_str())
1030  << " in configuration. Using default value " << fTrendZoomHigh[iTrend] << "." << std::endl;
1031  }
1032  }
1033  }
1034 
1035  // Read the configuration for normalizing QA plots by their integral
1036  try {
1037  fNormalizeQAplots = configuration.get_child(Form("jethtplot.%s", fJsonNormalizeQAplots.c_str())).get_value<bool>();
1038  } catch (const std::exception& e) {
1039  if (fDebugLevel > 0) {
1040  std::cout << "No value " << Form("jethtplot.%s", fJsonNormalizeQAplots.c_str())
1041  << " in configuration. Using default value " << fNormalizeQAplots << "." << std::endl;
1042  }
1043  }
1044 
1045  // Read comment given to saved figures
1046  try {
1047  fSaveComment = configuration.get_child(Form("jethtplot.%s", fJsonSaveComment.c_str())).get_value<std::string>();
1048  } catch (const std::exception& e) {
1049  if (fDebugLevel > 0) {
1050  std::cout << "No value " << Form("jethtplot.%s", fJsonSaveComment.c_str())
1051  << " in configuration. Using default value (empty string)." << std::endl;
1052  }
1053  }
1054 
1055  // Read the file name for luminosity per IOV
1056  try {
1057  fLumiPerIovFile =
1058  configuration.get_child(Form("jethtplot.%s", fJsonLumiPerIovFile.c_str())).get_value<std::string>();
1059 
1060  // From the file name, expand environment variables
1062 
1063  // Expand CMSSW_BASE even without preceding $-sign
1064  boost::replace_all(fLumiPerIovFile, "CMSSW_BASE", getenv("CMSSW_BASE"));
1065 
1066  // If file doesn't exist search elsewhere
1067 
1068  } catch (const std::exception& e) {
1069  if (fDebugLevel > 0) {
1070  std::cout << "No value " << Form("jethtplot.%s", fJsonLumiPerIovFile.c_str())
1071  << " in configuration. Using default value " << fLumiPerIovFile << "." << std::endl;
1072  }
1073  }
1074 
1075  // Read the IOV list mode. Either "run" or "IOV"
1076  try {
1077  fIovListMode = configuration.get_child(Form("jethtplot.%s", fJsonIovListMode.c_str())).get_value<std::string>();
1078  } catch (const std::exception& e) {
1079  if (fDebugLevel > 0) {
1080  std::cout << "No value " << Form("jethtplot.%s", fJsonIovListMode.c_str())
1081  << " in configuration. Using default value " << fIovListMode << "." << std::endl;
1082  }
1083  }
1084 
1085  // Read the bin borders for the wide pT bims.
1086  try {
1087  for (auto& item : configuration.get_child(Form("jethtplot.%s", fJsonWidePtBinBorders.c_str()))) {
1088  fWidePtBinBorders.push_back(item.second.get_value<double>());
1089  }
1090  } catch (const std::exception& e) {
1091  if (fDebugLevel > 0) {
1092  std::cout << "No value " << Form("jethtplot.%s", fJsonWidePtBinBorders.c_str())
1093  << " in configuration. Using default values 3, 5, 10, 20, 50 and 100." << std::endl;
1094  }
1095  fWidePtBinBorders.push_back(3.0);
1096  fWidePtBinBorders.push_back(5.0);
1097  fWidePtBinBorders.push_back(10.0);
1098  fWidePtBinBorders.push_back(20.0);
1099  fWidePtBinBorders.push_back(50.0);
1100  fWidePtBinBorders.push_back(100.0);
1101  }
1102 
1103  // Read the flag for creating an IOV list for the slides
1104  try {
1106  configuration.get_child(Form("jethtplot.%s", fJsonMakeIovListForSlides.c_str())).get_value<bool>();
1107  } catch (const std::exception& e) {
1108  if (fDebugLevel > 0) {
1109  std::cout << "No value " << Form("jethtplot.%s", fJsonMakeIovListForSlides.c_str())
1110  << " in configuration. Using default value " << fMakeIovListForSlides << "." << std::endl;
1111  }
1112  }
1113 
1114  // Read the output file name for the IOV list for the slides
1115  try {
1117  configuration.get_child(Form("jethtplot.%s", fJsonIovListForSlides.c_str())).get_value<std::string>();
1118 
1119  // From the file name, expand environment variables
1121 
1122  // Expand CMSSW_BASE event without preceding $-sign
1123  boost::replace_all(fIovListForSlides, "CMSSW_BASE", getenv("CMSSW_BASE"));
1124 
1125  } catch (const std::exception& e) {
1126  if (fDebugLevel > 0) {
1127  std::cout << "No value " << Form("jethtplot.%s", fJsonIovListForSlides.c_str())
1128  << " in configuration. Using default value " << fIovListForSlides << "." << std::endl;
1129  }
1130  }
1131 }
double fProfileLegendShiftColumnY[kMaxLegendColumns]
std::string fJsonNameHistogram[knHistogramTypes]
void autoExpandEnvironmentVariables(std::string &text) const
std::string fJsonNameTrend[knHistogramTypes]
std::vector< bool > fCopyErrorColor
std::string fJsonNameTrendZoom[knHistogramTypes]
std::string fJsonNameProfileZoom[knProfileTypes]
std::vector< int > fMarkerColor
std::vector< int > fRunsForLines
static const int kMaxLegendColumns
double fProfileZoomLow[knProfileTypes]
std::vector< double > fWidePtBinBorders
double fProfileLegendShiftColumnX[kMaxLegendColumns]
std::vector< int > fMarkerSize
double fTrendZoomLow[knTrendTypes]
double fProfileZoomHigh[knProfileTypes]
std::vector< double > fTrendTagPositionX
dictionary configuration
Definition: JetHT_cfg.py:37
std::string fJsonNameProfile[knProfileTypes]
bool fDrawProfile[knProfileTypes]
std::vector< std::string > fTrendTagText
std::vector< int > fMarkerStyle
bool fDrawHistogram[knHistogramTypes]
double fTrendZoomHigh[knTrendTypes]
std::string fJsonNameCentralEtaSummaryProfile
std::vector< std::string > fLegendComments
std::vector< double > fTrendTagPositionY
std::vector< std::string > fInputFileNames

◆ runsForLines()

std::vector< int > JetHtPlotConfiguration::runsForLines ( ) const

Definition at line 1507 of file JetHtPlotConfiguration.cc.

References fRunsForLines.

Referenced by jetHtPlotter().

1507 { return fRunsForLines; }
std::vector< int > fRunsForLines

◆ saveComment()

const char * JetHtPlotConfiguration::saveComment ( ) const

Definition at line 1528 of file JetHtPlotConfiguration.cc.

References fSaveComment.

Referenced by jetHtPlotter().

1528 { return fSaveComment.c_str(); }

◆ skipRunsWithNoData()

bool JetHtPlotConfiguration::skipRunsWithNoData ( ) const

Definition at line 1522 of file JetHtPlotConfiguration.cc.

References fSkipRunsWithNoData.

Referenced by jetHtPlotter().

◆ trendCanvasHeight()

int JetHtPlotConfiguration::trendCanvasHeight ( ) const

Definition at line 1383 of file JetHtPlotConfiguration.cc.

References fTrendCanvasHeight.

Referenced by jetHtPlotter().

◆ trendCanvasWidth()

int JetHtPlotConfiguration::trendCanvasWidth ( ) const

Definition at line 1386 of file JetHtPlotConfiguration.cc.

References fTrendCanvasWidth.

Referenced by jetHtPlotter().

◆ trendLabelOffsetX()

double JetHtPlotConfiguration::trendLabelOffsetX ( ) const

Definition at line 1413 of file JetHtPlotConfiguration.cc.

References fTrendLabelOffsetX.

Referenced by jetHtPlotter().

◆ trendLabelOffsetY()

double JetHtPlotConfiguration::trendLabelOffsetY ( ) const

Definition at line 1416 of file JetHtPlotConfiguration.cc.

References fTrendLabelOffsetY.

Referenced by jetHtPlotter().

◆ trendLabelSizeX()

double JetHtPlotConfiguration::trendLabelSizeX ( ) const

Definition at line 1419 of file JetHtPlotConfiguration.cc.

References fTrendLabelSizeX.

Referenced by jetHtPlotter().

◆ trendLabelSizeY()

double JetHtPlotConfiguration::trendLabelSizeY ( ) const

Definition at line 1422 of file JetHtPlotConfiguration.cc.

References fTrendLabelSizeY.

Referenced by jetHtPlotter().

◆ trendLegendShiftTotalX()

double JetHtPlotConfiguration::trendLegendShiftTotalX ( ) const

Definition at line 1353 of file JetHtPlotConfiguration.cc.

References fTrendLegendShiftTotalX.

Referenced by jetHtPlotter().

◆ trendLegendShiftTotalY()

double JetHtPlotConfiguration::trendLegendShiftTotalY ( ) const

Definition at line 1356 of file JetHtPlotConfiguration.cc.

References fTrendLegendShiftTotalY.

Referenced by jetHtPlotter().

◆ trendLegendTextFont()

int JetHtPlotConfiguration::trendLegendTextFont ( ) const

Definition at line 1362 of file JetHtPlotConfiguration.cc.

References fTrendLegendTextFont.

Referenced by jetHtPlotter().

◆ trendLegendTextSize()

double JetHtPlotConfiguration::trendLegendTextSize ( ) const

Definition at line 1359 of file JetHtPlotConfiguration.cc.

References fTrendLegendTextSize.

Referenced by jetHtPlotter().

◆ trendMarginBottom()

double JetHtPlotConfiguration::trendMarginBottom ( ) const

Definition at line 1398 of file JetHtPlotConfiguration.cc.

References fTrendMarginBottom.

Referenced by jetHtPlotter().

◆ trendMarginLeft()

double JetHtPlotConfiguration::trendMarginLeft ( ) const

Definition at line 1389 of file JetHtPlotConfiguration.cc.

References fTrendMarginLeft.

Referenced by jetHtPlotter().

◆ trendMarginRight()

double JetHtPlotConfiguration::trendMarginRight ( ) const

Definition at line 1392 of file JetHtPlotConfiguration.cc.

References fTrendMarginRight.

Referenced by jetHtPlotter().

◆ trendMarginTop()

double JetHtPlotConfiguration::trendMarginTop ( ) const

Definition at line 1395 of file JetHtPlotConfiguration.cc.

References fTrendMarginTop.

Referenced by jetHtPlotter().

◆ trendTagPositionX()

std::vector< double > JetHtPlotConfiguration::trendTagPositionX ( ) const

Definition at line 1371 of file JetHtPlotConfiguration.cc.

References fTrendTagPositionX.

Referenced by jetHtPlotter().

1371 { return fTrendTagPositionX; }
std::vector< double > fTrendTagPositionX

◆ trendTagPositionY()

std::vector< double > JetHtPlotConfiguration::trendTagPositionY ( ) const

Definition at line 1374 of file JetHtPlotConfiguration.cc.

References fTrendTagPositionY.

Referenced by jetHtPlotter().

1374 { return fTrendTagPositionY; }
std::vector< double > fTrendTagPositionY

◆ trendTagText()

std::vector< std::string > JetHtPlotConfiguration::trendTagText ( ) const

Definition at line 1368 of file JetHtPlotConfiguration.cc.

References fTrendTagText.

Referenced by jetHtPlotter().

1368 { return fTrendTagText; }
std::vector< std::string > fTrendTagText

◆ trendTagTextFont()

int JetHtPlotConfiguration::trendTagTextFont ( ) const

Definition at line 1380 of file JetHtPlotConfiguration.cc.

References fTrendTagTextFont.

Referenced by jetHtPlotter().

◆ trendTagTextSize()

double JetHtPlotConfiguration::trendTagTextSize ( ) const

Definition at line 1377 of file JetHtPlotConfiguration.cc.

References fTrendTagTextSize.

Referenced by jetHtPlotter().

◆ trendTitleOffsetX()

double JetHtPlotConfiguration::trendTitleOffsetX ( ) const

Definition at line 1401 of file JetHtPlotConfiguration.cc.

References fTrendTitleOffsetX.

Referenced by jetHtPlotter().

◆ trendTitleOffsetY()

double JetHtPlotConfiguration::trendTitleOffsetY ( ) const

Definition at line 1404 of file JetHtPlotConfiguration.cc.

References fTrendTitleOffsetY.

Referenced by jetHtPlotter().

◆ trendTitleSizeX()

double JetHtPlotConfiguration::trendTitleSizeX ( ) const

Definition at line 1407 of file JetHtPlotConfiguration.cc.

References fTrendTitleSizeX.

Referenced by jetHtPlotter().

◆ trendTitleSizeY()

double JetHtPlotConfiguration::trendTitleSizeY ( ) const

Definition at line 1410 of file JetHtPlotConfiguration.cc.

References fTrendTitleSizeY.

Referenced by jetHtPlotter().

◆ trendZoomHigh()

double JetHtPlotConfiguration::trendZoomHigh ( const int  iTrend) const

Definition at line 1428 of file JetHtPlotConfiguration.cc.

References fTrendZoomHigh.

Referenced by jetHtPlotter().

1428 { return fTrendZoomHigh[iTrend]; }
double fTrendZoomHigh[knTrendTypes]

◆ trendZoomLow()

double JetHtPlotConfiguration::trendZoomLow ( const int  iTrend) const

Definition at line 1425 of file JetHtPlotConfiguration.cc.

References fTrendZoomLow.

Referenced by jetHtPlotter().

1425 { return fTrendZoomLow[iTrend]; }
double fTrendZoomLow[knTrendTypes]

◆ useLuminosityForTrends()

bool JetHtPlotConfiguration::useLuminosityForTrends ( ) const

Definition at line 1519 of file JetHtPlotConfiguration.cc.

References fUseLuminosityForTrends.

Referenced by jetHtPlotter().

◆ widePtBinBorders()

std::vector< double > JetHtPlotConfiguration::widePtBinBorders ( ) const

Definition at line 1510 of file JetHtPlotConfiguration.cc.

References fWidePtBinBorders.

Referenced by jetHtPlotter().

1510 { return fWidePtBinBorders; }
std::vector< double > fWidePtBinBorders

◆ yearLineColor()

int JetHtPlotConfiguration::yearLineColor ( ) const

Definition at line 1498 of file JetHtPlotConfiguration.cc.

References fYearLineColor.

Referenced by jetHtPlotter().

◆ yearLineStyle()

int JetHtPlotConfiguration::yearLineStyle ( ) const

Definition at line 1504 of file JetHtPlotConfiguration.cc.

References fYearLineStyle.

Referenced by jetHtPlotter().

◆ yearLineWidth()

int JetHtPlotConfiguration::yearLineWidth ( ) const

Definition at line 1501 of file JetHtPlotConfiguration.cc.

References fYearLineWidth.

Referenced by jetHtPlotter().

Member Data Documentation

◆ fCopyErrorColor

std::vector<bool> JetHtPlotConfiguration::fCopyErrorColor
private

◆ fDebugLevel

int JetHtPlotConfiguration::fDebugLevel
private

Definition at line 216 of file JetHtPlotConfiguration.h.

Referenced by operator=(), and readJsonFile().

◆ fDefaultColors

int JetHtPlotConfiguration::fDefaultColors[11]
private
Initial value:
= {
kBlue, kRed, kGreen + 2, kMagenta, kBlack, kCyan, kViolet + 3, kOrange, kPink - 7, kSpring + 3, kAzure - 7}

Definition at line 289 of file JetHtPlotConfiguration.h.

Referenced by markerColor(), and readJsonFile().

◆ fDefaultMarkerSize

int JetHtPlotConfiguration::fDefaultMarkerSize = 1
private

Definition at line 292 of file JetHtPlotConfiguration.h.

Referenced by markerSize(), and readJsonFile().

◆ fDefaultStyle

int JetHtPlotConfiguration::fDefaultStyle = 20
private

Definition at line 291 of file JetHtPlotConfiguration.h.

Referenced by markerStyle(), and readJsonFile().

◆ fDrawCentralEtaSummaryProfile

bool JetHtPlotConfiguration::fDrawCentralEtaSummaryProfile
private

◆ fDrawHistogram

bool JetHtPlotConfiguration::fDrawHistogram[knHistogramTypes]
private

◆ fDrawPlotsForEachIOV

bool JetHtPlotConfiguration::fDrawPlotsForEachIOV
private

◆ fDrawProfile

bool JetHtPlotConfiguration::fDrawProfile[knProfileTypes]
private

◆ fDrawReferenceProfile

bool JetHtPlotConfiguration::fDrawReferenceProfile
private

◆ fDrawTrackQA

bool JetHtPlotConfiguration::fDrawTrackQA
private

Definition at line 218 of file JetHtPlotConfiguration.h.

Referenced by drawTrackQA(), operator=(), printConfiguration(), and readJsonFile().

◆ fDrawTrend

bool JetHtPlotConfiguration::fDrawTrend[knTrendTypes]
private

◆ fDrawTrendTag

bool JetHtPlotConfiguration::fDrawTrendTag
private

◆ fDrawYearLines

bool JetHtPlotConfiguration::fDrawYearLines
private

◆ fInputFileNames

std::vector<std::string> JetHtPlotConfiguration::fInputFileNames
private

◆ fIovListForSlides

std::string JetHtPlotConfiguration::fIovListForSlides
private

◆ fIovListMode

std::string JetHtPlotConfiguration::fIovListMode
private

Definition at line 277 of file JetHtPlotConfiguration.h.

Referenced by iovListMode(), operator=(), printConfiguration(), and readJsonFile().

◆ fJsonCategoryNameHistogram

std::string JetHtPlotConfiguration::fJsonCategoryNameHistogram = "drawHistograms"
private

Definition at line 143 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonCategoryNameProfile

std::string JetHtPlotConfiguration::fJsonCategoryNameProfile = "drawProfiles"
private

Definition at line 145 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonCategoryNameProfileZoom

std::string JetHtPlotConfiguration::fJsonCategoryNameProfileZoom = "profileZoom"
private

Definition at line 156 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonCategoryNameTrend

std::string JetHtPlotConfiguration::fJsonCategoryNameTrend = "drawTrends"
private

Definition at line 165 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonCategoryNameTrendZoom

std::string JetHtPlotConfiguration::fJsonCategoryNameTrendZoom = "trendZoom"
private

Definition at line 167 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonDrawPlotsForEachIOV

std::string JetHtPlotConfiguration::fJsonDrawPlotsForEachIOV = "drawPlotsForEachIOV"
private

Definition at line 195 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonDrawYearLines

std::string JetHtPlotConfiguration::fJsonDrawYearLines = "drawYearLines"
private

Definition at line 203 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonInputFileName

std::string JetHtPlotConfiguration::fJsonInputFileName = "inputFiles"
private

Definition at line 193 of file JetHtPlotConfiguration.h.

◆ fJsonIovListForSlides

std::string JetHtPlotConfiguration::fJsonIovListForSlides = "iovListForSlides"
private

Definition at line 214 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonIovListMode

std::string JetHtPlotConfiguration::fJsonIovListMode = "lumiFileMode"
private

Definition at line 202 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonLegendComment

std::string JetHtPlotConfiguration::fJsonLegendComment = "legendText"
private

Definition at line 194 of file JetHtPlotConfiguration.h.

◆ fJsonLumiPerIovFile

std::string JetHtPlotConfiguration::fJsonLumiPerIovFile = "lumiPerIovFile"
private

Definition at line 201 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonMakeIovListForSlides

std::string JetHtPlotConfiguration::fJsonMakeIovListForSlides = "makeIovlistForSlides"
private

Definition at line 213 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameCanvasHeight

std::string JetHtPlotConfiguration::fJsonNameCanvasHeight = "canvasHeight"
private

Definition at line 178 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameCanvasWidth

std::string JetHtPlotConfiguration::fJsonNameCanvasWidth = "canvasWidth"
private

Definition at line 179 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameCentralEtaSummaryProfile

std::string JetHtPlotConfiguration::fJsonNameCentralEtaSummaryProfile = "drawCentralEtaSummaryProfile"
private

Definition at line 155 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameDrawTag

std::string JetHtPlotConfiguration::fJsonNameDrawTag = "drawTags"
private

Definition at line 208 of file JetHtPlotConfiguration.h.

Referenced by readJsonFile().

◆ fJsonNameHistogram

std::string JetHtPlotConfiguration::fJsonNameHistogram[knHistogramTypes] = {"drawDz", "drawDzError", "drawDxy", "drawDxyError"}
private

Definition at line 144 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameLabelOffsetX

std::string JetHtPlotConfiguration::fJsonNameLabelOffsetX = "labelOffsetX"
private

Definition at line 188 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameLabelOffsetY

std::string JetHtPlotConfiguration::fJsonNameLabelOffsetY = "labelOffsetY"
private

Definition at line 189 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameLabelSizeX

std::string JetHtPlotConfiguration::fJsonNameLabelSizeX = "labelSizeX"
private

Definition at line 190 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameLabelSizeY

std::string JetHtPlotConfiguration::fJsonNameLabelSizeY = "labelSizeY"
private

Definition at line 191 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameLegendShiftColumnX

std::string JetHtPlotConfiguration::fJsonNameLegendShiftColumnX = "legendShiftX"
private

Definition at line 172 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameLegendShiftColumnY

std::string JetHtPlotConfiguration::fJsonNameLegendShiftColumnY = "legendShiftY"
private

Definition at line 173 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameLegendShiftTotalX

std::string JetHtPlotConfiguration::fJsonNameLegendShiftTotalX = "legendShiftTotalX"
private

Definition at line 170 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameLegendShiftTotalY

std::string JetHtPlotConfiguration::fJsonNameLegendShiftTotalY = "legendShiftTotalY"
private

Definition at line 171 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameLegendTextFont

std::string JetHtPlotConfiguration::fJsonNameLegendTextFont = "legendTextFont"
private

Definition at line 175 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameLegendTextForAllRuns

std::string JetHtPlotConfiguration::fJsonNameLegendTextForAllRuns = "legendTextForAllRuns"
private

Definition at line 176 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameLegendTextSize

std::string JetHtPlotConfiguration::fJsonNameLegendTextSize = "legendTextSize"
private

Definition at line 174 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameMarginBottom

std::string JetHtPlotConfiguration::fJsonNameMarginBottom = "marginBottom"
private

Definition at line 183 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameMarginLeft

std::string JetHtPlotConfiguration::fJsonNameMarginLeft = "marginLeft"
private

Definition at line 180 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameMarginRight

std::string JetHtPlotConfiguration::fJsonNameMarginRight = "marginRight"
private

Definition at line 181 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameMarginTop

std::string JetHtPlotConfiguration::fJsonNameMarginTop = "marginTop"
private

Definition at line 182 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameProfile

std::string JetHtPlotConfiguration::fJsonNameProfile[knProfileTypes]
private
Initial value:
= {"drawDzErrorVsPt",
"drawDzErrorVsPhi",
"drawDzErrorVsEta",
"drawDxyErrorVsPt",
"drawDxyErrorVsPhi",
"drawDxyErrorVsEta",
"drawDzErrorVsPtWide",
"drawDxyErrorVsPtWide"}

Definition at line 146 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameProfileZoom

std::string JetHtPlotConfiguration::fJsonNameProfileZoom[knProfileTypes]
private
Initial value:
= {"ZoomPtProfileDz",
"ZoomPhiProfileDz",
"ZoomEtaProfileDz",
"ZoomPtProfileDxy",
"ZoomPhiProfileDxy",
"ZoomEtaProfileDxy",
"ZoomPtWideProfileDz",
"ZoomPtWideProfileDxy"}

Definition at line 157 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameReferenceProfile

std::string JetHtPlotConfiguration::fJsonNameReferenceProfile = "drawReferenceProfile"
private

Definition at line 154 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameTagInfo

std::string JetHtPlotConfiguration::fJsonNameTagInfo = "tagLabels"
private

Definition at line 209 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameTagTextFont

std::string JetHtPlotConfiguration::fJsonNameTagTextFont = "tagTextFont"
private

Definition at line 211 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameTagTextSize

std::string JetHtPlotConfiguration::fJsonNameTagTextSize = "tagTextSize"
private

Definition at line 210 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameTitleOffsetX

std::string JetHtPlotConfiguration::fJsonNameTitleOffsetX = "titleOffsetX"
private

Definition at line 184 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameTitleOffsetY

std::string JetHtPlotConfiguration::fJsonNameTitleOffsetY = "titleOffsetY"
private

Definition at line 185 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameTitleSizeX

std::string JetHtPlotConfiguration::fJsonNameTitleSizeX = "titleSizeX"
private

Definition at line 186 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameTitleSizeY

std::string JetHtPlotConfiguration::fJsonNameTitleSizeY = "titleSizeY"
private

Definition at line 187 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameTrend

std::string JetHtPlotConfiguration::fJsonNameTrend[knHistogramTypes] = {"drawDzError", "drawDxyError"}
private

Definition at line 166 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNameTrendZoom

std::string JetHtPlotConfiguration::fJsonNameTrendZoom[knHistogramTypes] = {"ZoomDzTrend", "ZoomDxyTrend"}
private

Definition at line 168 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNIovInOnePlot

std::string JetHtPlotConfiguration::fJsonNIovInOnePlot = "nIovInOnePlot"
private

Definition at line 196 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonNormalizeQAplots

std::string JetHtPlotConfiguration::fJsonNormalizeQAplots = "normalizeQAplots"
private

Definition at line 199 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonRunsForLines

std::string JetHtPlotConfiguration::fJsonRunsForLines = "runsForLines"
private

Definition at line 207 of file JetHtPlotConfiguration.h.

Referenced by readJsonFile().

◆ fJsonSaveComment

std::string JetHtPlotConfiguration::fJsonSaveComment = "saveComment"
private

Definition at line 200 of file JetHtPlotConfiguration.h.

Referenced by readJsonFile().

◆ fJsonSkipRunsWithNoData

std::string JetHtPlotConfiguration::fJsonSkipRunsWithNoData = "skipRunsWithNoData"
private

Definition at line 198 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonTrackQAname

std::string JetHtPlotConfiguration::fJsonTrackQAname = "drawTrackQA"
private

Definition at line 142 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonUseLuminosityForTrends

std::string JetHtPlotConfiguration::fJsonUseLuminosityForTrends = "useLuminosityAxis"
private

Definition at line 197 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonWidePtBinBorders

std::string JetHtPlotConfiguration::fJsonWidePtBinBorders = "widePtBinBorders"
private

Definition at line 212 of file JetHtPlotConfiguration.h.

Referenced by readJsonFile().

◆ fJsonYearLineColor

std::string JetHtPlotConfiguration::fJsonYearLineColor = "yearLineColor"
private

Definition at line 204 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonYearLineStyle

std::string JetHtPlotConfiguration::fJsonYearLineStyle = "yearLineStyle"
private

Definition at line 206 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fJsonYearLineWidth

std::string JetHtPlotConfiguration::fJsonYearLineWidth = "yearLineWidth"
private

Definition at line 205 of file JetHtPlotConfiguration.h.

Referenced by printConfiguration(), and readJsonFile().

◆ fLegendComments

std::vector<std::string> JetHtPlotConfiguration::fLegendComments
private

◆ fLegendTextForAllRuns

std::string JetHtPlotConfiguration::fLegendTextForAllRuns
private

◆ fLumiPerIovFile

std::string JetHtPlotConfiguration::fLumiPerIovFile
private

◆ fMakeIovListForSlides

bool JetHtPlotConfiguration::fMakeIovListForSlides
private

◆ fMarkerColor

std::vector<int> JetHtPlotConfiguration::fMarkerColor
private

Definition at line 264 of file JetHtPlotConfiguration.h.

Referenced by markerColor(), operator=(), printConfiguration(), and readJsonFile().

◆ fMarkerSize

std::vector<int> JetHtPlotConfiguration::fMarkerSize
private

Definition at line 266 of file JetHtPlotConfiguration.h.

Referenced by markerSize(), operator=(), printConfiguration(), and readJsonFile().

◆ fMarkerStyle

std::vector<int> JetHtPlotConfiguration::fMarkerStyle
private

Definition at line 265 of file JetHtPlotConfiguration.h.

Referenced by markerStyle(), operator=(), printConfiguration(), and readJsonFile().

◆ fNIovInOnePlot

int JetHtPlotConfiguration::fNIovInOnePlot
private

◆ fNormalizeQAplots

bool JetHtPlotConfiguration::fNormalizeQAplots
private

◆ fProfileLegendShiftColumnX

double JetHtPlotConfiguration::fProfileLegendShiftColumnX[kMaxLegendColumns]
private

◆ fProfileLegendShiftColumnY

double JetHtPlotConfiguration::fProfileLegendShiftColumnY[kMaxLegendColumns]
private

◆ fProfileLegendShiftTotalX

double JetHtPlotConfiguration::fProfileLegendShiftTotalX
private

◆ fProfileLegendShiftTotalY

double JetHtPlotConfiguration::fProfileLegendShiftTotalY
private

◆ fProfileLegendTextFont

int JetHtPlotConfiguration::fProfileLegendTextFont
private

◆ fProfileLegendTextSize

double JetHtPlotConfiguration::fProfileLegendTextSize
private

◆ fProfileZoomHigh

double JetHtPlotConfiguration::fProfileZoomHigh[knProfileTypes]
private

◆ fProfileZoomLow

double JetHtPlotConfiguration::fProfileZoomLow[knProfileTypes]
private

◆ fRunsForLines

std::vector<int> JetHtPlotConfiguration::fRunsForLines
private

◆ fSaveComment

std::string JetHtPlotConfiguration::fSaveComment
private

Definition at line 274 of file JetHtPlotConfiguration.h.

Referenced by operator=(), printConfiguration(), readJsonFile(), and saveComment().

◆ fSkipRunsWithNoData

bool JetHtPlotConfiguration::fSkipRunsWithNoData
private

◆ fTrendCanvasHeight

int JetHtPlotConfiguration::fTrendCanvasHeight
private

◆ fTrendCanvasWidth

int JetHtPlotConfiguration::fTrendCanvasWidth
private

◆ fTrendLabelOffsetX

double JetHtPlotConfiguration::fTrendLabelOffsetX
private

◆ fTrendLabelOffsetY

double JetHtPlotConfiguration::fTrendLabelOffsetY
private

◆ fTrendLabelSizeX

double JetHtPlotConfiguration::fTrendLabelSizeX
private

◆ fTrendLabelSizeY

double JetHtPlotConfiguration::fTrendLabelSizeY
private

◆ fTrendLegendShiftTotalX

double JetHtPlotConfiguration::fTrendLegendShiftTotalX
private

◆ fTrendLegendShiftTotalY

double JetHtPlotConfiguration::fTrendLegendShiftTotalY
private

◆ fTrendLegendTextFont

int JetHtPlotConfiguration::fTrendLegendTextFont
private

◆ fTrendLegendTextSize

double JetHtPlotConfiguration::fTrendLegendTextSize
private

◆ fTrendMarginBottom

double JetHtPlotConfiguration::fTrendMarginBottom
private

◆ fTrendMarginLeft

double JetHtPlotConfiguration::fTrendMarginLeft
private

◆ fTrendMarginRight

double JetHtPlotConfiguration::fTrendMarginRight
private

◆ fTrendMarginTop

double JetHtPlotConfiguration::fTrendMarginTop
private

◆ fTrendTagPositionX

std::vector<double> JetHtPlotConfiguration::fTrendTagPositionX
private

◆ fTrendTagPositionY

std::vector<double> JetHtPlotConfiguration::fTrendTagPositionY
private

◆ fTrendTagText

std::vector<std::string> JetHtPlotConfiguration::fTrendTagText
private

◆ fTrendTagTextFont

int JetHtPlotConfiguration::fTrendTagTextFont
private

◆ fTrendTagTextSize

double JetHtPlotConfiguration::fTrendTagTextSize
private

◆ fTrendTitleOffsetX

double JetHtPlotConfiguration::fTrendTitleOffsetX
private

◆ fTrendTitleOffsetY

double JetHtPlotConfiguration::fTrendTitleOffsetY
private

◆ fTrendTitleSizeX

double JetHtPlotConfiguration::fTrendTitleSizeX
private

◆ fTrendTitleSizeY

double JetHtPlotConfiguration::fTrendTitleSizeY
private

◆ fTrendZoomHigh

double JetHtPlotConfiguration::fTrendZoomHigh[knTrendTypes]
private

◆ fTrendZoomLow

double JetHtPlotConfiguration::fTrendZoomLow[knTrendTypes]
private

◆ fUseLuminosityForTrends

bool JetHtPlotConfiguration::fUseLuminosityForTrends
private

◆ fWidePtBinBorders

std::vector<double> JetHtPlotConfiguration::fWidePtBinBorders
private

◆ fYearLineColor

int JetHtPlotConfiguration::fYearLineColor
private

◆ fYearLineStyle

int JetHtPlotConfiguration::fYearLineStyle
private

◆ fYearLineWidth

int JetHtPlotConfiguration::fYearLineWidth
private

◆ kMaxLegendColumns

const int JetHtPlotConfiguration::kMaxLegendColumns = 3
static