CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/Calibration/EcalCalibAlgos/interface/ZeeKinematicTools.h

Go to the documentation of this file.
00001 #ifndef ZEEKINEMATICTOOLS_H
00002 #define  ZEEKINEMATICTOOLS_H
00003 
00004 #include <memory>
00005 
00006 // user include files
00007 #include "FWCore/Framework/interface/Frameworkfwd.h"
00008 #include "FWCore/Framework/interface/EDAnalyzer.h"
00009 
00010 #include "DataFormats/Common/interface/TriggerResults.h"
00011 #include "DataFormats/EgammaCandidates/interface/GsfElectron.h"
00012 #include "DataFormats/EgammaCandidates/interface/GsfElectronFwd.h"
00013 #include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h"
00014 #include "FWCore/Framework/interface/Event.h"
00015 #include "FWCore/Framework/interface/MakerMacros.h"
00016 #include "FWCore/Framework/interface/EventSetup.h"
00017 #include "FWCore/Framework/interface/ESHandle.h"
00018 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
00019 #include "Calibration/Tools/interface/HouseholderDecomposition.h"
00020 #include "Calibration/Tools/interface/MinL3Algorithm.h"
00021 #include "Calibration/Tools/interface/CalibrationCluster.h"
00022 #include "Calibration/Tools/interface/CalibElectron.h"
00023 #include "DataFormats/DetId/interface/DetId.h"
00024 #include "TFile.h"
00025 #include "TH1.h"
00026 #include "TH2.h"
00027 
00028 
00029 // class declaration
00030 //
00031 
00032 class ZeeKinematicTools {
00033 
00034    public:
00035 
00036       ZeeKinematicTools();
00037       ~ZeeKinematicTools();
00038 
00039       static float calculateZMass_noTK(const std::pair<calib::CalibElectron*,calib::CalibElectron*>& aZCandidate);
00040       static float calculateZMass_withTK(const std::pair<calib::CalibElectron*,calib::CalibElectron*>& aZCandidate);
00041       static float calculateZEta(const std::pair<calib::CalibElectron*,calib::CalibElectron*>& aZCandidate);
00042       static float calculateZTheta(const std::pair<calib::CalibElectron*,calib::CalibElectron*>& aZCandidate);
00043       static float calculateZRapidity(const std::pair<calib::CalibElectron*,calib::CalibElectron*>& aZCandidate);
00044       static float calculateZPhi(const std::pair<calib::CalibElectron*,calib::CalibElectron*>& aZCandidate);
00045       static float calculateZPt(const std::pair<calib::CalibElectron*,calib::CalibElectron*>& aZCandidate);
00046 
00047       static float calculateZMassWithCorrectedElectrons_noTK(const std::pair<calib::CalibElectron*,calib::CalibElectron*>& aZCandidate, float ele1EnergyCorrection, float ele2EnergyCorrection);
00048       static float calculateZMassWithCorrectedElectrons_withTK(const std::pair<calib::CalibElectron*,calib::CalibElectron*>& aZCandidate, float ele1EnergyCorrection, float ele2EnergyCorrection);
00049 
00050       static float cosThetaElectrons_SC( const std::pair<calib::CalibElectron*,calib::CalibElectron*>& aZCandidate, float ele1EnergyCorrection, float ele2EnergyCorrection );
00051       static float cosThetaElectrons_TK( const std::pair<calib::CalibElectron*,calib::CalibElectron*>& aZCandidate, float ele1EnergyCorrection, float ele2EnergyCorrection );
00052 
00053 
00054 
00055 };
00056 #endif