File indexing completed on 2023-03-17 11:10:58
0001
0002 #ifndef jhugon_RefTrack_h
0003 #define jhugon_RefTrack_h
0004
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