26void customize(std::vector<o2::framework::ConfigParamSpec>& workflowOptions)
48 workflowOptions.push_back(
ConfigParamSpec{
"configKeyValues", VariantType::String,
"", {
"Semicolon separated key=value strings"}});
59 auto doPedestals = configcontext.
options().
get<
bool>(
"pedestals");
60 auto doHgLgRatio = configcontext.
options().
get<
bool>(
"hglgratio");
61 auto doTurnOn = configcontext.
options().
get<
bool>(
"turnon");
62 auto doRunbyrun = configcontext.
options().
get<
bool>(
"runbyrun");
63 auto doEnergy = configcontext.
options().
get<
bool>(
"energy");
64 auto doBadMap = configcontext.
options().
get<
bool>(
"badmap");
65 auto doL1phase = configcontext.
options().
get<
bool>(
"l1phase");
66 auto useCCDB = !configcontext.
options().
get<
bool>(
"not-use-ccdb");
67 auto forceUpdate = configcontext.
options().
get<
bool>(
"forceupdate");
69 bool writeRootOutput = !configcontext.
options().
get<
bool>(
"disable-root-output");
70 std::string outputDir = configcontext.
options().
get<std::string>(
"phoscalib-output-dir");
71 if (!outputDir.compare(
"/dev/null")) {
72 writeRootOutput =
false;
74 std::string metaFileDir = configcontext.
options().
get<std::string>(
"phoscalib-meta-output-dir");
76 if (doPedestals && doHgLgRatio) {
77 LOG(fatal) <<
"Can not run pedestal and HG/LG calibration simulteneously";
80 LOG(info) <<
"PHOS Calibration workflow: options";
81 LOG(info) <<
"useCCDB = " << useCCDB;
83 LOG(info) <<
"pedestals ";
87 LOG(info) <<
"hglgratio ";
95 LOG(info) <<
"TurnOn curves calculation";
99 LOG(info) <<
"Run by run correction calculation on ";
103 LOG(info) <<
"bad map calculation ";
108 LOG(info) <<
"L1phase corrections calculation on ";
Definition of the Names Generator class.
Device to collect histos and digits for PHOS energy and time calibration.
Device to calculate PHOS time shift (L1phase)
Device to calculate PHOS time shift (L1phase)
Device to calculate PHOS turn-on curves and trigger map.
static void updateFromString(std::string const &)
ConfigParamRegistry & options() const
T get(const char *key) const
Defining PrimaryVertex explicitly as messageable.
std::vector< DataProcessorSpec > WorkflowSpec
o2::framework::DataProcessorSpec getPHOSEnergyCalibDeviceSpec(bool useCCDB, const std::string &outputDir, const std::string &metaFileDir, bool writeRootOutput)
DataProcessorSpec getHGLGRatioCalibSpec(bool useCCDB, bool forceUpdate)
o2::framework::DataProcessorSpec getPedestalCalibSpec(bool useCCDB, bool forceUpdate)
o2::framework::DataProcessorSpec getPHOSL1phaseCalibDeviceSpec()
o2::framework::DataProcessorSpec getPHOSTurnonCalibDeviceSpec(bool useCCDB)
o2::framework::DataProcessorSpec getPHOSRunbyrunCalibDeviceSpec(bool useCCDB, const std::string &outputDir, const std::string &metaFileDir, bool writeRootOutput)
o2::framework::DataProcessorSpec getBadMapCalibSpec(int mode)
void customize(std::vector< o2::framework::ConfigParamSpec > &workflowOptions)
WorkflowSpec defineDataProcessing(ConfigContext const &configcontext)
LOG(info)<< "Compressed in "<< sw.CpuTime()<< " s"