CMS 3D CMS Logo

Pi0Algo.h

Go to the documentation of this file.
00001 #ifndef RecoTauTag_Pi0Tau_Pi0Algo_h_
00002 #define RecoTauTag_Pi0Tau_Pi0Algo_h_
00003 
00004 // -*- C++ -*-
00005 //
00006 // Package:    Pi0Algo
00007 // Class:      Pi0Algo
00008 // 
00016 //
00017 // Original Author:  Dongwook Jang
00018 //         Created:  Tue Jan  9 16:40:36 CST 2007
00019 // $Id: Pi0Algo.h,v 1.3 2007/06/01 22:00:53 dwjang Exp $
00020 //
00021 //
00022 
00023 
00024 // system include files
00025 #include <memory>
00026 #include "DataFormats/Common/interface/Handle.h"
00027 #include "DataFormats/Math/interface/Point3D.h"
00028 #include "DataFormats/Math/interface/LorentzVector.h"
00029 #include "DataFormats/TrackReco/interface/Track.h"
00030 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00031 #include "DataFormats/ParticleFlowCandidate/interface/PFCandidate.h"
00032 #include "DataFormats/ParticleFlowCandidate/interface/PFCandidateFwd.h"
00033 #include "RecoTauTag/Pi0Tau/interface/Pi0.h"
00034 #include "RecoTauTag/Pi0Tau/interface/Pi0Fwd.h"
00035 
00036 //
00037 // class decleration
00038 //
00039 
00040 namespace reco {
00041 
00042   class Pi0Algo {
00043 
00044   public:
00045 
00046     Pi0Algo(reco::TrackRef seedTrack);
00047 
00048     ~Pi0Algo();
00049 
00050     const reco::Pi0Collection &pi0Collection() const { return pi0Collection_; }
00051 
00052     math::XYZTLorentzVector calculateMomentumWRT(const math::XYZTLorentzVector &momentum, const math::XYZPoint &vertex) const;
00053 
00054     math::XYZPoint calculatePositionAtEcal(const math::XYZTLorentzVector &momentum) const;
00055 
00056     void fillPi0sUsingPF(edm::Handle<reco::PFCandidateCollection> &pFCandidateHandle);
00057 
00058     // setters
00059     void setConeSize(double v) { coneSize_ = v; }
00060 
00061     void setUse3DAngle(bool v) { use3DAngle_ = v; }
00062 
00063     void setEcalEntrance(double v) { ecalEntrance_ = v; }
00064 
00065     void setMassRes(double v) { massRes_ = v; }
00066 
00067   private:
00068 
00069     // cone size
00070     double coneSize_;
00071 
00072     // use 3D angle (default is dR)
00073     bool use3DAngle_;
00074 
00075     // radius of ecal entrance ( this will be replaced by geometry constant later if I find it )
00076     double ecalEntrance_;
00077 
00078     // mass resolution of pi0 from two photons
00079     // to select pi0s based on mass cut
00080     double massRes_;
00081 
00082     // seedTrack will be a center of cone
00083     reco::TrackRef seedTrack_;
00084 
00085     // pi0 collection in cone
00086     reco::Pi0Collection pi0Collection_;
00087 
00088   };
00089 
00090 }
00091 #endif
00092 

Generated on Tue Jun 9 17:45:00 2009 for CMSSW by  doxygen 1.5.4