Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 14:21:48

0001 
0002 #ifndef jhugon_RefTrack_h
0003 #define jhugon_RefTrack_h
0004 // system include files
0005 #include <vector>
0006 #include <string>
0007 
0008 #include <SimDataFormats/Track/interface/SimTrackContainer.h>
0009 #include <SimDataFormats/Track/interface/SimTrack.h>
0010 #include <DataFormats/MuonReco/interface/Muon.h>
0011 
0012 #include <TMath.h>
0013 #include <TLorentzVector.h>
0014 
0015 #include <L1Trigger/CSCTrackFinder/test/src/Track.h>
0016 #include <L1Trigger/CSCTrackFinder/test/src/TFTrack.h>
0017 
0018 namespace csctf_analysis
0019 {
0020   class RefTrack : public Track
0021   {
0022     public:
0023     RefTrack();
0024     RefTrack(const SimTrack& track);
0025     RefTrack(const reco::Muon& muon);
0026     void print();
0027     void matchedTo(int i, double newR, int newQ, double newTFPt);
0028     void ghostMatchedTo(const TFTrack& track,int i, double newR);
0029     double distanceTo(const TFTrack* tftrack) const;
0030 
0031     double getPt() const {return mom.Pt();};
0032     double getEta() const {return mom.PseudoRapidity();};
0033     double getPhi() const {return (mom.Phi() > 0) ? mom.Phi() : mom.Phi() + 2*M_PI;};
0034     double getP() const {return mom.P();};
0035     double getPz() const {return mom.Pz();};
0036     int getType() const {return type;}
0037     
0038     void setMatch(TFTrack& trackToMatch);
0039     TFTrack getMatchedTrack() const {return *matchedTrack;}
0040 
0041     private:
0042     TLorentzVector mom;
0043     int type;
0044     TFTrack* matchedTrack;
0045   };
0046 }
0047 #endif
0048 
0049 
0050