CMS 3D CMS Logo

GoodSeedProducer.h

Go to the documentation of this file.
00001 #ifndef GoodSeedProducer_H
00002 #define GoodSeedProducer_H
00003 // system include files
00004 #include <memory>
00005 
00006 // user include files
00007 
00008 #include "FWCore/Framework/interface/Frameworkfwd.h"
00009 #include "FWCore/Framework/interface/EDProducer.h"
00010 #include "DataFormats/TrackReco/interface/Track.h"
00011 #include "FWCore/Framework/interface/Event.h"
00012 #include "FWCore/Framework/interface/MakerMacros.h"
00013 #include "FWCore/Framework/interface/ESHandle.h"
00014 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00015 #include "DataFormats/ParticleFlowReco/interface/PFClusterFwd.h"
00016 #include "DataFormats/ParticleFlowReco/interface/PFCluster.h"
00017 #include "TMVA/Reader.h"
00018 #include "DataFormats/Math/interface/LorentzVector.h"
00020 
00032 //namespace reco {
00033 class PFResolutionMap;
00034 // }
00035 
00036 class PFTrackTransformer;
00037 class TrajectoryFitter;
00038 class TrajectorySmoother;
00039 class TrackerGeometry;
00040 class TrajectoryStateOnSurface;
00041 
00042 
00043 class GoodSeedProducer : public edm::EDProducer {
00044   typedef TrajectoryStateOnSurface TSOS;
00045    public:
00046       explicit GoodSeedProducer(const edm::ParameterSet&);
00047       ~GoodSeedProducer();
00048   
00049    private:
00050       virtual void beginJob(const edm::EventSetup&) ;
00051       virtual void produce(edm::Event&, const edm::EventSetup&);
00052       virtual void endJob(){}
00053  
00055       int getBin(float,float);
00056       int getBin(float);
00057       void PSforTMVA(math::XYZTLorentzVector mom,
00058                      math::XYZTLorentzVector pos);
00059       bool IsIsolated(float  charge,float P,
00060                       math::XYZPointF, 
00061                       const reco::PFClusterCollection &ecalColl,
00062                       const reco::PFClusterCollection &hcalColl);
00063       // ----------member data ---------------------------
00064 
00066       std::vector<reco::PFCluster> ps1Clus;
00067       std::vector<reco::PFCluster> ps2Clus;
00068 
00070       std::string preidckf_;
00071 
00073       std::string preidgsf_;
00074 
00076       edm::ESHandle<TrajectoryFitter> fitter_;
00077 
00079       edm::ESHandle<TrajectorySmoother> smoother_;
00080 
00082       PFTrackTransformer *pfTransformer_;
00083 
00085       int nHitsInSeed_;
00086 
00088       double minPt_;
00089       double maxPt_;
00090       double maxEta_;
00091       
00093       bool applyIsolation_;
00094       double HcalIsolWindow_;
00095       double EcalStripSumE_minClusEnergy_;
00096       double EcalStripSumE_deltaEta_;
00097       double EcalStripSumE_deltaPhiOverQ_minValue_;
00098       double EcalStripSumE_deltaPhiOverQ_maxValue_;
00099       double minEoverP_;
00100       double maxHoverP_;
00102 
00104       double clusThreshold_;
00105 
00107       double minEp_;
00108       double maxEp_;
00109 
00111       bool produceCkfseed_;
00112 
00114       bool produceCkfPFT_;
00115 
00117       float thr[150];
00118       float thrPS[20];
00119 
00120       // ----------access to event data
00121       edm::ParameterSet conf_;
00122       edm::InputTag pfCLusTagPSLabel_;
00123       edm::InputTag pfCLusTagECLabel_;
00124       edm::InputTag pfCLusTagHCLabel_;
00125       std::vector<edm::InputTag> tracksContainers_;
00126       
00127 
00128       std::string fitterName_;
00129       std::string smootherName_;
00130       std::string propagatorName_;
00131 
00132       static PFResolutionMap* resMapEtaECAL_;
00133       static PFResolutionMap* resMapPhiECAL_;
00134 
00136       bool useQuality_;
00137       reco::TrackBase::TrackQuality trackQuality_;
00138         
00140       TMVA::Reader *reader;
00141 
00143       float eP,chi,eta,pt,nhit,dpt,chired,chiRatio;
00144       float ps1En,ps2En,ps1chi,ps2chi;
00146       bool useTmva_;
00147 
00149       std::string method_;
00150 
00152       math::XYZVector B_;
00153 
00155       bool usePreshower_;
00156 };
00157 #endif

Generated on Tue Jun 9 17:44:48 2009 for CMSSW by  doxygen 1.5.4