DAS  3.0
Das Analysis System
applyMuonSelection.cc File Reference
#include <cassert>
#include <cstdlib>
#include <filesystem>
#include <iostream>
#include <vector>
#include "Core/Objects/interface/Event.h"
#include "Core/Objects/interface/Lepton.h"
#include "Core/CommonTools/interface/binnings.h"
#include "Core/CommonTools/interface/DASOptions.h"
#include "Core/CommonTools/interface/GenericSFApplier.h"
#include "Core/CommonTools/interface/toolbox.h"
#include <TFile.h>
#include <TH2.h>
#include <TRegexp.h>
#include <TString.h>
#include "Math/VectorUtil.h"
#include <darwin.h>
#include "Core/Muons/interface/toolbox.h"
+ Include dependency graph for applyMuonSelection.cc:

Classes

class  IDApplier
 

Namespaces

 DAS
 
 DAS::Muon
 

Enumerations

enum  Selector {
  None = 0ul, CutBasedIdLoose = 1ul<< 0, CutBasedIdMedium = 1ul<< 1, CutBasedIdMediumPrompt = 1ul<< 2,
  CutBasedIdTight = 1ul<< 3, CutBasedIdGlobalHighPt = 1ul<< 4, CutBasedIdTrkHighPt = 1ul<< 5, PFIsoVeryLoose = 1ul<< 6,
  PFIsoLoose = 1ul<< 7, PFIsoMedium = 1ul<< 8, PFIsoTight = 1ul<< 9, PFIsoVeryTight = 1ul<<10,
  TkIsoLoose = 1ul<<11, TkIsoTight = 1ul<<12, SoftCutBasedId = 1ul<<13, SoftMvaId = 1ul<<14,
  MvaLoose = 1ul<<15, MvaMedium = 1ul<<16, MvaTight = 1ul<<17, MiniIsoLoose = 1ul<<18,
  MiniIsoMedium = 1ul<<19, MiniIsoTight = 1ul<<20, MiniIsoVeryTight = 1ul<<21, TriggerIdLoose = 1ul<<22,
  InTimeMuon = 1ul<<23, PFIsoVeryVeryTight = 1ul<<24, MultiIsoLoose = 1ul<<25, MultiIsoMedium = 1ul<<26,
  PuppiIsoLoose = 1ul<<27, PuppiIsoMedium = 1ul<<28, PuppiIsoTight = 1ul<<29, MvaVTight = 1ul<<30,
  MvaVVTight = 1ul<<31, LowPtMvaLoose = 1ul<<32, LowPtMvaMedium = 1ul<<33, MvaIDwpMedium = 1ul<<34,
  MvaIDwpTight = 1ul<<35
}
 

Functions

void applyMuonSelection (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[] 
)
299 {
300  try {
302 
303  vector<fs::path> inputs;
304  fs::path output;
305 
306  auto options = DAS::Options(
307  "Apply muon scale factors (and corresponding selection) "
308  "for reconstruction, identification, and isolation. The command "
309  "should be called for each correction (a priori 3 times). "
310  "You may also run the selection only if you provide the histname.",
312  options.inputs("inputs", &inputs, "input ROOT file(s) or directory")
313  .output("output", &output, "output ROOT file")
314  .arg<string>("efficiency", "corrections.muons.efficiency",
315  "`/path/to/file.root:histname` "
316  "(`/dev/null` for the filename to only apply selection)");
317  const auto& config = options(argc, argv);
318  const auto& slice = options.slice();
319  const int steering = options.steering();
320 
321  DAS::Muon::applyMuonSelection(inputs, output, config, steering, slice);
322  }
323  catch (boost::exception& e) {
324  DE::Diagnostic(e);
325  return EXIT_FAILURE;
326  }
327 
328  return EXIT_SUCCESS;
329 }
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
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::syst
@ syst
activate -s to systematic uncertainties
Definition: Options.h:29
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::Muon::applyMuonSelection
void applyMuonSelection(const vector< fs::path > &inputs, const fs::path &output, const pt::ptree &config, const int steering, const DT::Slice slice={1, 0})
Definition: applyMuonSelection.cc:228
DAS::Options
Darwin::Tools::Options Options(const char *, int=Darwin::Tools::none)
Constructs Darwin options with the correct commit information.
Definition: DASOptions.cc:14