From fbe2204e2f16fa4519cdc66115942e2b1407003a Mon Sep 17 00:00:00 2001 From: jotwinow Date: Mon, 6 Sep 2010 15:35:31 +0000 Subject: [PATCH] update by Simone Schuchmann --- PWG1/TPC/AliPerformancePtCalib.cxx | 36 +++++++++++++++++++++++++----- PWG1/TPC/AliPerformancePtCalib.h | 8 +++++-- 2 files changed, 37 insertions(+), 7 deletions(-) diff --git a/PWG1/TPC/AliPerformancePtCalib.cxx b/PWG1/TPC/AliPerformancePtCalib.cxx index b0ceb03e970..8e43928b5be 100755 --- a/PWG1/TPC/AliPerformancePtCalib.cxx +++ b/PWG1/TPC/AliPerformancePtCalib.cxx @@ -68,6 +68,7 @@ fout.Close(); #include "AliESDfriendTrack.h" #include "AliESDfriend.h" #include "AliESDtrackCuts.h" +#include "AliESDpid.h" #include "AliPerfAnalyzeInvPt.h" #include "AliPerformancePtCalib.h" @@ -99,6 +100,7 @@ ClassImp(AliPerformancePtCalib) //options for cuts fOptTPC(0), fESDcuts(0), + fPions(0), fEtaAcceptance(0), fCutsRC(0), fCutsMC(0), @@ -118,9 +120,11 @@ ClassImp(AliPerformancePtCalib) fHistTPCMomentaPosPt(0), fHistTPCMomentaNegPt(0), fHistUserPtShift(0), - + fHistdedxPions(0), //esd track cuts fESDTrackCuts(0), + //pid + fESDpid(0), // analysis folder fAnalysisFolder(0) { @@ -132,6 +136,7 @@ ClassImp(AliPerformancePtCalib) //options for cuts fOptTPC = kTRUE; // read TPC tracks yes/no fESDcuts = kFALSE; + fPions = kFALSE; fCutsRC = NULL; fCutsMC = NULL; @@ -176,6 +181,7 @@ AliPerformancePtCalib::AliPerformancePtCalib(Char_t * name="AliPerformancePtCali //options for cuts fOptTPC(0), fESDcuts(0), + fPions(0), fEtaAcceptance(0), fCutsRC(0), fCutsMC(0), @@ -194,8 +200,11 @@ AliPerformancePtCalib::AliPerformancePtCalib(Char_t * name="AliPerformancePtCali fHistTPCMomentaPosPt(0), fHistTPCMomentaNegPt(0), fHistUserPtShift(0), - //esd track cuts + fHistdedxPions(0), + //esd track cuts fESDTrackCuts(0), + //pid + fESDpid(0), // analysis folder fAnalysisFolder(0) @@ -207,6 +216,7 @@ AliPerformancePtCalib::AliPerformancePtCalib(Char_t * name="AliPerformancePtCali //options for cuts fOptTPC = kTRUE; // read TPC tracks yes/no fESDcuts = kFALSE; + fPions = kFALSE; fCutsRC = NULL; fCutsMC = NULL; @@ -249,8 +259,10 @@ AliPerformancePtCalib::~AliPerformancePtCalib() { if(fHistTPCMomentaPosPt) delete fHistTPCMomentaPosPt;fHistTPCMomentaPosPt=0; if(fHistTPCMomentaNegPt) delete fHistTPCMomentaNegPt ;fHistTPCMomentaNegPt=0; if(fHistUserPtShift) delete fHistUserPtShift;fHistUserPtShift=0; - //esd track cuts + //esd track cuts if(fESDTrackCuts) delete fESDTrackCuts; + //pid + if(fESDpid) delete fESDpid;fESDpid=0; //analysis folder if(fAnalysisFolder) delete fAnalysisFolder; fAnalysisFolder=0; } @@ -311,8 +323,12 @@ void AliPerformancePtCalib::Init() //user pt shift check fHistUserPtShift = new TH1F("fHistUserPtShift","user defined shift in 1/pt",100,-0.5,1.5); fList->Add(fHistUserPtShift); + //pid by dedx + fHistdedxPions = new TH2F ("fHistdedxPions","dEdx of pions ident. via kPID vs signed Pt",300,-15.05,15.05,200,0.0,400.0); + fList->Add(fHistdedxPions); + //pid + fESDpid = NULL; - // esd track cuts fESDTrackCuts =NULL; } @@ -383,6 +399,16 @@ void AliPerformancePtCalib::Exec(AliMCEvent* const /*mcEvent*/, AliESDEvent *con if(fabs(tpcTrack->Eta())>= fEtaAcceptance) continue; Double_t signedPt = tpcTrack->GetSignedPt(); + + // pid + if(fPions){ + fESDpid= new AliESDpid(); + fESDpid->GetTPCResponse().SetBetheBlochParameters(0.0283086,2.63394e+01,5.04114e-11, 2.12543e+00,4.88663e+00); + + if( TMath::Abs(fESDpid->NumberOfSigmasTPC(esdTrack,AliPID::kPion)) >1) continue; + fHistdedxPions->Fill(signedPt,esdTrack->GetTPCsignal()); + } + Double_t invPt = 0.0; if(signedPt) { invPt = 1.0/signedPt; @@ -547,7 +573,7 @@ Long64_t AliPerformancePtCalib::Merge(TCollection* const list) fHistTPCMomentaNegP->Add(entry->fHistTPCMomentaNegP); fHistTPCMomentaPosPt->Add(entry->fHistTPCMomentaPosPt); fHistTPCMomentaNegPt->Add(entry->fHistTPCMomentaNegPt); - + fHistdedxPions->Add(entry->fHistdedxPions); count++; } diff --git a/PWG1/TPC/AliPerformancePtCalib.h b/PWG1/TPC/AliPerformancePtCalib.h index b88150a043a..92cb2415c77 100755 --- a/PWG1/TPC/AliPerformancePtCalib.h +++ b/PWG1/TPC/AliPerformancePtCalib.h @@ -33,7 +33,7 @@ class AliESDfriendTrack; class AliMCInfoCuts; class AliRecInfoCuts; class AliESDtrackCuts; - +class AliESDpid; #include "THnSparse.h" #include "AliPerformanceObject.h" @@ -64,7 +64,7 @@ public: void SetAliESDtrackCuts( AliESDtrackCuts* esdTrackCuts) { fESDTrackCuts = esdTrackCuts;fESDcuts=kTRUE;}//esd track cuts - + void SetAnalysePions(const Bool_t anaPions) {fPions = anaPions;} void SetPtShift(const Double_t shiftVal); // set user defined shift in charge/pt // setters for analysis with AliPerformancePtCalib::Analyse() @@ -112,6 +112,7 @@ private: //options for cuts Bool_t fOptTPC;// flag for reading of TPC tracks in Exec Bool_t fESDcuts;//flag for usage of esd track cuts + Bool_t fPions;// flag for analzsing pions instead of all charged particles //ESD track cut values Double_t fEtaAcceptance;//sets value of eta window @@ -140,8 +141,11 @@ private: TH1F *fHistUserPtShift;// shows the shift value if set by user + TH2F *fHistdedxPions;// dEdx vs cahrge*pt AliESDtrackCuts* fESDTrackCuts;// esd track cuts + //pid + AliESDpid *fESDpid; // analysis folder TFolder *fAnalysisFolder; // folder for analysed histograms -- 2.43.0