CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SignAlgoResolutions.h
Go to the documentation of this file.
1 #ifndef RECOMET_METALGORITHMS_SIGNALGORESOLUTIONS_H
2 #define RECOMET_METALGORITHMS_SIGNALGORESOLUTIONS_H
3 
4 // -*- C++ -*-
5 //
6 // Package: METAlgorithms
7 // Class: SignAlgoResolutions
8 //
16 //
17 // Original Author: Kyle Story, Freya Blekman (Cornell University)
18 // Created: Fri Apr 18 11:58:33 CEST 2008
19 // $Id: SignAlgoResolutions.h,v 1.5 2011/08/15 12:31:49 akhukhun Exp $
20 //
21 //
22 
34 
35 #include <map>
36 #include <iostream>
37 #include <vector>
38 
39 namespace metsig {
40 
43 
45 
46  public:
48  SignAlgoResolutions(const edm::ParameterSet &iConfig);
49 
50  void addResolutions(const edm::ParameterSet &iConfig);
51  double eval(const resolutionType & type, const resolutionFunc & func, const double & et, const double & phi, const double & eta, const double &p) const; // for example getvalue(caloHF,ET,et,phi,eta,p);
52  double eval(const resolutionType & type, const resolutionFunc & func, const double & et, const double & phi, const double & eta) const; // for example getvalue(caloHF,ET,et,phi,eta,p);
53  metsig::SigInputObj evalPF(const reco::PFCandidate* candidate) const;
55  bool isFilled() const {return functionmap_.size()>0;}
56 
57  private:
58  double getfunc(const resolutionType & type,const resolutionFunc & func, std::vector<double> & x) const;
59  void addfunction(const resolutionType type, const resolutionFunc func, std::vector<double> parameters);
60  void initializeJetResolutions( const edm::ParameterSet &iConfig );
61 
62  typedef std::pair<metsig::resolutionType, metsig::resolutionFunc> functionCombo;
63  typedef std::vector<double> functionPars;
64  std::map<functionCombo,functionPars> functionmap_;
65 
66  double EtFunction( const functionPars &x, const functionPars & par) const;
67  double PhiFunction( const functionPars &x, const functionPars & par) const;
68  double PFunction( const functionPars &x, const functionPars &par) const;
69  double PhiConstFunction(const functionPars &x, const functionPars &par) const;
70  double ElectronPtResolution(const reco::PFCandidate *c) const;
71 
73  //temporary fix for low pT jet resolutions
74  //First index, eta bins, from 0 to 5;
75  //Second index, pt bins, from 3 to 23 GeV;
76  std::vector<double> jdpt[10];
77  std::vector<double> jdphi[10];
78 
82  };
83 }
84 #endif
type
Definition: HCALResponse.h:22
dictionary parameters
Definition: Parameters.py:2
double PhiFunction(const functionPars &x, const functionPars &par) const
double getfunc(const resolutionType &type, const resolutionFunc &func, std::vector< double > &x) const
metsig::SigInputObj evalPF(const reco::PFCandidate *candidate) const
std::vector< double > jdpt[10]
T eta() const
double eval(const resolutionType &type, const resolutionFunc &func, const double &et, const double &phi, const double &eta, const double &p) const
Jets made from PFObjects.
Definition: PFJet.h:22
double ElectronPtResolution(const reco::PFCandidate *c) const
double EtFunction(const functionPars &x, const functionPars &par) const
std::vector< double > functionPars
metsig::SigInputObj evalPFJet(const reco::PFJet *jet) const
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:33
void initializeJetResolutions(const edm::ParameterSet &iConfig)
double PhiConstFunction(const functionPars &x, const functionPars &par) const
Definition: DDAxes.h:10
std::map< functionCombo, functionPars > functionmap_
PFEnergyResolution * pfresol_
void addfunction(const resolutionType type, const resolutionFunc func, std::vector< double > parameters)
std::vector< double > jdphi[10]
std::pair< metsig::resolutionType, metsig::resolutionFunc > functionCombo
double PFunction(const functionPars &x, const functionPars &par) const
void addResolutions(const edm::ParameterSet &iConfig)
Definition: DDAxes.h:10