DAS  3.0
Das Analysis System
applyPUcleaningHT.cc File Reference
#include <cstdlib>
#include <filesystem>
#include <iostream>
#include <utility>
#include <unordered_map>
#include <vector>
#include "Core/Objects/interface/Event.h"
#include "Core/Objects/interface/Jet.h"
#include "Core/CommonTools/interface/binnings.h"
#include "Core/CommonTools/interface/ControlPlots.h"
#include "Core/CommonTools/interface/DASOptions.h"
#include "Core/CommonTools/interface/toolbox.h"
#include "Core/PUstaubSauger/interface/Plots.h"
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/info_parser.hpp>
#include <TH1.h>
#include <TString.h>
#include <darwin.h>
+ Include dependency graph for applyPUcleaningHT.cc:

Namespaces

 DAS
 
 DAS::PUstaub
 

Functions

unordered_map< unsigned long long, float > GetMaxGenHts (const fs::path &input)
 
void applyPUcleaningHT (const vector< fs::path > &inputs, const fs::path &output, const pt::ptree &config, const int steering, const DT::Slice slice={1, 0})
 
int main (int argc, char *argv[])
 

Function Documentation

◆ main()

int main ( int  argc,
char *  argv[] 
)
Note
156 GeV for Pythia UL18
185 {
186  try {
188 
189  vector<fs::path> inputs;
190  fs::path output;
191 
192  auto options = DAS::Options(
193  "Clean up events from anomalous pile-up in MC samples.",
195  options.inputs("inputs", &inputs, "input ROOT file(s) or directory")
196  .output("output", &output, "output ROOT file")
197  .arg<fs::path>("MBmaxgenht", "corrections.PUcleaning.MBmaxgenht",
198  "2-column file with MB event ID and max gen ht")
199  .arg<float>("artifacts_minpt", "corrections.PUcleaning.artifacts_minpt",
200  "Partily arbitrary value to cut of overweighted reconstruction "
201  "artifacts (0 to deactivate)");
202 
203  const auto& config = options(argc, argv);
204  const auto& slice = options.slice();
205  const int steering = options.steering();
206 
207  DAS::PUstaub::applyPUcleaningHT(inputs, output, config, steering, slice);
208  }
209  catch (boost::exception& e) {
210  DE::Diagnostic(e);
211  return EXIT_FAILURE;
212  }
213 
214  return EXIT_SUCCESS;
215 }
DYToLL_M-50_13TeV_pythia8_cff_GEN_SIM_RECOBEFMIX_DIGI_L1_DIGI2RAW_L1Reco_RECO.options
options
Definition: DYToLL_M-50_13TeV_pythia8_cff_GEN_SIM_RECOBEFMIX_DIGI_L1_DIGI2RAW_L1Reco_RECO.py:41
DAS::PUstaub::applyPUcleaningHT
void applyPUcleaningHT(const vector< fs::path > &inputs, const fs::path &output, const pt::ptree &config, const int steering, const DT::Slice slice={1, 0})
Remove PU staub (i.e. high-weight events due to PU sampling)
Definition: applyPUcleaningHT.cc:68
Darwin::Exceptions::Diagnostic
void Diagnostic(const boost::exception &e)
Definition: exceptions.h:131
Darwin::Tools::Friend
@ Friend
activate -F to only fill the new branches
Definition: Options.h:28
Darwin::Tools::split
@ split
activate -k and -j to define slice
Definition: Options.h:26
Darwin::Tools::StandardInit
void StandardInit()
Definition: FileUtils.cc:70
Ntupliser_cfg.config
config
Definition: Ntupliser_cfg.py:317
jercExample.inputs
def inputs
Definition: jercExample.py:118
DAS::Options
Darwin::Tools::Options Options(const char *, int=Darwin::Tools::none)
Constructs Darwin options with the correct commit information.
Definition: DASOptions.cc:14