CMS 3D CMS Logo

HLTHiggsSubAnalysis.h
Go to the documentation of this file.
1 #ifndef HLTriggerOffline_Higgs_HLTHiggsSubAnalysis_H
2 #define HLTriggerOffline_Higgs_HLTHiggsSubAnalysis_H
3 
22 
45 
47 
49 
51 
52 #include <vector>
53 #include <set>
54 #include <map>
55 #include <cstring>
56 
57 struct EVTColContainer;
58 
60 public:
63 
64  enum { GEN, RECO };
65 
68  void beginJob();
69  void beginRun(const edm::Run &iRun, const edm::EventSetup &iEventSetup);
70  void analyze(const edm::Event &iEvent, const edm::EventSetup &iEventSetup, EVTColContainer *cols);
72 
74  const std::vector<unsigned int> getObjectsType(const std::string &hltpath) const;
75 
76 private:
77  void bookobjects(const edm::ParameterSet &anpset, edm::ConsumesCollector &iC);
79  void InitSelector(const unsigned int &objtype);
80  void initAndInsertJets(const edm::Event &iEvent, EVTColContainer *cols, std::vector<MatchStruct> *matches);
81  void passJetCuts(std::vector<MatchStruct> *matches,
82  std::map<std::string, bool> &jetCutResult,
83  float &dEtaqq,
84  float &mqq,
85  float &dPhibb,
86  float &CSV1,
87  float &CSV2,
88  float &CSV3);
89  void passOtherCuts(const std::vector<MatchStruct> &matches, std::map<std::string, bool> &jetCutResult);
90  void insertcandidates(const unsigned int &objtype, const EVTColContainer *col, std::vector<MatchStruct> *matches);
91 
93  void fillHist(const std::string &source, const std::string &objType, const std::string &variable, const float &value);
94 
96 
98 
100  unsigned int _minCandidates;
101 
102  double _HtJetPtMin;
103  double _HtJetEtaMax;
104 
106 
109 
111  std::vector<std::string> _hltPathsToCheck;
113  std::set<std::string> _hltPaths;
114 
116  std::map<std::string, std::string> _shortpath2long;
117 
118  // The name of the object collections to be used in this
119  // analysis.
123 
124  std::map<unsigned int, std::string> _recLabels;
134 
136  std::vector<double> _parametersEta;
137  std::vector<double> _parametersPhi;
138  std::vector<double> _parametersPu;
139  std::vector<double> _parametersHt;
140  std::vector<double> _parametersTurnOn;
142 
143  std::map<unsigned int, double> _cutMinPt;
144  std::map<unsigned int, double> _cutMaxEta;
145  std::map<unsigned int, unsigned int> _cutMotherId; //TO BE DEPRECATED (HLTMATCH)
146  std::map<unsigned int, std::vector<double> > _cutsDr; // TO BE DEPRECATED (HLTMATCH)
148  std::map<unsigned int, std::string> _genCut;
149  std::map<unsigned int, std::string> _recCut;
150 
153  std::map<unsigned int, StringCutObjectSelector<reco::GenParticle> *> _genSelectorMap;
163 
164  //N-1 cut values
165  std::vector<double> _NminOneCuts;
167  unsigned int NptPlots;
168 
169  // The plotters: managers of each hlt path where the plots are done
170  std::vector<HLTHiggsPlotter> _analyzers;
171 
173  std::map<std::string, MonitorElement *> _elements;
174 };
175 #endif
HLTHiggsSubAnalysis::_recPFMETSelector
StringCutObjectSelector< reco::PFMET > * _recPFMETSelector
Definition: HLTHiggsSubAnalysis.h:158
HLTHiggsSubAnalysis::_elements
std::map< std::string, MonitorElement * > _elements
Definition: HLTHiggsSubAnalysis.h:173
GenJetCollection.h
HLTHiggsSubAnalysis::_cutMaxEta
std::map< unsigned int, double > _cutMaxEta
Definition: HLTHiggsSubAnalysis.h:144
HLTHiggsSubAnalysis::_recLabelsCaloMET
edm::EDGetTokenT< reco::CaloMETCollection > _recLabelsCaloMET
Definition: HLTHiggsSubAnalysis.h:128
JetTag.h
PileupSummaryInfo.h
PFTauFwd.h
HLTHiggsSubAnalysis
Definition: HLTHiggsSubAnalysis.h:59
Muon.h
HLTHiggsSubAnalysis::passOtherCuts
void passOtherCuts(const std::vector< MatchStruct > &matches, std::map< std::string, bool > &jetCutResult)
Definition: HLTHiggsSubAnalysis.cc:1131
HLTHiggsSubAnalysis::_parametersTurnOn
std::vector< double > _parametersTurnOn
Definition: HLTHiggsSubAnalysis.h:140
HLTHiggsPlotter.h
edm::Run
Definition: Run.h:45
HLTHiggsSubAnalysis::_cutMotherId
std::map< unsigned int, unsigned int > _cutMotherId
Definition: HLTHiggsSubAnalysis.h:145
HLTHiggsSubAnalysis::_trigResultsTag
edm::EDGetTokenT< edm::TriggerResults > _trigResultsTag
Definition: HLTHiggsSubAnalysis.h:141
edm::EDGetTokenT< reco::GenParticleCollection >
HLTHiggsSubAnalysis::analyze
void analyze(const edm::Event &iEvent, const edm::EventSetup &iEventSetup, EVTColContainer *cols)
Definition: HLTHiggsSubAnalysis.cc:370
HLTHiggsSubAnalysis::_recLabelsPFJet
edm::EDGetTokenT< reco::PFJetCollection > _recLabelsPFJet
Definition: HLTHiggsSubAnalysis.h:131
HLTHiggsSubAnalysis::initobjects
void initobjects(const edm::Event &iEvent, EVTColContainer *col)
Definition: HLTHiggsSubAnalysis.cc:796
HLTHiggsSubAnalysis::_recLabelsPFTau
edm::EDGetTokenT< reco::PFTauCollection > _recLabelsPFTau
Definition: HLTHiggsSubAnalysis.h:130
cuy.col
col
Definition: cuy.py:1010
PFJet.h
TriggerEventWithRefs.h
HLTHiggsSubAnalysis::_parametersPu
std::vector< double > _parametersPu
Definition: HLTHiggsSubAnalysis.h:138
HLTHiggsSubAnalysis::_cutsDr
std::map< unsigned int, std::vector< double > > _cutsDr
Definition: HLTHiggsSubAnalysis.h:146
DQMStore.h
PhotonFwd.h
dqm::legacy::MonitorElement
Definition: MonitorElement.h:461
EDAnalyzer.h
HLTHiggsSubAnalysis::_hltProcessName
std::string _hltProcessName
Definition: HLTHiggsSubAnalysis.h:107
HLTHiggsSubAnalysis::_recLabelsMuon
edm::EDGetTokenT< reco::MuonCollection > _recLabelsMuon
Definition: HLTHiggsSubAnalysis.h:125
CaloMETFwd.h
HLTHiggsSubAnalysis::_puSummaryInfo
edm::EDGetTokenT< std::vector< PileupSummaryInfo > > _puSummaryInfo
Definition: HLTHiggsSubAnalysis.h:133
HLTHiggsSubAnalysis::_analyzers
std::vector< HLTHiggsPlotter > _analyzers
Definition: HLTHiggsSubAnalysis.h:170
HLTHiggsSubAnalysis::initAndInsertJets
void initAndInsertJets(const edm::Event &iEvent, EVTColContainer *cols, std::vector< MatchStruct > *matches)
Definition: HLTHiggsSubAnalysis.cc:1003
GenParticle.h
HLTHiggsSubAnalysis::_hltPaths
std::set< std::string > _hltPaths
the hlt paths found in the hltConfig
Definition: HLTHiggsSubAnalysis.h:113
MakerMacros.h
Photon.h
HLTHiggsSubAnalysis::_genJetLabel
edm::EDGetTokenT< reco::GenJetCollection > _genJetLabel
Definition: HLTHiggsSubAnalysis.h:121
Track.h
HLTHiggsSubAnalysis::_recLabelsPhoton
edm::EDGetTokenT< reco::PhotonCollection > _recLabelsPhoton
Definition: HLTHiggsSubAnalysis.h:127
TrackFwd.h
dqm::legacy::DQMStore
Definition: DQMStore.h:727
CaloMET.h
HLTHiggsSubAnalysis::_genJetSelector
StringCutObjectSelector< reco::GenJet > * _genJetSelector
Definition: HLTHiggsSubAnalysis.h:154
HLTHiggsSubAnalysis::DQMStore
dqm::legacy::DQMStore DQMStore
Definition: HLTHiggsSubAnalysis.h:61
MuonFwd.h
HLTHiggsSubAnalysis::_recLabels
std::map< unsigned int, std::string > _recLabels
Definition: HLTHiggsSubAnalysis.h:124
source
static const std::string source
Definition: EdmProvDump.cc:47
HLTHiggsSubAnalysis::_useNminOneCuts
bool _useNminOneCuts
Definition: HLTHiggsSubAnalysis.h:166
HLTHiggsSubAnalysis::_bookHtPlots
bool _bookHtPlots
Definition: HLTHiggsSubAnalysis.h:105
HLTHiggsSubAnalysis::_parametersPhi
std::vector< double > _parametersPhi
Definition: HLTHiggsSubAnalysis.h:137
GsfElectron.h
HLTHiggsSubAnalysis::_recCut
std::map< unsigned int, std::string > _recCut
Definition: HLTHiggsSubAnalysis.h:149
HLTHiggsSubAnalysis::bookHist
void bookHist(const std::string &source, const std::string &objType, const std::string &variable, DQMStore::IBooker &)
Definition: HLTHiggsSubAnalysis.cc:862
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HLTHiggsSubAnalysis::beginRun
void beginRun(const edm::Run &iRun, const edm::EventSetup &iEventSetup)
Definition: HLTHiggsSubAnalysis.cc:193
GsfElectronFwd.h
HLTHiggsSubAnalysis::_recPFJetSelector
StringCutObjectSelector< reco::PFJet > * _recPFJetSelector
Definition: HLTHiggsSubAnalysis.h:161
electrons_cff.objType
objType
Definition: electrons_cff.py:514
HLTHiggsSubAnalysis::_hltConfig
HLTConfigProvider _hltConfig
Definition: HLTHiggsSubAnalysis.h:172
edm::ParameterSet
Definition: ParameterSet.h:47
Event.h
HLTHiggsSubAnalysis::_recCaloMETSelector
StringCutObjectSelector< reco::CaloMET > * _recCaloMETSelector
Definition: HLTHiggsSubAnalysis.h:157
HLTHiggsSubAnalysis::fillHist
void fillHist(const std::string &source, const std::string &objType, const std::string &variable, const float &value)
Definition: HLTHiggsSubAnalysis.cc:965
HLTHiggsSubAnalysis::_cutMinPt
std::map< unsigned int, double > _cutMinPt
Definition: HLTHiggsSubAnalysis.h:143
PFMET.h
iEvent
int iEvent
Definition: GenABIO.cc:224
HLTHiggsSubAnalysis::InitSelector
void InitSelector(const unsigned int &objtype)
Definition: HLTHiggsSubAnalysis.cc:977
value
Definition: value.py:1
HLTHiggsSubAnalysis::_recTagPFJet
edm::EDGetTokenT< reco::JetTagCollection > _recTagPFJet
Definition: HLTHiggsSubAnalysis.h:132
HLTHiggsSubAnalysis::_HtJetEtaMax
double _HtJetEtaMax
Definition: HLTHiggsSubAnalysis.h:103
HLTHiggsSubAnalysis::_recoHtJetLabel
edm::EDGetTokenT< reco::PFJetCollection > _recoHtJetLabel
Definition: HLTHiggsSubAnalysis.h:122
edm::EventSetup
Definition: EventSetup.h:57
HLTConfigProvider.h
HLTHiggsSubAnalysis::passJetCuts
void passJetCuts(std::vector< MatchStruct > *matches, std::map< std::string, bool > &jetCutResult, float &dEtaqq, float &mqq, float &dPhibb, float &CSV1, float &CSV2, float &CSV3)
Definition: HLTHiggsSubAnalysis.cc:1030
InputTag.h
HLTHiggsSubAnalysis::NptPlots
unsigned int NptPlots
Definition: HLTHiggsSubAnalysis.h:167
HLTHiggsSubAnalysis::_genCut
std::map< unsigned int, std::string > _genCut
gen/rec objects cuts
Definition: HLTHiggsSubAnalysis.h:148
PFMETFwd.h
HLTHiggsSubAnalysis::_shortpath2long
std::map< std::string, std::string > _shortpath2long
Relation between the short version of a path.
Definition: HLTHiggsSubAnalysis.h:116
HLTHiggsSubAnalysis::_NminOneCuts
std::vector< double > _NminOneCuts
Definition: HLTHiggsSubAnalysis.h:165
taus_updatedMVAIds_cff.variable
variable
Definition: taus_updatedMVAIds_cff.py:33
HLTConfigProvider
Definition: HLTConfigProvider.h:29
HLTHiggsSubAnalysis::_pset
edm::ParameterSet _pset
Definition: HLTHiggsSubAnalysis.h:95
StringCutObjectSelector.h
HLTHiggsSubAnalysis::_genSelectorMap
std::map< unsigned int, StringCutObjectSelector< reco::GenParticle > * > _genSelectorMap
Definition: HLTHiggsSubAnalysis.h:153
Frameworkfwd.h
HLTHiggsSubAnalysis::_recElecSelector
StringCutObjectSelector< reco::GsfElectron > * _recElecSelector
Definition: HLTHiggsSubAnalysis.h:156
HLTHiggsSubAnalysis::_recLabelsPFMET
edm::EDGetTokenT< reco::PFMETCollection > _recLabelsPFMET
Definition: HLTHiggsSubAnalysis.h:129
StringCutObjectSelector< reco::GenJet >
HLTHiggsSubAnalysis::_genParticleLabel
edm::EDGetTokenT< reco::GenParticleCollection > _genParticleLabel
Definition: HLTHiggsSubAnalysis.h:120
HLTHiggsSubAnalysis::_recPhotonSelector
StringCutObjectSelector< reco::Photon > * _recPhotonSelector
Definition: HLTHiggsSubAnalysis.h:160
PFTau.h
HLTHiggsSubAnalysis::_recPFTauSelector
StringCutObjectSelector< reco::PFTau > * _recPFTauSelector
Definition: HLTHiggsSubAnalysis.h:159
HLTHiggsSubAnalysis::bookHistograms
void bookHistograms(DQMStore::IBooker &)
Definition: HLTHiggsSubAnalysis.cc:262
dqm::implementation::IBooker
Definition: DQMStore.h:43
patCandidatesForDimuonsSequences_cff.matches
matches
Definition: patCandidatesForDimuonsSequences_cff.py:131
HLTHiggsSubAnalysis::MonitorElement
dqm::legacy::MonitorElement MonitorElement
Definition: HLTHiggsSubAnalysis.h:62
HLTHiggsSubAnalysis::_histDirectory
std::string _histDirectory
Definition: HLTHiggsSubAnalysis.h:108
GenJet.h
ConsumesCollector.h
HLTHiggsSubAnalysis::_HtJetPtMin
double _HtJetPtMin
Definition: HLTHiggsSubAnalysis.h:102
HLTHiggsSubAnalysis::_recLabelsElec
edm::EDGetTokenT< reco::GsfElectronCollection > _recLabelsElec
Definition: HLTHiggsSubAnalysis.h:126
HLTHiggsSubAnalysis::_minCandidates
unsigned int _minCandidates
The minimum number of reco/gen candidates needed by the analysis.
Definition: HLTHiggsSubAnalysis.h:100
HLTHiggsSubAnalysis::getObjectsType
const std::vector< unsigned int > getObjectsType(const std::string &hltpath) const
Extract what objects need this analysis.
Definition: HLTHiggsSubAnalysis.cc:702
ParameterSet.h
HLTHiggsSubAnalysis::~HLTHiggsSubAnalysis
~HLTHiggsSubAnalysis()
Definition: HLTHiggsSubAnalysis.cc:164
HLTHiggsSubAnalysis::GEN
Definition: HLTHiggsSubAnalysis.h:64
HLTHiggsSubAnalysis::RECO
Definition: HLTHiggsSubAnalysis.h:64
HLTHiggsSubAnalysis::HLTHiggsSubAnalysis
HLTHiggsSubAnalysis(const edm::ParameterSet &pset, const std::string &analysisname, edm::ConsumesCollector &&iC)
Definition: HLTHiggsSubAnalysis.cc:32
HLTHiggsSubAnalysis::bookobjects
void bookobjects(const edm::ParameterSet &anpset, edm::ConsumesCollector &iC)
Definition: HLTHiggsSubAnalysis.cc:744
EVTColContainer
container with all the objects needed
Definition: EVTColContainer.cc:45
edm::Event
Definition: Event.h:73
HLTHiggsSubAnalysis::_recTrackSelector
StringCutObjectSelector< reco::Track > * _recTrackSelector
Definition: HLTHiggsSubAnalysis.h:162
HLTHiggsSubAnalysis::_parametersEta
std::vector< double > _parametersEta
Some kinematical parameters.
Definition: HLTHiggsSubAnalysis.h:136
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
HLTHiggsSubAnalysis::beginJob
void beginJob()
Definition: HLTHiggsSubAnalysis.cc:191
HLTHiggsSubAnalysis::insertcandidates
void insertcandidates(const unsigned int &objtype, const EVTColContainer *col, std::vector< MatchStruct > *matches)
Definition: HLTHiggsSubAnalysis.cc:1145
HLTHiggsSubAnalysis::_recMuonSelector
StringCutObjectSelector< reco::Muon > * _recMuonSelector
Definition: HLTHiggsSubAnalysis.h:155
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
HLTHiggsSubAnalysis::_hltPathsToCheck
std::vector< std::string > _hltPathsToCheck
the hlt paths with regular expressions
Definition: HLTHiggsSubAnalysis.h:111
HLTHiggsSubAnalysis::_parametersHt
std::vector< double > _parametersHt
Definition: HLTHiggsSubAnalysis.h:139
HLTHiggsSubAnalysis::_analysisname
std::string _analysisname
Definition: HLTHiggsSubAnalysis.h:97