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 
23 
39 
42 
44 
46 
47 
48 #include<vector>
49 #include<set>
50 #include<map>
51 #include<cstring>
52 
53 class EVTColContainer;
54 
56 {
57  public:
58  enum
59  {
60  GEN,
62  };
63 
65  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);
77  void initobjects(const edm::Event & iEvent, EVTColContainer * col);
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 
89  std::string _analysisname;
90 
92  unsigned int _minCandidates;
93 
94  std::string _hltProcessName;
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.
106  std::string _genParticleLabel;
107  std::map<unsigned int,std::string> _recLabels;
108 
110  std::vector<double> _parametersEta;
111  std::vector<double> _parametersPhi;
112  std::vector<double> _parametersTurnOn;
113 
114  std::map<unsigned int,double> _cutMinPt;
115  std::map<unsigned int,double> _cutMaxEta;
116  std::map<unsigned int,unsigned int> _cutMotherId; //TO BE DEPRECATED (HLTMATCH)
117  std::map<unsigned int,std::vector<double> > _cutsDr; // TO BE DEPRECATED (HLTMATCH)
119  std::map<unsigned int,std::string> _genCut;
120  std::map<unsigned int,std::string> _recCut;
121 
124  std::map<unsigned int,StringCutObjectSelector<reco::GenParticle> *> _genSelectorMap;
131 
132  // The plotters: managers of each hlt path where the plots are done
133  std::vector<HLTHiggsPlotter> _analyzers;
134 
136 
138  std::map<std::string, MonitorElement *> _elements;
139 };
140 
141 
142 #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
std::map< unsigned int, std::string > _genCut
gen/rec objects cuts
void initobjects(const edm::Event &iEvent, EVTColContainer *col)
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
StringCutObjectSelector< reco::Track > * _recTrackSelector
std::map< unsigned int, std::string > _recCut
std::map< unsigned int, StringCutObjectSelector< reco::GenParticle > * > _genSelectorMap
void bookobjects(const edm::ParameterSet &anpset)
int iEvent
Definition: GenABIO.cc:243
std::vector< HLTHiggsPlotter > _analyzers
std::map< unsigned int, std::string > _recLabels
HLTHiggsSubAnalysis(const edm::ParameterSet &pset, const std::string &analysisname)
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)
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)
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
StringCutObjectSelector< reco::Photon > * _recPhotonSelector
std::map< unsigned int, std::vector< double > > _cutsDr
void bookHist(const std::string &source, const std::string &objType, const std::string &variable)
StringCutObjectSelector< reco::GsfElectron > * _recElecSelector
Definition: Run.h:33