1 #ifndef ALIGNMENT_OFFLINEVALIDATION_PREPAREPVTRENDS_H_ 2 #define ALIGNMENT_OFFLINEVALIDATION_PREPAREPVTRENDS_H_ 11 #include "TGraphAsymmErrors.h" 12 #include "TGraphErrors.h" 19 #include "TObjArray.h" 20 #include "TObjString.h" 22 #include "TPaveText.h" 23 #include "TProcPool.h" 28 #include "TSystemDirectory.h" 29 #include "TSystemFile.h" 30 #include <TStopwatch.h> 40 #include "boost/property_tree/ptree.hpp" 41 #include "boost/property_tree/json_parser.hpp" 48 #define logInfo std::cout << "INFO: " 49 #define logWarning std::cout << "WARNING: " 50 #define logError std::cout << "ERROR!!! " 66 if (it == vec.end()) {
80 const Int_t
colors[8] = {kBlack, kRed, kBlue, kGreen + 2, kMagenta, kViolet, kCyan, kYellow};
179 logInfo <<
"pv::wrappedTrends c'tor" << std::endl;
218 bundle(
int nObjects,
const TString &
dataType,
const TString &dataTypeLabel,
const bool &useRMS) {
219 m_nObjects = nObjects;
221 m_datatypelabel = dataTypeLabel.Data();
224 logInfo <<
"pv::bundle c'tor: " << dataTypeLabel <<
" member: " << m_datatypelabel << std::endl;
226 logInfo << m_axis_types << std::endl;
234 logInfo <<
"dataType " << m_datatype << std::endl;
235 logInfo <<
"dataTypeLabel " << m_datatypelabel << std::endl;
253 void setDirsAndLabels(boost::property_tree::ptree &
json);
255 void multiRunPVValidation(
bool useRMS =
true, TString lumiInputFile =
"",
bool doUnitTest =
false);
259 static TH1F *drawConstantWithErr(TH1F *
hist, Int_t iter, Double_t theConst);
263 const char *
dirs[10],
264 TString LegLabels[10],
266 const size_t nWorkers,
268 std::vector<int> list_files(
const char *
dirname =
".",
const char *
ext =
".root");
270 const std::vector<double> &ticks,
271 const std::vector<double> &ex_ticks,
277 TGraphAsymmErrors *&g_asym,
282 const TString &
label);
291 #endif // ALIGNMENT_OFFLINEVALIDATION_PREPAREPVTRENDS_H_ bundle(int nObjects, const TString &dataType, const TString &dataTypeLabel, const bool &useRMS)
Structure biases Contains characterization of a single run PV bias plot.
Structure outPVtrends Contains the ensemble of all the alignmentTrends built by the functor...
alignmentTrend getHighErr() const
wrappedTrends(alignmentTrend mean, alignmentTrend low, alignmentTrend high, alignmentTrend lowerr, alignmentTrend higherr, alignmentTrend chi2, alignmentTrend KS)
Constructor of structure wrappedTrends, initialising all members from DMRs directly (with split) ...
std::vector< std::string > LabelList
int closest(std::vector< int > const &vec, int value)
std::bitset< 2 > m_axis_types
alignmentTrend getMean() const
alignmentTrend getLowErr() const
Structure wrappedTrends Contains the ensemble vs run number of the alignmentTrend characterization...
biases(double mean, double rms, double wmean, double wrms, double min, double max, double chi2, int ndf, double ks)
Structure bundle Contains the ensemble of all the information to build the graphs alignmentTrends...
double intersection(double r12)
alignmentTrend getHigh() const
const char * outputFileName_
alignmentTrend getKS() const
const char * getDataType() const
std::map< TString, std::vector< double > > alignmentTrend
std::vector< std::string > DirList
void init()
initialising all members one by one
const char * m_datatypelabel
alignmentTrend getChi2() const
alignmentTrend getLow() const
const char * getDataTypeLabel() const