From f1fb954f6d57058e7adea43fdf03891fb67aa619 Mon Sep 17 00:00:00 2001 From: "Stephen A. Wood" <saw@jlab.org> Date: Tue, 23 Jul 2013 16:28:14 -0400 Subject: [PATCH] Histogram the calculated focal plane ray. --- examples/tracking.C | 19 +++++++++++++++++++ src/THcDC.cxx | 5 +++++ src/THcDCTrack.h | 4 ++++ 3 files changed, 28 insertions(+) create mode 100644 examples/tracking.C diff --git a/examples/tracking.C b/examples/tracking.C new file mode 100644 index 0000000..74d40e2 --- /dev/null +++ b/examples/tracking.C @@ -0,0 +1,19 @@ +{ + TFile* f = new TFile("hodtest.root"); + TTree *T=(TTree*)f->Get("T"); + TCanvas *c1 = new TCanvas("c1", "Drift Tracking", 800, 1000); + c1->Divide(2,3); + + c1->cd(1); + T->Draw("H.dc.nhit"); + c1->cd(2); + T->Draw("H.dc.ntrack"); + c1->cd(3); + T->Draw("H.dc.x:H.dc.y"); + c1->cd(4); + T->Draw("H.dc.x:H.dc.xp"); + c1->cd(5); + T->Draw("H.dc.y:H.dc.yp"); + c1->cd(6); + T->Draw("H.dc.xp:H.dc.yp"); +} diff --git a/src/THcDC.cxx b/src/THcDC.cxx index 812bdcf..e2804ff 100644 --- a/src/THcDC.cxx +++ b/src/THcDC.cxx @@ -328,6 +328,11 @@ Int_t THcDC::DefineVariables( EMode mode ) RVarDef vars[] = { { "nhit", "Number of DC hits", "fNhits" }, + { "ntrack", "Number of Tracks", "fNDCTracks" }, + { "x", "X at focal plane", "fDCTracks.THcDCTrack.GetX()"}, + { "y", "Y at focal plane", "fDCTracks.THcDCTrack.GetY()"}, + { "xp", "YP at focal plane", "fDCTracks.THcDCTrack.GetXP()"}, + { "yp", "YP at focal plane", "fDCTracks.THcDCTrack.GetYP()"}, { 0 } }; return DefineVarsFromList( vars, mode ); diff --git a/src/THcDCTrack.h b/src/THcDCTrack.h index 2b67faf..a44b949 100644 --- a/src/THcDCTrack.h +++ b/src/THcDCTrack.h @@ -35,6 +35,10 @@ public: Double_t GetCoord(Int_t ip) const {return fCoords[ip];} Double_t GetResidual(Int_t ip) const {return fResiduals[ip];} void GetRay(Double_t *ray) const {ray[0]=fX_fp; ray[1]=fY_fp; ray[2]=fXp_fp; ray[3]=fYp_fp;} + Double_t GetX() const {return fX_fp;} + Double_t GetY() const {return fY_fp;} + Double_t GetXP() const {return fXp_fp;} + Double_t GetYP() const {return fYp_fp;} void SetNFree(Int_t nfree) {fNfree = nfree;} void SetCoord(Int_t ip, Double_t coord) {fCoords[ip] = coord;} void SetResidual(Int_t ip, Double_t coord) {fResiduals[ip] = coord;} -- GitLab