Go to the documentation of this file.00001 #ifndef GenPurposeSkimmerData_H
00002 #define GenPurposeSkimmerData_H
00003
00004
00005 #include <memory>
00006
00007
00008 #include "FWCore/Framework/interface/Frameworkfwd.h"
00009 #include "FWCore/Framework/interface/EDAnalyzer.h"
00010
00011 #include "FWCore/Framework/interface/Event.h"
00012 #include "FWCore/Framework/interface/MakerMacros.h"
00013 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00014 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00015
00016
00017
00018 #include "TFile.h"
00019 #include "TBranch.h"
00020 #include "TTree.h"
00021 #include "TVector.h"
00022 #include "TString.h"
00023 #include "TMath.h"
00024
00025 #include "HLTrigger/HLTcore/interface/TriggerSummaryAnalyzerAOD.h"
00026 #include "DataFormats/HLTReco/interface/TriggerEvent.h"
00027 #include "DataFormats/EgammaCandidates/interface/GsfElectron.h"
00028 #include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h"
00029 #include "DataFormats/EgammaCandidates/interface/Electron.h"
00030 #include "DataFormats/EgammaCandidates/interface/ElectronFwd.h"
00031
00032 #include "DataFormats/Common/interface/TriggerResults.h"
00033 #include "DataFormats/HLTReco/interface/TriggerEventWithRefs.h"
00034 #include "DataFormats/HLTReco/interface/TriggerTypeDefs.h"
00035 #include "DataFormats/HLTReco/interface/TriggerRefsCollections.h"
00036 #include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h"
00037 #include "DataFormats/HLTReco/interface/TriggerEvent.h"
00038 #include "DataFormats/HLTReco/interface/TriggerObject.h"
00039
00040
00041 #include "DataFormats/Common/interface/ValueMap.h"
00042 #include "DataFormats/GsfTrackReco/interface/GsfTrack.h"
00043 #include "DataFormats/TrackReco/interface/Track.h"
00044 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00045 #include "DataFormats/METReco/interface/CaloMET.h"
00046 #include "DataFormats/METReco/interface/CaloMETFwd.h"
00047 #include "DataFormats/METReco/interface/PFMET.h"
00048 #include "DataFormats/METReco/interface/PFMETFwd.h"
00049 #include "DataFormats/METReco/interface/GenMET.h"
00050 #include "DataFormats/METReco/interface/GenMETFwd.h"
00051
00052 #include "RecoEcal/EgammaCoreTools/interface/EcalClusterLazyTools.h"
00053 #include "RecoEgamma/ElectronIdentification/interface/ElectronIDAlgo.h"
00054
00055 #include "DataFormats/HepMCCandidate/interface/GenParticle.h"
00056 #include "DataFormats/RecoCandidate/interface/IsoDeposit.h"
00057 #include "DataFormats/RecoCandidate/interface/IsoDepositFwd.h"
00058 #include "DataFormats/Common/interface/ValueMap.h"
00059
00060 #include "DataFormats/PatCandidates/interface/Electron.h"
00061 #include "DataFormats/PatCandidates/interface/MET.h"
00062 #include "DataFormats/Math/interface/deltaR.h"
00063
00064
00065
00066
00067 class GenPurposeSkimmerData : public edm::EDAnalyzer {
00068 public:
00069 explicit GenPurposeSkimmerData(const edm::ParameterSet&);
00070 ~GenPurposeSkimmerData();
00071
00072
00073 private:
00074 virtual void beginJob() ;
00075 virtual void analyze(const edm::Event&, const edm::EventSetup&);
00076 virtual void endJob() ;
00077
00078
00079
00080
00081 std::string outputFile_;
00082 int tree_fills_;
00083
00084 edm::InputTag ElectronCollection_;
00085 edm::InputTag MCCollection_;
00086 edm::InputTag MetCollectionTag_;
00087 edm::InputTag mcMetCollectionTag_;
00088 edm::InputTag tcMetCollectionTag_;
00089 edm::InputTag pfMetCollectionTag_;
00090 edm::InputTag t1MetCollectionTag_;
00091 edm::InputTag t1MetCollectionTagTwiki_;
00092 edm::InputTag genMetCollectionTag_;
00093
00094 edm::InputTag HLTCollectionE29_;
00095 edm::InputTag HLTCollectionE31_;
00096 edm::InputTag HLTTriggerResultsE29_;
00097 edm::InputTag HLTTriggerResultsE31_;
00098 edm::InputTag HLTFilterType_[25];
00099
00100 edm::InputTag ctfTracksTag_;
00101 edm::InputTag corHybridsc_, multi5x5sc_;
00102
00103 TTree * probe_tree;
00104 TFile * histofile;
00105
00106
00107
00108
00109 double probe_sc_eta_for_tree[4];
00110 double probe_sc_phi_for_tree[4];
00111 double probe_sc_et_for_tree[4];
00112 int probe_sc_pass_fiducial_cut[4];
00113 int probe_sc_pass_et_cut[4];
00114
00115
00116 double probe_ele_eta_for_tree[4];
00117 double probe_ele_phi_for_tree[4];
00118 double probe_ele_et_for_tree[4];
00119 double probe_ele_Xvertex_for_tree[4];
00120 double probe_ele_Yvertex_for_tree[4];
00121 double probe_ele_Zvertex_for_tree[4];
00122 double probe_ele_tip[4];
00123 int probe_charge_for_tree[4];
00124 int probe_index_for_tree[4];
00125
00126
00127 int probe_ele_pass_fiducial_cut[4];
00128 int probe_ele_pass_et_cut[4];
00129 int probe_pass_recoEle_cut[4];
00130 int probe_pass_iso_cut[4];
00131
00132 double probe_isolation_value[4];
00133 double probe_iso_user[4];
00134
00135 double probe_ecal_isolation_value[4];
00136 double probe_ecal_iso_user[4];
00137
00138 double probe_hcal_isolation_value[4];
00139 double probe_hcal_iso_user[4];
00140
00141 int probe_classification_index_for_tree[4];
00142 int probe_pass_tip_cut[4];
00143
00144 int probe_pass_id_robust_loose[4];
00145 int probe_pass_id_robust_tight[4];
00146 int probe_pass_id_loose[4];
00147 int probe_pass_id_tight[4];
00148 double probe_ele_hoe[4];
00149 double probe_ele_shh[4];
00150 double probe_ele_sihih[4];
00151 double probe_ele_dhi[4];
00152 double probe_ele_dfi[4];
00153 double probe_ele_eop[4];
00154 double probe_ele_pin[4];
00155 double probe_ele_pout[4];
00156 double probe_ele_e5x5[4];
00157 double probe_ele_e2x5[4];
00158 double probe_ele_e1x5[4];
00159
00160
00161 int probe_pass_trigger_cut[4][25];
00162 double probe_hlt_matched_dr[4];
00163
00164 double MCMatch_Deta_;
00165 double MCMatch_Dphi_;
00166 int probe_mc_matched[4];
00167 double probe_mc_matched_deta[4];
00168 double probe_mc_matched_dphi[4];
00169 double probe_mc_matched_denergy[4];
00170 int probe_mc_matched_mother[4];
00171
00172
00173 int numberOfHLTFilterObjects[25];
00174
00175 int event_HLTPath[25];
00176
00177 double BarrelMaxEta;
00178 double EndcapMinEta;
00179 double EndcapMaxEta;
00180
00181 double ProbeSCMinEt;
00182 double ProbeRecoEleSCMaxDE;
00183
00184 double ProbeHLTObjMaxDR;
00185 double RecoEleSeedBCMaxDE;
00186 double GsfTrackMinInnerPt;
00187
00188 int elec_number_in_event;
00189 int elec_1_duplicate_removal;
00190
00191 double event_MET, event_MET_sig;
00192
00193 double event_MET_phi;
00194 double event_tcMET, event_tcMET_sig, event_tcMET_phi;
00195 double event_pfMET, event_pfMET_sig;
00196
00197 double event_pfMET_phi;
00198
00199
00200
00201
00202 double event_t1MET, event_t1MET_phi, event_t1MET_sig;
00203 double event_mcMET, event_mcMET_phi, event_mcMET_sig;
00204
00205
00206
00207 double sc_hybrid_et[5], sc_hybrid_eta[5], sc_hybrid_phi[5];
00208 double sc_multi5x5_et[5], sc_multi5x5_eta[5], sc_multi5x5_phi[5];
00209
00210 double ctf_track_pt[20], ctf_track_eta[20], ctf_track_phi[20];
00211 double ctf_track_vx[20], ctf_track_vy[20], ctf_track_vz[20];
00212 double ctf_track_tip[20], ctf_track_tip_bs[20];
00213
00214 double muon_pt[4], muon_eta[4], muon_phi[4];
00215 double muon_vx[4], muon_vy[4], muon_vz[4];
00216 double muon_tip[4], muon_tip_bs[4];
00217 };
00218
00219
00220 #endif
00221