![]() |
![]() |
00001 #ifndef SINGLEPARTICLEWRAPPER_HH_ 00002 #define SINGLEPARTICLEWRAPPER_HH_ 00003 00004 #include <boost/shared_ptr.hpp> 00005 00006 #include <vector> 00007 00008 #include "RecoParticleFlow/PFClusterTools/interface/CalibrationResultWrapper.h" 00009 00010 namespace pftools { 00020 class SingleParticleWrapper 00021 { 00022 public: 00023 00024 typedef boost::shared_ptr<SingleParticleWrapper> SingleParticleWrapperPtr; 00025 00026 SingleParticleWrapper() { 00027 reset(); 00028 } 00029 virtual ~SingleParticleWrapper() {}; 00030 00031 double getCaloE() const { 00032 return eEcal + eHcal; 00033 } 00034 00035 00036 virtual void reset() { 00037 eEcal = 0; 00038 eHcal = 0; 00039 trueEnergy = -1; 00040 etaMC = 0; 00041 phiMC = 0; 00042 etaEcal = 0; 00043 phiEcal = 0; 00044 etaHcal = 0; 00045 phiHcal = 0; 00046 nEcalCluster = 0; 00047 nHcalCluster = 0; 00048 eSqEcal = 0; 00049 eSqHcal = 0; 00050 nPFCandidates = 0; 00051 ePFEcal = 0; 00052 ePFHcal = 0; 00053 eSqPFEcal = 0; 00054 eSqPFHcal = 0; 00055 ePFElementEcal = 0; 00056 ePFElementHcal = 0; 00057 eRecHitsEcal = 0; 00058 eRecHitsHcal = 0; 00059 nRecHitsEcal = 0; 00060 nRecHitsHcal = 0; 00061 nSimParticles = 0; 00062 00063 calibrations_.clear(); 00064 }; 00065 00066 //True, Ecal and Hcal energy and angle depositions 00067 double eEcal; 00068 double eHcal; 00069 double ePFEcal; 00070 double ePFHcal; 00071 double trueEnergy; 00072 double etaMC; 00073 double phiMC; 00074 int nSimParticles; 00075 //Of the PFClusters 00076 double etaEcal; 00077 double phiEcal; 00078 double etaHcal; 00079 double phiHcal; 00080 00081 //Number of clusters in each of the Ecal and Hcal 00082 int nEcalCluster; 00083 int nHcalCluster; 00084 int nPFCandidates; 00085 00086 //Sum of the squares of the Ecal and Hcal cluster energies 00087 double eSqEcal; 00088 double eSqHcal; 00089 double eSqPFEcal; 00090 double eSqPFHcal; 00091 00092 //Energies in the ECAL and HCAL elements associated with a PFCandidate block 00093 double ePFElementEcal; 00094 double ePFElementHcal; 00095 int nRecHitsEcal; 00096 int nRecHitsHcal; 00097 00098 double eRecHitsEcal; 00099 double eRecHitsHcal; 00100 00101 std::vector<CalibrationResultWrapper> calibrations_; 00102 00103 }; 00104 } 00105 #endif /*SINGLEPARTICLEWRAPPER_HH_*/