X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PWGPP%2Fmacros%2FAddTaskImpParRes.C;h=a10989cb1718821ea2517c963e081546b8c747cb;hb=98063067f8be53b26e3c89775d2d030813348864;hp=8650d6f3b31dedb6388aba1e7a5ee336d14e7575;hpb=26f8147c6cf756e20fe87c1e87c71f0a7643c098;p=u%2Fmrichter%2FAliRoot.git diff --git a/PWGPP/macros/AddTaskImpParRes.C b/PWGPP/macros/AddTaskImpParRes.C index 8650d6f3b31..a10989cb171 100644 --- a/PWGPP/macros/AddTaskImpParRes.C +++ b/PWGPP/macros/AddTaskImpParRes.C @@ -1,10 +1,22 @@ +/*AliAnalysisTaskSEImpParRes *AddTaskImpParRes(TString dirName="", + Bool_t readMC=kFALSE, + Bool_t isAOD=kTRUE, + Int_t SPDreq=1, + Int_t selPdg=-1, + Bool_t diamond=kTRUE, + Bool_t skipTrack=kTRUE, + Int_t minmult=0, + Int_t maxmult=1000000)*/ AliAnalysisTaskSEImpParRes *AddTaskImpParRes(Bool_t readMC=kFALSE, Int_t selPdg=-1, Bool_t diamond=kTRUE, Bool_t skipTrack=kTRUE, Int_t minmult=0, Int_t maxmult=1000000, - Int_t checkSDDIsIn=1) + Int_t checkSDDIsIn=1, + TString dirName="", + Bool_t isAOD=kFALSE, + Int_t SPDreq=1) { // // Configuration for the study of the impact parameter resolution @@ -19,154 +31,179 @@ AliAnalysisTaskSEImpParRes *AddTaskImpParRes(Bool_t readMC=kFALSE, if (!mgr) { ::Error("AddTaskImpParRes", "No analysis manager to connect to."); return NULL; - } + } + + AliESDtrackCuts* esdTrackCuts = new AliESDtrackCuts("d0ResAnalysisESDTrackCuts"); + esdTrackCuts->SetRequireTPCRefit(kTRUE); + esdTrackCuts->SetRequireITSRefit(kTRUE); + switch(SPDreq){ + case(1): + esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst); + break; + case(2): + esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kBoth); + break; + case(3): + esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny); + break; + default: + esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kBoth); + break; + } + esdTrackCuts->SetMaxChi2PerClusterTPC(4); + //esdTrackCuts->SetMinNCrossedRowsTPC(70); + esdTrackCuts->SetMinNClustersTPC(70); + // Aanalysis task AliAnalysisTaskSEImpParRes *d0ResTask = new AliAnalysisTaskSEImpParRes("d0ResAnalysis"); d0ResTask->SetDebugLevel(2); d0ResTask->SetReadMC(readMC); + d0ResTask->SetIsAOD(isAOD); d0ResTask->SetSelectedPdg(selPdg); d0ResTask->SetUseDiamond(diamond); d0ResTask->SetSkipTrack(skipTrack); d0ResTask->SetMultiplicityRange(minmult,maxmult); - d0ResTask->SetCheckSDDIsIn(checkSDDIsIn); - //d0ResTask->SetOCDBPath("alien://folder=/alice/data/2011/OCDB"); // to be commented for the QAtrain + d0ResTask->SetESDtrackCuts(esdTrackCuts); mgr->AddTask(d0ResTask); TString fname=Form("%s:ImpParRes_Performance",mgr->GetCommonFileName()); - if(checkSDDIsIn==1) fname.Append("_wSDD"); - if(checkSDDIsIn==-1) fname.Append("_woSDD"); if(selPdg>0) {fname+=selPdg;} + fname += dirName.Data(); - + TString name=dirName; // // Create containers for input/output - AliAnalysisDataContainer *cinputd0distr = mgr->CreateContainer("cinputd0distr",TChain::Class(), + AliAnalysisDataContainer *cinputd0distr = mgr->CreateContainer(Form("cinputd0distr%s",name.Data()),TChain::Class(), AliAnalysisManager::kInputContainer); - AliAnalysisDataContainer *coutputd0ITSpureSARec = mgr->CreateContainer(Form("coutputd0ITSpureSARec_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0ITSpureSARec = mgr->CreateContainer(Form("coutputd0ITSpureSARec_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0ITSpureSASkip = mgr->CreateContainer(Form("coutputd0ITSpureSASkip_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0ITSpureSASkip = mgr->CreateContainer(Form("coutputd0ITSpureSASkip_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0allPointRec = mgr->CreateContainer(Form("coutputd0allPointRec_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0allPointRec = mgr->CreateContainer(Form("coutputd0allPointRec_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0allPointSkip = mgr->CreateContainer(Form("coutputd0allPointSkip_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0allPointSkip = mgr->CreateContainer(Form("coutputd0allPointSkip_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0partPointRec = mgr->CreateContainer(Form("coutputd0partPointRec_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0partPointRec = mgr->CreateContainer(Form("coutputd0partPointRec_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0partPointSkip = mgr->CreateContainer(Form("coutputd0partPointSkip_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0partPointSkip = mgr->CreateContainer(Form("coutputd0partPointSkip_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0onepointSPDRec = mgr->CreateContainer(Form("coutputd0onepointSPDRec_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0onepointSPDRec = mgr->CreateContainer(Form("coutputd0onepointSPDRec_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0onepointSPDSkip = mgr->CreateContainer(Form("coutputd0onepointSPDSkip_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0onepointSPDSkip = mgr->CreateContainer(Form("coutputd0onepointSPDSkip_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0postvTracRec = mgr->CreateContainer(Form("coutputd0postvTracRec_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0postvTracRec = mgr->CreateContainer(Form("coutputd0postvTracRec_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0postvTracSkip = mgr->CreateContainer(Form("coutputd0postvTracSkip_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0postvTracSkip = mgr->CreateContainer(Form("coutputd0postvTracSkip_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0negtvTracRec = mgr->CreateContainer(Form("coutputd0negtvTracRec_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0negtvTracRec = mgr->CreateContainer(Form("coutputd0negtvTracRec_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0negtvTracSkip = mgr->CreateContainer(Form("coutputd0negtvTracSkip_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0negtvTracSkip = mgr->CreateContainer(Form("coutputd0negtvTracSkip_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0pullAllpointRec = mgr->CreateContainer(Form("coutputd0pullAllpointRec_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0pullAllpointRec = mgr->CreateContainer(Form("coutputd0pullAllpointRec_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0pullAllpointSkip = mgr->CreateContainer(Form("coutputd0pullAllpointSkip_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0pullAllpointSkip = mgr->CreateContainer(Form("coutputd0pullAllpointSkip_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0onlyRefitRec = mgr->CreateContainer(Form("coutputd0onlyRefitRec_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0onlyRefitRec = mgr->CreateContainer(Form("coutputd0onlyRefitRec_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0onlyRefitSkip = mgr->CreateContainer(Form("coutputd0onlyRefitSkip_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0onlyRefitSkip = mgr->CreateContainer(Form("coutputd0onlyRefitSkip_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0sinThetaRec = mgr->CreateContainer(Form("coutputd0sinThetaRec_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0sinThetaRec = mgr->CreateContainer(Form("coutputd0sinThetaRec_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0sinThetaSkip = mgr->CreateContainer(Form("coutputd0sinThetaSkip_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0sinThetaSkip = mgr->CreateContainer(Form("coutputd0sinThetaSkip_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0allPointTrue = mgr->CreateContainer(Form("coutputd0allPointTrue_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0allPointTrue = mgr->CreateContainer(Form("coutputd0allPointTrue_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0postvTracTrue = mgr->CreateContainer(Form("coutputd0postvTracTrue_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0postvTracTrue = mgr->CreateContainer(Form("coutputd0postvTracTrue_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0negtvTracTrue = mgr->CreateContainer(Form("coutputd0negtvTracTrue_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0negtvTracTrue = mgr->CreateContainer(Form("coutputd0negtvTracTrue_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0pullAllpointTrue = mgr->CreateContainer(Form("coutputd0pullAllpointTrue_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0pullAllpointTrue = mgr->CreateContainer(Form("coutputd0pullAllpointTrue_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0phiAllpointSkip = mgr->CreateContainer(Form("coutputd0phiAllpointSkip_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0phiAllpointSkip = mgr->CreateContainer(Form("coutputd0phiAllpointSkip_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0phiPostvtracSkip = mgr->CreateContainer(Form("coutputd0phiPostvtracSkip_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0phiPostvtracSkip = mgr->CreateContainer(Form("coutputd0phiPostvtracSkip_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0phiNegtvtracSkip = mgr->CreateContainer(Form("coutputd0phiNegtvtracSkip_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0phiNegtvtracSkip = mgr->CreateContainer(Form("coutputd0phiNegtvtracSkip_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0PID = mgr->CreateContainer(Form("coutputd0PID_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0PID = mgr->CreateContainer(Form("coutputd0PID_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputd0Pt = mgr->CreateContainer(Form("coutputd0Pt_%d_%d",minmult,maxmult),TList::Class(), + AliAnalysisDataContainer *coutputd0Pt = mgr->CreateContainer(Form("coutputd0Pt_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputNentries = mgr->CreateContainer(Form("coutputNentries_%d_%d",minmult,maxmult),TH1F::Class(), + AliAnalysisDataContainer *coutputNentries = mgr->CreateContainer(Form("coutputNentries_%d_%d%s",minmult,maxmult,name.Data()),TH1F::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); - AliAnalysisDataContainer *coutputEstimVtx = mgr->CreateContainer(Form("coutputEstimVtx_%d_%d",minmult,maxmult),TH1F::Class(), + AliAnalysisDataContainer *coutputEstimVtx = mgr->CreateContainer(Form("coutputEstimVtx_%d_%d%s",minmult,maxmult,name.Data()),TH1F::Class(), AliAnalysisManager::kOutputContainer, fname.Data()); + AliAnalysisDataContainer *coutputd0withESDTC = mgr->CreateContainer(Form("coutputd0withESDTC_%d_%d%s",minmult,maxmult,name.Data()),TList::Class(), + AliAnalysisManager::kOutputContainer, + fname.Data()); + // Attach input mgr->ConnectInput(d0ResTask,0,mgr->GetCommonInputContainer()); // Attack output @@ -199,6 +236,7 @@ AliAnalysisTaskSEImpParRes *AddTaskImpParRes(Bool_t readMC=kFALSE, mgr->ConnectOutput(d0ResTask,27,coutputd0Pt); mgr->ConnectOutput(d0ResTask,28,coutputNentries); mgr->ConnectOutput(d0ResTask,29,coutputEstimVtx); + mgr->ConnectOutput(d0ResTask,30,coutputd0withESDTC); return d0ResTask; }