DAS  3.0
Das Analysis System
Parameters.h
Go to the documentation of this file.
1 #ifndef parameters_h
2 #define parameters_h
3 
4 // std
5 #include <vector>
6 #include <string>
7 #include <set>
8 #include <filesystem>
9 
10 // CMSSW framework
11 #include "FWCore/ParameterSet/interface/ParameterSet.h"
12 #include "FWCore/Framework/interface/ConsumesCollector.h"
13 
14 // particles
15 #include "DataFormats/HepMCCandidate/interface/GenParticle.h"
16 
17 // reco
18 #include "DataFormats/JetReco/interface/GenJetCollection.h"
19 #include "DataFormats/JetReco/interface/JetCollection.h"
20 #include "DataFormats/MuonReco/interface/Muon.h"
21 #include "DataFormats/VertexReco/interface/Vertex.h"
22 
23 // PAT
24 #include "DataFormats/PatCandidates/interface/Jet.h"
25 #include "DataFormats/PatCandidates/interface/Muon.h"
26 #include "DataFormats/PatCandidates/interface/Photon.h"
27 #include "DataFormats/PatCandidates/interface/MET.h"
28 
29 // trigger
30 #include "DataFormats/PatCandidates/interface/PackedTriggerPrescales.h"
31 #include "DataFormats/PatCandidates/interface/TriggerObjectStandAlone.h"
32 #include "HLTrigger/HLTcore/interface/HLTConfigProvider.h"
33 
34 // flavour
35 #include "SimDataFormats/GeneratorProducts/interface/GenEventInfoProduct.h"
36 #include "DataFormats/JetMatching/interface/JetFlavourInfo.h"
37 #include "DataFormats/JetMatching/interface/JetFlavourInfoMatching.h"
38 #include "DataFormats/Candidate/interface/VertexCompositePtrCandidateFwd.h"
39 
40 // pile up
41 #include "SimDataFormats/PileupSummaryInfo/interface/PileupSummaryInfo.h"
42 
43 // model
44 #include "SimDataFormats/GeneratorProducts/interface/LHEEventProduct.h"
45 #include "SimDataFormats/GeneratorProducts/interface/LHERunInfoProduct.h"
46 
47 // boost
48 #include <boost/property_tree/ptree.hpp>
49 #include <boost/optional.hpp>
50 
51 namespace DAS {
52 
53 struct Parameters {
54 
55  // event information
56  const bool isMC;
57  const int year;
58  const bool sandbox;
59  static boost::property_tree::ptree ReadJSON (std::filesystem::path, bool = false);
60  boost::property_tree::ptree config;
61  const boost::property_tree::ptree& options, labels;
62  const bool CHS, PUPPI;
63  const bool genWgts;
64  std::string pdf_;
65  std::string scale_choice_;
66  edm::EDGetTokenT<GenEventInfoProduct> genEvtInfoToken;
67  edm::EDGetTokenT<reco::GenParticleCollection> genParticlesToken;
68 
69  // jets
70  edm::EDGetTokenT<reco::GenJetCollection> genjetsToken;
71  edm::EDGetTokenT<pat::JetCollection> recjetsToken;
72  const bool jets, PUjetID, flavour;
73  edm::EDGetTokenT<reco::JetFlavourInfoMatchingCollection> jetFlavourInfosToken;
74  edm::EDGetTokenT<std::vector<reco::VertexCompositePtrCandidate>> secVertexInfoToken;
75 
76  // muons
77  const bool muons;
78  edm::EDGetTokenT<edm::View<reco::Candidate>> genLeptonsToken;
79  edm::EDGetTokenT<pat::MuonCollection> recmuonsToken;
80 
81  // photons
82  const bool photons;
83  edm::EDGetTokenT<pat::PhotonCollection> recphotonsToken;
84 
85  // MET & trigger
86  const bool triggers;
87  edm::EDGetTokenT<pat::METCollection> metToken;
88  edm::EDGetTokenT<edm::TriggerResults> metResultsToken, triggerResultsToken;
89  edm::EDGetTokenT<reco::VertexCollection> recVtxsToken;
90  edm::EDGetTokenT<pat::PackedTriggerPrescales> triggerPrescalesToken, triggerPrescalesl1minToken, triggerPrescalesl1maxToken;
91  std::vector<std::string> triggerNames_, metNames_;
92  edm::EDGetTokenT<pat::TriggerObjectStandAloneCollection> triggerObjectsToken;
93  std::set<std::string> HLTjet_triggerNames;
94 
95  // pile-up
96  edm::EDGetTokenT<double> rhoToken;
97  edm::EDGetTokenT<std::vector<PileupSummaryInfo> > pileupInfoToken;
98 
99  // model
100  edm::InputTag lheLabel;
101  edm::EDGetTokenT<LHEEventProduct> lheEventToken;
102  //edm::EDGetTokenT<LHERunInfoProduct> lheRunInfoToken;
103 
104  // constructor
105  Parameters (edm::ParameterSet const& cfg, edm::ConsumesCollector && iC);
106 
107  std::set<std::string> getHLTjet_triggerNames (const std::vector<std::string>&);
108 };
109 
110 } // end of DAS namespace
111 
112 #endif
DAS::Parameters::secVertexInfoToken
edm::EDGetTokenT< std::vector< reco::VertexCompositePtrCandidate > > secVertexInfoToken
Definition: Parameters.h:74
DAS::Parameters::pileupInfoToken
edm::EDGetTokenT< std::vector< PileupSummaryInfo > > pileupInfoToken
Definition: Parameters.h:97
DAS::Parameters::recjetsToken
edm::EDGetTokenT< pat::JetCollection > recjetsToken
Definition: Parameters.h:71
DAS
Definition: applyBTagSF.cc:31
DAS::Parameters::lheEventToken
edm::EDGetTokenT< LHEEventProduct > lheEventToken
Definition: Parameters.h:101
DAS::Parameters::triggerPrescalesl1maxToken
edm::EDGetTokenT< pat::PackedTriggerPrescales > triggerPrescalesl1maxToken
Definition: Parameters.h:90
DAS::Parameters::metToken
edm::EDGetTokenT< pat::METCollection > metToken
Definition: Parameters.h:87
DAS::Parameters::genLeptonsToken
edm::EDGetTokenT< edm::View< reco::Candidate > > genLeptonsToken
Definition: Parameters.h:78
DAS::Parameters::scale_choice_
std::string scale_choice_
Scale variation substring to match (e.g. "HT/2")
Definition: Parameters.h:65
DAS::Parameters::triggerPrescalesToken
edm::EDGetTokenT< pat::PackedTriggerPrescales > triggerPrescalesToken
Definition: Parameters.h:90
DAS::Parameters::metNames_
std::vector< std::string > metNames_
Definition: Parameters.h:91
DAS::Parameters::sandbox
const bool sandbox
flag for CRAB sandbox
Definition: Parameters.h:58
DAS::Parameters::genjetsToken
edm::EDGetTokenT< reco::GenJetCollection > genjetsToken
Definition: Parameters.h:70
DAS::Parameters::recphotonsToken
edm::EDGetTokenT< pat::PhotonCollection > recphotonsToken
Definition: Parameters.h:83
DAS::Parameters::ReadJSON
static boost::property_tree::ptree ReadJSON(std::filesystem::path, bool=false)
Definition: Parameters.cc:28
DAS::Parameters::options
const boost::property_tree::ptree & options
Definition: Parameters.h:61
DAS::Parameters::genParticlesToken
edm::EDGetTokenT< reco::GenParticleCollection > genParticlesToken
Definition: Parameters.h:67
DAS::Parameters::Parameters
Parameters(edm::ParameterSet const &cfg, edm::ConsumesCollector &&iC)
DAS::Parameters::year
const int year
20xx
Definition: Parameters.h:57
DAS::Parameters::PUPPI
const bool PUPPI
Definition: Parameters.h:62
DAS::Parameters::muons
const bool muons
Definition: Parameters.h:77
DAS::Parameters::recmuonsToken
edm::EDGetTokenT< pat::MuonCollection > recmuonsToken
Definition: Parameters.h:79
DAS::Parameters::lheLabel
edm::InputTag lheLabel
Definition: Parameters.h:100
DAS::Parameters::genWgts
const bool genWgts
flag to store the gen-level event weight variations (e.g. alpha-s, PDF, PS)
Definition: Parameters.h:63
DAS::Parameters::rhoToken
edm::EDGetTokenT< double > rhoToken
Definition: Parameters.h:96
DAS::Parameters::config
boost::property_tree::ptree config
input JSON config
Definition: Parameters.h:60
DAS::Parameters::CHS
const bool CHS
Definition: Parameters.h:62
DAS::Parameters
Definition: Parameters.h:53
DAS::Parameters::triggerPrescalesl1minToken
edm::EDGetTokenT< pat::PackedTriggerPrescales > triggerPrescalesl1minToken
Definition: Parameters.h:90
DAS::Parameters::triggerResultsToken
edm::EDGetTokenT< edm::TriggerResults > triggerResultsToken
Definition: Parameters.h:88
DAS::Parameters::triggers
const bool triggers
Definition: Parameters.h:86
DAS::Parameters::triggerNames_
std::vector< std::string > triggerNames_
Definition: Parameters.h:91
DAS::Parameters::pdf_
std::string pdf_
PDF weightgroup name to search (e.g. "NNPDF31_nlo_hessian_pdfas")
Definition: Parameters.h:64
DAS::Parameters::HLTjet_triggerNames
std::set< std::string > HLTjet_triggerNames
Definition: Parameters.h:93
DAS::Parameters::recVtxsToken
edm::EDGetTokenT< reco::VertexCollection > recVtxsToken
Definition: Parameters.h:89
DAS::Parameters::flavour
const bool flavour
Definition: Parameters.h:72
DAS::Parameters::metResultsToken
edm::EDGetTokenT< edm::TriggerResults > metResultsToken
Definition: Parameters.h:88
DAS::Parameters::PUjetID
const bool PUjetID
Definition: Parameters.h:72
DAS::Parameters::photons
const bool photons
Definition: Parameters.h:82
DAS::Parameters::genEvtInfoToken
edm::EDGetTokenT< GenEventInfoProduct > genEvtInfoToken
Definition: Parameters.h:66
DAS::Parameters::jetFlavourInfosToken
edm::EDGetTokenT< reco::JetFlavourInfoMatchingCollection > jetFlavourInfosToken
Definition: Parameters.h:73
DAS::Parameters::triggerObjectsToken
edm::EDGetTokenT< pat::TriggerObjectStandAloneCollection > triggerObjectsToken
Definition: Parameters.h:92
DAS::Parameters::isMC
const bool isMC
flag
Definition: Parameters.h:56
DAS::Parameters::jets
const bool jets
Definition: Parameters.h:72
DAS::Parameters::getHLTjet_triggerNames
std::set< std::string > getHLTjet_triggerNames(const std::vector< std::string > &)
Definition: Parameters.cc:19
DAS::Parameters::labels
const boost::property_tree::ptree labels
booleans to steer branch filling
Definition: Parameters.h:61