00001 #include "/afs/rhic.bnl.gov/star/replicas/DEV/StRoot/StEventUtilities/BetheBlochFunction.hh"
00002
00003 void checkPIDInFlowPicoDST(){
00004
00005
00006 TChain* chain = new TChain("FlowTree");
00007
00008 chain->Add("/star/data10/GC/aihong/P01glPIDFlowPicoDST/st_physics_2269001_raw_0001.event.root.flowpicoevent.root");
00009
00010 chain->Add("/star/data10/GC/aihong/P01glPIDFlowPicoDST/st_physics_2269001_raw_0003.event.root.flowpicoevent.root");
00011 chain->Add("/star/data10/GC/aihong/P01glPIDFlowPicoDST/st_physics_2269001_raw_0005.event.root.flowpicoevent.root");
00012
00013
00014
00015 chain->Add("/star/data10/GC/aihong/P01glPIDFlowPicoDST/st_physics_2269001_raw_0004.event.root.flowpicoevent.root");
00016 chain->Add("/star/data10/GC/aihong/P01glPIDFlowPicoDST/st_physics_2269001_raw_0008.event.root.flowpicoevent.root");
00017 chain->Add("/star/data10/GC/aihong/P01glPIDFlowPicoDST/st_physics_2269001_raw_0015.event.root.flowpicoevent.root");
00018
00019
00020
00021 chain->Add("/star/data10/GC/aihong/P01glPIDFlowPicoDST/st_physics_2269001_raw_0009.event.root.flowpicoevent.root");
00022 chain->Add("/star/data10/GC/aihong/P01glPIDFlowPicoDST/st_physics_2269001_raw_0012.event.root.flowpicoevent.root");
00023 chain->Add("/star/data10/GC/aihong/P01glPIDFlowPicoDST/st_physics_2269001_raw_0016.event.root.flowpicoevent.root");
00024
00025 chain->Add("/star/data10/GC/aihong/P01glPIDFlowPicoDST/st_physics_2269001_raw_0014.event.root.flowpicoevent.root");
00026 chain->Add("/star/data10/GC/aihong/P01glPIDFlowPicoDST/st_physics_2269001_raw_0013.event.root.flowpicoevent.root");
00027 chain->Add("/star/data10/GC/aihong/P01glPIDFlowPicoDST/st_physics_2269001_raw_0006.event.root.flowpicoevent.root");
00028 chain->Add("/star/data10/GC/aihong/P01glPIDFlowPicoDST/st_physics_2269001_raw_0002.event.root.flowpicoevent.root");
00029
00030
00031
00032
00033 float dedxBegin =0.;
00034 float dedxEnd =1.0e-5;
00035 float pBegin =0.;
00036 float pEnd =2.;
00037
00038 TH2D* PionHist =
00039 new TH2D("PionHist","PionHist", 100, pBegin,pEnd, 100,dedxBegin,dedxEnd);
00040 PionHist->SetMarkerColor(6);
00041
00042 TH2D* KaonHist =
00043 new TH2D(*PionHist);
00044 KaonHist->SetName("KaonHist"); KaonHist->SetTitle("KaonHist");
00045 KaonHist->SetMarkerColor(2);
00046
00047
00048 TH2D* ProtonHist =
00049 new TH2D(*PionHist);
00050 ProtonHist->SetName("ProtonHist"); ProtonHist->SetTitle("ProtonHist");
00051 ProtonHist->SetMarkerColor(3);
00052
00053 TH2D* ElectronHist =
00054 new TH2D(*PionHist);
00055 ElectronHist->SetName("ElectronHist"); ElectronHist->SetTitle("ElectronHist");
00056 ElectronHist->SetMarkerColor(4);
00057
00058
00059 TH2D* LowProbHist =
00060 new TH2D(*PionHist);
00061 LowProbHist->SetName("LowProbHist"); LowProbHist->SetTitle("LowProbHist");
00062 LowProbHist->SetMarkerColor(1);
00063
00064
00065 TH2D* ExtrapHist =
00066 new TH2D(*PionHist);
00067 ExtrapHist->SetName("ExtrapHist"); ExtrapHist->SetTitle("ExtrapHist");
00068 ExtrapHist->SetMarkerColor(7);
00069
00070
00071 chain->Draw("mDedx: (mPt/sqrt(1-(tanh(mEta)*tanh(mEta)))) >>PionHist","mMostLikelihoodProb>0.25 && (mMostLikelihoodPID == 8 || mMostLikelihoodPID == 9) && mNdedxPts>15 && mCharge<5 && mDca >3 ");
00072
00073 chain->Draw("mDedx: (mPt/sqrt(1-(tanh(mEta)*tanh(mEta)))) >>KaonHist","mMostLikelihoodProb>0.25 && (mMostLikelihoodPID == 11 || mMostLikelihoodPID == 12) && mNdedxPts>15 && mCharge<5 && mDca >3");
00074
00075 chain->Draw("mDedx: (mPt/sqrt(1-(tanh(mEta)*tanh(mEta)))) >>ProtonHist","mMostLikelihoodProb>0.25 && (mMostLikelihoodPID == 14 || mMostLikelihoodPID == 15) && mNdedxPts>15 && mCharge<5 && mDca >3");
00076
00077 chain->Draw("mDedx: (mPt/sqrt(1-(tanh(mEta)*tanh(mEta)))) >>ElectronHist","mMostLikelihoodProb>0.25 && (mMostLikelihoodPID == 2 || mMostLikelihoodPID == 3) && mNdedxPts>15 && mCharge<5 && mDca >3");
00078
00079 chain->Draw("mDedx: (mPt/sqrt(1-(tanh(mEta)*tanh(mEta)))) >>LowProbHist","mMostLikelihoodProb<0.25 && mNdedxPts>15 && mCharge<5 && mDca >3");
00080 chain->Draw("mDedx: (mPt/sqrt(1-(tanh(mEta)*tanh(mEta)))) >>ExtrapHist","mExtrapTag==1 && mCharge<5 && mDca >3");
00081
00082
00083 PionHist->Draw();
00084 KaonHist->Draw("SAME");
00085 ProtonHist->Draw("SAME");
00086 ElectronHist->Draw("SAME");
00087 LowProbHist->Draw("SAME");
00088
00089
00090
00091
00092
00093
00094
00095 double mPStart=0.05;
00096 double mPEnd=2.;
00097 int NParameters=7;
00098
00099 TF1* EBandCenter
00100 =new TF1("EBandCenter",BetheBlochFunction, mPStart,mPEnd, NParameters);
00101 TF1* PiBandCenter
00102 =new TF1("PiBandCenter",BetheBlochFunction, mPStart,mPEnd, NParameters);
00103 TF1* KBandCenter
00104 =new TF1("KBandCenter",BetheBlochFunction, mPStart,mPEnd, NParameters);
00105 TF1* PBandCenter
00106 =new TF1("PBandCenter",BetheBlochFunction, mPStart,mPEnd, NParameters);
00107
00108
00109 double offsetPar = 3.01022e-07;
00110 double scalePar = 4.68971e-07;
00111
00112
00113
00114 double turnOver = 0.0199;
00115 double firstPar = 1.09344;
00116
00117 Double_t electronPars[7]
00118 ={ firstPar, turnOver, offsetPar, 1, 0.511e-3, scalePar, 0.0005 };
00119 Double_t pionPars[7]
00120 ={ firstPar, turnOver, offsetPar, 1, 0.13957, scalePar, 0.0005 };
00121 Double_t kaonPars[7]
00122 ={ firstPar, turnOver, offsetPar, 1, 0.49368, scalePar, 0.0005 };
00123 Double_t antiprotonPars[7]
00124 ={ firstPar, turnOver, offsetPar, 1, 0.93827, scalePar, 0.0005 };
00125
00126 EBandCenter->SetParameters(&electronPars[0]);
00127 PiBandCenter->SetParameters(&pionPars[0]);
00128 KBandCenter->SetParameters(&kaonPars[0]);
00129 PBandCenter->SetParameters(&antiprotonPars[0]);
00130
00131
00132 EBandCenter->Draw("SAME");
00133 PiBandCenter->Draw("SAME");
00134 KBandCenter->Draw("SAME");
00135 PBandCenter->Draw("SAME");
00136
00137
00138 }
00139