00001
00002 #include "commonmacro/histutil.h"
00003 void dedx()
00004 {
00005 gSystem->Load("StHiMicroEvent");
00006 gSystem->Load("StHiMicroAnalysis");
00007
00008 TChain* chain=new TChain("StHiMicroTree");
00009 StHiMicroEvent* event= new StHiMicroEvent;
00010
00011
00012
00013 char* dir="links/P01hi.central.2000.mdst";
00014
00015 int nFile=20;
00016
00017 IO io(dir);
00018 io.setNFile(nFile);
00019 io.chain(chain);
00020
00021 char* basecut="mTracks.mFitPts>=10 && mTracks.mPtPr>1.5 && abs(mTracks.mEtaPr)<1";
00022
00023 TCanvas* c1=new TCanvas("c1","c1",100,100,400,500);
00024
00025
00026 char com[200],cut[500],title[100];
00027 TH2D* h2=new TH2D("h2","dedx v momentum",
00028 80,1,3,
00029 200,0,0.1e-4);
00030 h2->SetXTitle("momentum");
00031 h2->SetYTitle("dedx");
00032
00033 float pmin=1.8,pmax=2;
00034
00035 sprintf(title,"dedx (%.1f<p<%.1f)",pmin,pmax);
00036 TH1D* h1=new TH1D("h1",title,
00037 100,0.,0.05e-4);
00038 h1->SetXTitle("dedx");
00039
00040 TH1D* h1P=new TH1D("h1P","primary momentum",
00041 20,1,3);
00042
00043 Divide(c1,1,2,"dedx",dir);
00044
00045
00046 sprintf(com,"mTracks.mDedx:mTracks.mPPr");
00047
00048 chain->Project("h2",com,basecut);
00049 c1.cd(1);
00050 h2->Draw();
00051
00052 sprintf(cut,"mTracks.mPPr>%.1f && mTracks.mPPr<%.1f && %s",
00053 pmin,pmax,basecut);
00054 chain->Project("h1","mTracks.mDedx",cut);
00055 c1.cd(2);
00056 h1->Draw();
00057
00058 c1.Print("dedx.ps");
00059 }
00060