CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/RecoTracker/DebugTools/plugins/TrackAlgoCompareUtil.h

Go to the documentation of this file.
00001 // Original Author:     Ryan Kelley (UCSD)  
00002 // Created:             Mon Feb 25 19:25:11 PST 2008
00003 
00004 // system include files
00005 #include <memory>
00006 
00007 // user include files
00008 #include "FWCore/Framework/interface/Frameworkfwd.h"
00009 #include "FWCore/Framework/interface/EDProducer.h"
00010 #include "FWCore/Framework/interface/Event.h"
00011 #include "FWCore/Framework/interface/ESHandle.h"
00012 #include "FWCore/Framework/interface/MakerMacros.h"
00013 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00014 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00015 #include "FWCore/Utilities/interface/InputTag.h"
00016 
00017 // Tracking Specific Includes
00018 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00019 #include "DataFormats/TrackReco/interface/Track.h"
00020 #include "SimDataFormats/TrackingAnalysis/interface/TrackingParticle.h"
00021 #include "SimDataFormats/TrackingAnalysis/interface/TrackingParticleFwd.h"
00022 #include "DataFormats/VertexReco/interface/Vertex.h"
00023 #include "DataFormats/VertexReco/interface/VertexFwd.h"
00024 #include "SimDataFormats/TrackingAnalysis/interface/TrackingVertex.h"
00025 #include "SimDataFormats/TrackingAnalysis/interface/TrackingVertexContainer.h"
00026 #include "CommonTools/RecoAlgos/interface/RecoTrackSelector.h"
00027 #include "CommonTools/RecoAlgos/interface/TrackingParticleSelector.h"
00028 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
00029 
00030 // Track Association Methods
00031 #include "SimTracker/TrackAssociation/interface/TrackAssociatorByHits.h"
00032 #include "SimTracker/TrackAssociation/interface/TrackAssociatorByChi2.h"
00033 #include "SimTracker/Records/interface/TrackAssociatorRecord.h"
00034 #include "SimTracker/TrackerHitAssociation/interface/TrackerHitAssociator.h"
00035 #include "MagneticField/Engine/interface/MagneticField.h"
00036 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
00037 #include "TrackingTools/TrajectoryState/interface/FreeTrajectoryState.h"
00038 #include "TrackingTools/PatternTools/interface/TSCBLBuilderNoMaterial.h"
00039 
00040 // physics tools
00041 #include "DataFormats/Math/interface/LorentzVector.h"
00042 
00043 // Producer objects
00044 #include "AnalysisDataFormats/TrackInfo/interface/TPtoRecoTrack.h"
00045 #include "AnalysisDataFormats/TrackInfo/interface/TPtoRecoTrackCollection.h"
00046 #include "AnalysisDataFormats/TrackInfo/interface/RecoTracktoTP.h"
00047 #include "AnalysisDataFormats/TrackInfo/interface/RecoTracktoTPCollection.h"
00048 
00049 #include <string>
00050 #include <vector>
00051 #include <TMath.h>
00052 
00053 
00054 
00055 
00056 
00057 class TrackAlgoCompareUtil : public edm::EDProducer 
00058 {
00059  public:
00060    
00061   explicit TrackAlgoCompareUtil(const edm::ParameterSet&);
00062   ~TrackAlgoCompareUtil();
00063   
00064  private:
00065   
00066   virtual void beginJob();
00067   virtual void produce(edm::Event&, const edm::EventSetup&);
00068   virtual void endJob();
00069   
00070   void SetTrackingParticleD0Dz(TrackingParticleRef tp, const reco::BeamSpot &bs, const MagneticField *bf, TPtoRecoTrack& TPRT);
00071   void SetTrackingParticleD0Dz(TrackingParticleRef tp, const reco::BeamSpot &bs, const MagneticField *bf, RecoTracktoTP& RTTP);
00072       
00073   // ----------member data ---------------------------
00074   edm::InputTag trackLabel_algoA;
00075   edm::InputTag trackLabel_algoB;
00076   edm::InputTag trackingParticleLabel_fakes;
00077   edm::InputTag trackingParticleLabel_effic;
00078   edm::InputTag vertexLabel_algoA;
00079   edm::InputTag vertexLabel_algoB;
00080   edm::InputTag trackingVertexLabel;
00081   edm::InputTag beamSpotLabel;
00082   edm::InputTag associatormap_algoA;
00083   edm::InputTag associatormap_algoB;
00084   bool UseAssociators;
00085   bool UseVertex;
00086   std::string assocLabel_algoA;     
00087   std::string assocLabel_algoB;     
00088   
00089 };
00090 
00091 
00092 //define this as a plug-in
00093 DEFINE_FWK_MODULE(TrackAlgoCompareUtil);