CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HLTHiggsSubAnalysis.h
Go to the documentation of this file.
1 #ifndef HLTriggerOffline_Higgs_HLTHiggsSubAnalysis_H
2 #define HLTriggerOffline_Higgs_HLTHiggsSubAnalysis_H
3 
22 
38 
41 
43 
45 
46 
47 #include<vector>
48 #include<set>
49 #include<map>
50 #include<cstring>
51 
52 class EVTColContainer;
53 
55 {
56  public:
57  enum
58  {
59  GEN,
61  };
62 
64  const std::string & analysisname,
67  void beginJob();
68  void beginRun(const edm::Run & iRun, const edm::EventSetup & iEventSetup);
69  void analyze(const edm::Event & iEvent, const edm::EventSetup & iEventSetup, EVTColContainer * cols);
70 
72  const std::vector<unsigned int> getObjectsType(const std::string & hltpath) const;
73 
74 
75  private:
76  void bookobjects(const edm::ParameterSet & anpset, edm::ConsumesCollector& iC);
78  void InitSelector(const unsigned int & objtype);
79  void insertcandidates(const unsigned int & objtype, const EVTColContainer * col,
80  std::vector<MatchStruct> * matches);
81 
82  void bookHist(const std::string & source, const std::string & objType,
83  const std::string & variable);
84  void fillHist(const std::string & source,const std::string & objType,
85  const std::string & variable, const float & value );
86 
88 
90 
92  unsigned int _minCandidates;
93 
95 
97  std::vector<std::string> _hltPathsToCheck;
99  std::set<std::string> _hltPaths;
100 
102  std::map<std::string,std::string> _shortpath2long;
103 
104  // The name of the object collections to be used in this
105  // analysis.
107 
108  std::map<unsigned int,std::string> _recLabels;
114 
115 
117  std::vector<double> _parametersEta;
118  std::vector<double> _parametersPhi;
119  std::vector<double> _parametersTurnOn;
121 
122 
123  std::map<unsigned int,double> _cutMinPt;
124  std::map<unsigned int,double> _cutMaxEta;
125  std::map<unsigned int,unsigned int> _cutMotherId; //TO BE DEPRECATED (HLTMATCH)
126  std::map<unsigned int,std::vector<double> > _cutsDr; // TO BE DEPRECATED (HLTMATCH)
128  std::map<unsigned int,std::string> _genCut;
129  std::map<unsigned int,std::string> _recCut;
130 
133  std::map<unsigned int,StringCutObjectSelector<reco::GenParticle> *> _genSelectorMap;
140 
141 
142  // The plotters: managers of each hlt path where the plots are done
143  std::vector<HLTHiggsPlotter> _analyzers;
144 
146 
148  std::map<std::string, MonitorElement *> _elements;
149 };
150 
151 
152 #endif
std::vector< double > _parametersTurnOn
void InitSelector(const unsigned int &objtype)
std::map< std::string, std::string > _shortpath2long
Relation between the short version of a path.
StringCutObjectSelector< reco::CaloMET > * _recCaloMETSelector
edm::EDGetTokenT< reco::GenParticleCollection > _genParticleLabel
std::map< unsigned int, std::string > _genCut
gen/rec objects cuts
void initobjects(const edm::Event &iEvent, EVTColContainer *col)
edm::EDGetTokenT< reco::PFTauCollection > _recLabelsPFTau
unsigned int _minCandidates
The minimum number of reco/gen candidates needed by the analysis.
std::map< std::string, MonitorElement * > _elements
edm::ParameterSet _pset
std::set< std::string > _hltPaths
the hlt paths found in the hltConfig
container with all the objects needed
HLTConfigProvider _hltConfig
std::map< unsigned int, unsigned int > _cutMotherId
edm::EDGetTokenT< reco::PhotonCollection > _recLabelsPhoton
edm::EDGetTokenT< reco::CaloMETCollection > _recLabelsCaloMET
StringCutObjectSelector< reco::Track > * _recTrackSelector
std::map< unsigned int, std::string > _recCut
std::map< unsigned int, StringCutObjectSelector< reco::GenParticle > * > _genSelectorMap
int iEvent
Definition: GenABIO.cc:243
std::vector< HLTHiggsPlotter > _analyzers
std::map< unsigned int, std::string > _recLabels
void analyze(const edm::Event &iEvent, const edm::EventSetup &iEventSetup, EVTColContainer *cols)
std::map< unsigned int, double > _cutMinPt
StringCutObjectSelector< reco::PFTau > * _recPFTauSelector
void beginRun(const edm::Run &iRun, const edm::EventSetup &iEventSetup)
edm::EDGetTokenT< edm::TriggerResults > _trigResultsTag
edm::EDGetTokenT< reco::GsfElectronCollection > _recLabelsElec
HLTHiggsSubAnalysis(const edm::ParameterSet &pset, const std::string &analysisname, edm::ConsumesCollector &&iC)
StringCutObjectSelector< reco::Muon > * _recMuonSelector
void fillHist(const std::string &source, const std::string &objType, const std::string &variable, const float &value)
const std::vector< unsigned int > getObjectsType(const std::string &hltpath) const
Extract what objects need this analysis.
void insertcandidates(const unsigned int &objtype, const EVTColContainer *col, std::vector< MatchStruct > *matches)
edm::EDGetTokenT< reco::MuonCollection > _recLabelsMuon
std::vector< double > _parametersPhi
std::vector< std::string > _hltPathsToCheck
the hlt paths with regular expressions
std::vector< double > _parametersEta
Some kinematical parameters.
std::map< unsigned int, double > _cutMaxEta
void bookobjects(const edm::ParameterSet &anpset, edm::ConsumesCollector &iC)
StringCutObjectSelector< reco::Photon > * _recPhotonSelector
int col
Definition: cuy.py:1008
std::map< unsigned int, std::vector< double > > _cutsDr
void bookHist(const std::string &source, const std::string &objType, const std::string &variable)
static std::string const source
Definition: EdmProvDump.cc:43
StringCutObjectSelector< reco::GsfElectron > * _recElecSelector
Definition: Run.h:41