00001 #ifndef StarterKit_HistoElectron_h
00002 #define StarterKit_HistoElectron_h
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #include "DataFormats/PatCandidates/interface/Electron.h"
00039 #include "PhysicsTools/StarterKit/interface/HistoGroup.h"
00040
00041
00042 #include <string>
00043
00044
00045 #include <TH1D.h>
00046 #include <TFile.h>
00047
00048 namespace pat {
00049
00050 class HistoElectron : public HistoGroup<Electron> {
00051
00052 public:
00053 HistoElectron( std::string dir = "electron", std::string group = "Electron",
00054 std::string pre = "e",
00055 double pt1=0, double pt2=200, double m1=0, double m2=200 ,
00056 TFileDirectory * parentDir=0);
00057 virtual ~HistoElectron();
00058
00059
00060 virtual void fill( const Electron *electron, uint iPart = 1, double weight = 1.0 );
00061 virtual void fill( const Electron &electron, uint iPart = 1, double weight = 1.0 ) { fill(&electron, iPart,weight); }
00062
00063
00064
00065 virtual void fill( const reco::ShallowClonePtrCandidate *electron, uint iPart = 1, double weight = 1.0 );
00066 virtual void fill( const reco::ShallowClonePtrCandidate &electron, uint iPart = 1, double weight = 1.0 )
00067 { fill(&electron, iPart,weight); }
00068
00069 virtual void fillCollection( const std::vector<Electron> & coll, double weight = 1.0 );
00070
00071
00072 void clearVec();
00073 protected:
00074
00075 PhysVarHisto * h_trackIso_;
00076 PhysVarHisto * h_caloIso_;
00077 PhysVarHisto * h_leptonID_;
00078
00079 PhysVarHisto * h_ele_matchingObjectEta_;
00080 PhysVarHisto * h_ele_matchingObjectPt_;
00081 PhysVarHisto * h_ele_matchingObjectPhi_;
00082 PhysVarHisto * h_ele_matchingObjectZ_;
00083
00084 PhysVarHisto * h_ele_matchingObjectEta_matched_;
00085 PhysVarHisto * h_ele_matchingObjectPt_matched_;
00086 PhysVarHisto * h_ele_matchingObjectPhi_matched_;
00087 PhysVarHisto * h_ele_matchingObjectZ_matched_;
00088
00089
00090 PhysVarHisto * h_ele_vertexP_;
00091 PhysVarHisto * h_ele_vertexPt_;
00092 PhysVarHisto * h_ele_vertexEta_;
00093 PhysVarHisto * h_ele_vertexPhi_;
00094 PhysVarHisto * h_ele_vertexX_;
00095 PhysVarHisto * h_ele_vertexY_;
00096 PhysVarHisto * h_ele_vertexZ_;
00097 PhysVarHisto * h_ele_charge_;
00098
00099
00100 PhysVarHisto * h_ele_EoP_;
00101 PhysVarHisto * h_ele_EoPout_;
00102 PhysVarHisto * h_ele_dEtaSc_propVtx_;
00103 PhysVarHisto * h_ele_dPhiSc_propVtx_;
00104 PhysVarHisto * h_ele_dPhiCl_propOut_;
00105 PhysVarHisto * h_ele_HoE_;
00106 PhysVarHisto * h_ele_PinMnPout_mode_;
00107 PhysVarHisto * h_ele_classes_;
00108 PhysVarHisto * h_ele_eta_golden_;
00109 PhysVarHisto * h_ele_eta_shower_;
00110 PhysVarHisto * h_ele_eta_goldenFrac_;
00111 PhysVarHisto * h_ele_eta_showerFrac_;
00112
00113
00114 PhysVarHisto * h_ele_eta_;
00115
00116
00117
00118 PhysVarHisto * h_ele_foundHits_;
00119 PhysVarHisto * h_ele_chi2_;
00120
00121
00122 PhysVarHisto * h_ele_etaEff_;
00123 PhysVarHisto * h_ele_ptEff_;
00124 PhysVarHisto * h_ele_phiEff_;
00125 PhysVarHisto * h_ele_zEff_;
00126
00127
00128
00129 };
00130
00131 }
00132 #endif