CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_9_patch3/src/RecoVZero/VZeroFinding/interface/VZeroFinder.h

Go to the documentation of this file.
00001 #ifndef _VZeroFinder_h_
00002 #define _VZeroFinder_h_
00003 
00004 #include "DataFormats/TrackReco/interface/Track.h"
00005 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00006 
00007 #include "DataFormats/VZero/interface/VZero.h"
00008 #include "DataFormats/VZero/interface/VZeroFwd.h"
00009 #include "DataFormats/VertexReco/interface/VertexFwd.h"
00010 
00011 #include "FWCore/Framework/interface/EventSetup.h"
00012 #include "FWCore/Framework/interface/ESHandle.h"
00013 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00014 
00015 #include "TrackingTools/TrajectoryState/interface/FreeTrajectoryState.h"
00016 
00017 #include "MagneticField/Engine/interface/MagneticField.h"
00018 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
00019 
00020 #include "TrackingTools/PatternTools/interface/ClosestApproachInRPhi.h"
00021 
00022 class VZeroFinder
00023 {
00024  public:
00025    VZeroFinder(const edm::EventSetup& es,
00026                     const edm::ParameterSet& pset);
00027    ~VZeroFinder();
00028 
00029    GlobalVector rotate(const GlobalVector & p, double a);
00030    bool checkTrackPair(const reco::Track& posTrack,
00031                        const reco::Track& negTrack,
00032                        const reco::VertexCollection* vertices,
00033                        reco::VZeroData& data);
00034 
00035  private:
00036    GlobalTrajectoryParameters getGlobalTrajectoryParameters(const reco::Track& track);
00037 
00038    float maxDca,
00039          minCrossingRadius,
00040          maxCrossingRadius,
00041          maxImpactMother; 
00042 
00043    const MagneticField * theMagField;
00044 };
00045 
00046 #endif
00047