void HdrCreationManager::mdrReady(pfs::Frame *newFrame, int index, float expotime, QString newfname) { if (loadingError) { //qDebug("HCM: loadingError, bailing out."); return; } pfs::Channel *R, *G, *B; newFrame->getRGBChannels( R, G, B ); if (inputType==LDR_INPUT_TYPE) { //qDebug("HCM: wrong format, bailing out."); loadingError=true; emit errorWhileLoading(tr("The image %1 is an 8 bit format (LDR) while the previous ones are not.").arg(newfname)); return; } inputType=MDR_INPUT_TYPE; if (!mdrsHaveSameSize(R->getWidth(),R->getHeight())) { //qDebug("HCM: wrong size, bailing out."); loadingError=true; emit errorWhileLoading(tr("The image %1 has an invalid size.").arg(newfname)); return; } // fill with image data listmdrR[index]=R; listmdrG[index]=G; listmdrB[index]=B; //perform some housekeeping newResult(index,expotime,newfname); //continue with the loading process loadInputFiles(); }
void HdrCreationManager::ldrReady(QImage *newImage, int index, float expotime, QString newfname, bool ldrtiff) { //qDebug("HCM: ldrReady"); if (loadingError) { //qDebug("HCM: loadingError, bailing out."); return; } if (inputType==MDR_INPUT_TYPE) { //qDebug("HCM: wrong format, bailing out."); loadingError=true; emit errorWhileLoading(QString("The image %1 is an 16 bit format while the previous ones are not.").arg(newfname)); return; } inputType=LDR_INPUT_TYPE; if (!ldrsHaveSameSize(newImage->width(),newImage->height())) { //qDebug("HCM: wrong size, bailing out."); loadingError=true; emit errorWhileLoading(QString("The image %1 has an invalid size.").arg(newfname)); return; } // fill with image data ldrImagesList[index]=newImage; //check if ldr tiff if (ldrtiff) tiffLdrList[index]=true; //perform some housekeeping newResult(index,expotime,newfname); //continue with the loading process loadInputFiles(); }
int main(int argc, char** argv) { try { TCLAP::CmdLine cmd("Train BDT", ' ', "0.1"); TCLAP::ValueArg<std::string> inputListArg("", "input-list", "A text file containing a list of input files", true, "", "string"); TCLAP::ValueArg<std::string> inputFileArg("i", "input-file", "The input file", true, "", "string"); cmd.xorAdd(inputListArg, inputFileArg); TCLAP::ValueArg<std::string> nameArg("n", "name", "dataset name", true, "", "string", cmd); TCLAP::ValueArg<std::string> outputFileArg("o", "output-file", "output file", true, "", "string", cmd); cmd.parse(argc, argv); std::vector<std::string> inputFiles; if (inputFileArg.isSet()) { inputFiles.push_back(inputFileArg.getValue()); } else { loadInputFiles(inputListArg.getValue(), inputFiles); } process(inputFiles, nameArg.getValue(), outputFileArg.getValue()); } catch (TCLAP::ArgException &e) { std::cerr << "error: " << e.error() << " for arg " << e.argId() << std::endl; return 1; } return 0; }
int main(int argc, char** argv) { try { TCLAP::CmdLine cmd("reduce Zprime dataset", ' ', "0.1"); TCLAP::ValueArg<std::string> inputListArg("", "input-list", "A text file containing a list of input files", true, "", "string"); TCLAP::ValueArg<std::string> inputFileArg("i", "input-file", "The input file", true, "", "string"); cmd.xorAdd(inputListArg, inputFileArg); TCLAP::ValueArg<std::string> outputFileArg("o", "output-file", "output file", true, "", "string", cmd); TCLAP::SwitchArg dataArg("", "data", "Is this data?", false); TCLAP::SwitchArg mcArg("", "mc", "Is this mc?", false); cmd.xorAdd(dataArg, mcArg); TCLAP::ValueArg<std::string> typeArg("", "type", "current inputfile type (semie or semimu)", true, "", "string", cmd); TCLAP::ValueArg<std::string> pileupArg("", "pileup", "PU profile used for MC production", false, "S10", "string", cmd); TCLAP::ValueArg<int> maxEntriesArg("n", "", "Maximal number of entries to process", false, -1, "int", cmd); TCLAP::ValueArg<double> generatorWeightArg("", "weight", "MC generator weight", false, 1., "double", cmd); TCLAP::ValueArg<std::string> pdfSystArg("", "pdf-syst", "PDF systematic to compute", false, "nominal", "string", cmd); TCLAP::ValueArg<std::string> jecSystArg("", "jec-syst", "Computing trigger weight for this JEC up / down", false, "nominal", "string", cmd); TCLAP::ValueArg<std::string> triggerSystArg("", "trigger-syst", "Computing trigger weight systematic", false, "nominal", "string", cmd); TCLAP::ValueArg<std::string> pileupSystArg("", "pileup-syst", "PU profile to use for pileup reweigthing", false, "nominal", "string", cmd); TCLAP::ValueArg<std::string> btagSystArg("", "btag-syst", "Compute btag weight systematic", false, "nominal", "string", cmd); TCLAP::ValueArg<std::string> leptonSystArg("", "lepton-syst", "Compute lepton weight systematic", false, "nominal", "string", cmd); TCLAP::SwitchArg skimArg("", "skim", "Run over a skimmed file", cmd, false); TCLAP::SwitchArg chi2Arg("", "chi2", "Use chi2 sorting algorithm", false); TCLAP::SwitchArg mvaArg("", "mva", "Use MVA instead of chi2", false); TCLAP::SwitchArg kfArg("", "kf", "Use KF instead of chi2", false); TCLAP::SwitchArg hybridArg("", "hybrid", "Use hybrid method for sorting algorithm", false); std::vector<TCLAP::Arg*> xorlist; xorlist.push_back(&chi2Arg); xorlist.push_back(&mvaArg); xorlist.push_back(&kfArg); xorlist.push_back(&hybridArg); cmd.xorAdd( xorlist ); cmd.parse(argc, argv); std::string p = pileupArg.getValue(); std::transform(p.begin(), p.end(), p.begin(), ::tolower); if (p == "s6") puProfile = PUProfile::S6; else if (p == "s7") puProfile = PUProfile::S7; else if (p == "s10") puProfile = PUProfile::S10; std::string triggerSyst = triggerSystArg.getValue(); std::transform(triggerSyst.begin(), triggerSyst.end(), triggerSyst.begin(), ::tolower); if (triggerSyst != "nominal" && triggerSyst != "up" && triggerSyst != "down") { std::cerr << "--trigger-syst can only be 'nominal', 'up' or 'down'" << std::endl; exit(1); } std::string jecSyst = jecSystArg.getValue(); std::transform(jecSyst.begin(), jecSyst.end(), jecSyst.begin(), ::tolower); if (jecSyst != "nominal" && jecSyst != "up" && jecSyst != "down") { std::cerr << "--jec-syst can only be 'nominal', 'up' or 'down'" << std::endl; exit(1); } std::string puSyst = pileupSystArg.getValue(); std::transform(puSyst.begin(), puSyst.end(), puSyst.begin(), ::tolower); if (puSyst != "nominal" && puSyst != "up" && puSyst != "down") { std::cerr << "--pilup-syst can only be 'nominal', 'up' or 'down'" << std::endl; exit(1); } std::string pdfSyst = pdfSystArg.getValue(); std::transform(pdfSyst.begin(), pdfSyst.end(), pdfSyst.begin(), ::tolower); if (pdfSyst != "nominal" && pdfSyst != "up" && pdfSyst != "down") { std::cerr << "--pdf-syst can only be 'nominal', 'up' or 'down'" << std::endl; exit(1); } std::string leptonSyst = leptonSystArg.getValue(); std::transform(leptonSyst.begin(), leptonSyst.end(), leptonSyst.begin(), ::tolower); if (leptonSyst != "nominal" && leptonSyst != "up" && leptonSyst != "down") { std::cerr << "--lepton-syst can only be 'nominal', 'up' or 'down'" << std::endl; exit(1); } std::string btagSyst = btagSystArg.getValue(); std::transform(btagSyst.begin(), btagSyst.end(), btagSyst.begin(), ::tolower); if (btagSyst != "nominal" && btagSyst != "up" && btagSyst != "down") { std::cerr << "--btag-syst can only be 'nominal', 'up' or 'down'" << std::endl; exit(1); } bool isData = dataArg.isSet(); std::vector<std::string> inputFiles; if (inputFileArg.isSet()) { inputFiles.push_back(inputFileArg.getValue()); } else { loadInputFiles(inputListArg.getValue(), inputFiles); } reduce(inputFiles, outputFileArg.getValue(), isData, typeArg.getValue(), maxEntriesArg.getValue(), generatorWeightArg.getValue(), puSyst, pdfSyst, jecSyst, triggerSyst, leptonSyst, btagSyst, mvaArg.getValue(), chi2Arg.getValue(), kfArg.getValue(), hybridArg.getValue(), skimArg.getValue()); } catch (TCLAP::ArgException& e) { std::cout << e.what() << std::endl; } }