Moving PWG1 to PWGPP
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 11 Jan 2012 13:00:56 +0000 (13:00 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 11 Jan 2012 13:00:56 +0000 (13:00 +0000)
581 files changed:
ANALYSIS/AliAnalysisTaskCfg.cxx
ANALYSIS/macros/TaskBuzzer.C
CMakeLists.txt
CTestConfig.cmake
EVE/EveDet/AliEveTRDTrackList.cxx
HLT/QA/tasks/macros/AddTaskPerformance.C
HLT/QA/tasks/macros/compare-HLT-offline-local.C
HLT/QA/tasks/macros/drawPerformanceTPCQAofflineHLT.C
ITS/AliITSRecoParam.h
ITS/GetGainModuleLevel.C
ITS/PlotSPDpwg1QA.C [deleted file]
ITS/PlotSPDpwgppQA.C [new file with mode: 0644]
OADB/CMakelibOADB.pkg
PWG0/dNdPt/macros/ApplyCorrections.C
PWG0/dNdPt/macros/ApplyCorrections_PbPb.C
PWG0/dNdPt/macros/ApplyCorrections_pp.C
PWG0/dNdPt/macros/GenerateCorrMatr.C
PWG0/dNdPt/macros/GenerateCorrMatr_PbPb.C
PWG0/dNdPt/macros/LoadMyLibs.C
PWG0/multPbPb/TriggerStudyResults.C
PWG0/multPbPb/correct.C
PWG0/multPbPb/run.C
PWG0/multPbPb/runTriggerStudy.C
PWG1/CMakelibPWG1.pkg [deleted file]
PWG1/CalibMacros/MergeCalibration/alienDownloadTimeOut.sh [deleted file]
PWG1/CalibMacros/MergeCalibration/mergeStage0.sh [deleted file]
PWG1/CalibMacros/Pass0/LoadLibraries.C [deleted file]
PWG1/CalibMacros/Pass0/makeOCDB.C [deleted file]
PWG1/CalibMacros/Pass0/makeOCDB.byComponent.C [deleted file]
PWG1/ITS/AliAnalysisTaskSEImpParRes.cxx [deleted file]
PWG1/ITS/AliITSQAchecks.C [deleted file]
PWG1/ITS/AliITSQAtrend.C [deleted file]
PWG1/PWG1LinkDef.h [deleted file]
PWG1/PWG1README.txt [deleted file]
PWG1/PWG1macros/ConfigTask.txt [deleted file]
PWG1/PWG1macros/README.Train [deleted file]
PWG1/PWG1macros/getCertificate.sh [deleted file]
PWG1/PWG1macros/getCertificateBatch.sh [deleted file]
PWG1/PWG1macros/runPWG1Train.C [deleted file]
PWG1/PWG1macros/syswatchEvalTrain.C [deleted file]
PWG1/PilotTrain/AddTaskQAsym.C [deleted file]
PWG1/PilotTrain/AddTaskdEdxSSDQA.C [deleted file]
PWG1/PilotTrain/PilotAnalysis.C [deleted file]
PWG1/PilotTrain/PilotAnalysis_sim.C [deleted file]
PWG1/PilotTrain/memoryCheck.C [deleted file]
PWG1/PilotTrain/runPilot.C [deleted file]
PWG1/PilotTrain/testOutputSize.C [deleted file]
PWG1/TPC/AliComparisonDraw.cxx [deleted file]
PWG1/TPC/AliESDresolMakerFast.cxx [deleted file]
PWG1/TPC/AliGenInfoMaker.cxx [deleted file]
PWG1/TPC/AliPerformanceDCA.cxx [deleted file]
PWG1/TPC/AliPerformanceDEdx.cxx [deleted file]
PWG1/TPC/AliPerformanceEff.cxx [deleted file]
PWG1/TPC/AliPerformanceMC.cxx [deleted file]
PWG1/TPC/AliPerformanceMatch.cxx [deleted file]
PWG1/TPC/AliPerformanceRes.cxx [deleted file]
PWG1/TPC/AliPerformanceTPC.cxx [deleted file]
PWG1/TPC/AliRecInfoMaker.cxx [deleted file]
PWG1/TPC/macros/AddTaskPerformanceTPC.C [deleted file]
PWG1/TPC/macros/AddTaskPerformanceTPCITSQA.C [deleted file]
PWG1/TPC/macros/AddTaskPerformanceTPCPbPb.C [deleted file]
PWG1/TPC/macros/AddTaskPerformanceTPCQA.C [deleted file]
PWG1/TPC/macros/AddTaskPerformanceTPCdEdxQA.C [deleted file]
PWG1/TPC/macros/ConfigOCDB.C [deleted file]
PWG1/TPC/macros/LoadMyLibs.C [deleted file]
PWG1/TPC/macros/MakePerformanceSummary.C [deleted file]
PWG1/TPC/macros/MakeReportTPC.C [deleted file]
PWG1/TPC/macros/MakeResults.C [deleted file]
PWG1/TPC/macros/MakeTrendGraph.C [deleted file]
PWG1/TPC/macros/ProofEnableAliRoot.C [deleted file]
PWG1/TPC/macros/RunPerformanceTask.C [deleted file]
PWG1/TPC/macros/RunPerformanceTaskMC.C [deleted file]
PWG1/TPC/macros/RunPerformanceTaskResEffMC.C [deleted file]
PWG1/TPC/macros/compareTracks.C [deleted file]
PWG1/TRD/AliTRDcheckDET.cxx [deleted file]
PWG1/TRD/AliTRDinfoGen.cxx [deleted file]
PWG1/TRD/AliTRDpwg1Helper.cxx [deleted file]
PWG1/TRD/AliTRDpwg1Helper.h [deleted file]
PWG1/TRD/AliTRDresolution.cxx [deleted file]
PWG1/TRD/info/AliTRDeventCuts.h [deleted file]
PWG1/TRD/macros/AddTRDcheckDET.C [deleted file]
PWG1/TRD/macros/AddTRDcheckESD.C [deleted file]
PWG1/TRD/macros/AddTRDcheckPID.C [deleted file]
PWG1/TRD/macros/AddTRDcheckTRK.C [deleted file]
PWG1/TRD/macros/AddTRDefficiency.C [deleted file]
PWG1/TRD/macros/AddTRDinfoGen.C [deleted file]
PWG1/TRD/macros/AddTRDresolution.C [deleted file]
PWG1/TRD/macros/AddTRDtrackletFilter.C [deleted file]
PWG1/TRD/macros/AddTRDtrackletQA.C [deleted file]
PWG1/TRD/macros/AddTRDv0Monitor.C [deleted file]
PWG1/TRD/macros/AliTRDmakeTrendDB.C [deleted file]
PWG1/TRD/macros/makeCalibResults.C [deleted file]
PWG1/TRD/macros/makeResults.C [deleted file]
PWG1/TRD/macros/mergeBatch.C [deleted file]
PWG1/TRD/macros/mergeResults.C [deleted file]
PWG1/TRD/run.C [deleted file]
PWG1/TRD/runQAesds.C [deleted file]
PWG1/background/runProofvsTime.C [deleted file]
PWG1/doc/comparison/userguide.tex [deleted file]
PWG1/macros/AddTaskGlobalQA.C [deleted file]
PWG1/macros/AddTaskPerformanceTPC.C [deleted file]
PWG1/macros/AddTaskPerformanceTPCPtCalib.C [deleted file]
PWG1/macros/AddTaskV0QA.C [deleted file]
PWG1/macros/AddTrainPerformanceTRD.C [deleted file]
PWG1/macros/RecoQAtrain.C [deleted file]
PWG1/macros/RunAnalysisITS.C [deleted file]
PWG1/macros/RunIPTask.C [deleted file]
PWG1/macros/RunMakers.C [deleted file]
PWG1/macros/RunPerformanceTrain.C [deleted file]
PWG1/macros/runAnalysisTaskITSTPCalignment.C [deleted file]
PWG1/macros/runGlobalQA.C [deleted file]
PWG1/macros/taskComp.C [deleted file]
PWG1/macros/tpcPIDResol.C [deleted file]
PWG1/macros/tpcQA.C [deleted file]
PWG1/runProofFwdDetsQA.C [deleted file]
PWG2/CMakelibPWG2diffractive.pkg
PWG2/FORWARD/analysis2/qa/getQAResults.sh
PWG2/FORWARD/analysis2/trains/QATrain.C
PWG2/SPECTRA/SpectraAOD/runProof.C
PWG3/muon/TransferMuonQATrain.C
PWG3/muon/mergeGridFiles.C
PWG3/muon/terminateQA.C
PWG4/UserTasks/CaloCellQA/macros/ExtractPHOSCellQA.C
PWG4/UserTasks/PHOS_PbPbQA/README.PbPbQA
PWG4/UserTasks/PHOS_PbPbQA/macros/AddTaskPHOSPbPb.C
PWG4/UserTasks/PHOS_PbPbQA/macros/ExtractPHOSPbPbQA.C
PWG4/UserTasks/PHOS_PbPbQA/macros/MakeMmixPi0.C
PWG4/macros/AnalysisTrainPWG4Jets.C
PWG4/macros/ConfigTrainGrid.C
PWGPP/AliAnaFwdDetsQA.cxx [moved from PWG1/AliAnaFwdDetsQA.cxx with 100% similarity]
PWGPP/AliAnaFwdDetsQA.h [moved from PWG1/AliAnaFwdDetsQA.h with 100% similarity]
PWGPP/AliAnaVZEROQA.cxx [moved from PWG1/AliAnaVZEROQA.cxx with 100% similarity]
PWGPP/AliAnaVZEROQA.h [moved from PWG1/AliAnaVZEROQA.h with 100% similarity]
PWGPP/AliAnalysisTaskIPInfo.cxx [moved from PWG1/AliAnalysisTaskIPInfo.cxx with 100% similarity]
PWGPP/AliAnalysisTaskIPInfo.h [moved from PWG1/AliAnalysisTaskIPInfo.h with 100% similarity]
PWGPP/AliAnalysisTaskITSTPCalignment.cxx [moved from PWG1/AliAnalysisTaskITSTPCalignment.cxx with 100% similarity]
PWGPP/AliAnalysisTaskITSTPCalignment.h [moved from PWG1/AliAnalysisTaskITSTPCalignment.h with 100% similarity]
PWGPP/AliAnalysisTaskQASym.cxx [moved from PWG1/AliAnalysisTaskQASym.cxx with 100% similarity]
PWGPP/AliAnalysisTaskQASym.h [moved from PWG1/AliAnalysisTaskQASym.h with 100% similarity]
PWGPP/AliAnalysisTaskV0QA.cxx [moved from PWG1/AliAnalysisTaskV0QA.cxx with 100% similarity]
PWGPP/AliAnalysisTaskV0QA.h [moved from PWG1/AliAnalysisTaskV0QA.h with 100% similarity]
PWGPP/AliAnalysisTaskVtXY.cxx [moved from PWG1/AliAnalysisTaskVtXY.cxx with 100% similarity]
PWGPP/AliAnalysisTaskVtXY.h [moved from PWG1/AliAnalysisTaskVtXY.h with 100% similarity]
PWGPP/AliIntSpotEstimator.cxx [moved from PWG1/AliIntSpotEstimator.cxx with 100% similarity]
PWGPP/AliIntSpotEstimator.h [moved from PWG1/AliIntSpotEstimator.h with 100% similarity]
PWGPP/AliKFParticleTest.C [moved from PWG1/AliKFParticleTest.C with 100% similarity]
PWGPP/AliKFParticleTest.h [moved from PWG1/AliKFParticleTest.h with 100% similarity]
PWGPP/AliRelAlignerKalmanArray.cxx [moved from PWG1/AliRelAlignerKalmanArray.cxx with 100% similarity]
PWGPP/AliRelAlignerKalmanArray.h [moved from PWG1/AliRelAlignerKalmanArray.h with 100% similarity]
PWGPP/AliTaskCDBconnect.cxx [moved from PWG1/AliTaskCDBconnect.cxx with 100% similarity]
PWGPP/AliTaskCDBconnect.h [moved from PWG1/AliTaskCDBconnect.h with 100% similarity]
PWGPP/AliTrackComparison.cxx [moved from PWG1/AliTrackComparison.cxx with 100% similarity]
PWGPP/AliTrackComparison.h [moved from PWG1/AliTrackComparison.h with 100% similarity]
PWGPP/AliTrackComparisonESD.cxx [moved from PWG1/AliTrackComparisonESD.cxx with 100% similarity]
PWGPP/AliTrackComparisonESD.h [moved from PWG1/AliTrackComparisonESD.h with 100% similarity]
PWGPP/CMakelibPWGPP.pkg [new file with mode: 0644]
PWGPP/CalibMacros/MergeCalibration/ConfigCalibTrain.C [moved from PWG1/CalibMacros/MergeCalibration/ConfigCalibTrain.C with 100% similarity]
PWGPP/CalibMacros/MergeCalibration/LoadLibraries.C [moved from PWG1/CalibMacros/MergeCalibration/LoadLibraries.C with 100% similarity]
PWGPP/CalibMacros/MergeCalibration/MergeJob.jdl [moved from PWG1/CalibMacros/MergeCalibration/MergeJob.jdl with 100% similarity]
PWGPP/CalibMacros/MergeCalibration/alienDownloadTimeOut.sh [new file with mode: 0755]
PWGPP/CalibMacros/MergeCalibration/makeOCDB.C [moved from PWG1/CalibMacros/MergeCalibration/makeOCDB.C with 100% similarity]
PWGPP/CalibMacros/MergeCalibration/merge.C [moved from PWG1/CalibMacros/MergeCalibration/merge.C with 100% similarity]
PWGPP/CalibMacros/MergeCalibration/mergeCalibObjects.sh [moved from PWG1/CalibMacros/MergeCalibration/mergeCalibObjects.sh with 100% similarity]
PWGPP/CalibMacros/MergeCalibration/mergeCustom.C [moved from PWG1/CalibMacros/MergeCalibration/mergeCustom.C with 100% similarity]
PWGPP/CalibMacros/MergeCalibration/mergeMakeOCDB.jdl [moved from PWG1/CalibMacros/MergeCalibration/mergeMakeOCDB.jdl with 100% similarity]
PWGPP/CalibMacros/MergeCalibration/mergeMakeOCDB.sh [moved from PWG1/CalibMacros/MergeCalibration/mergeMakeOCDB.sh with 100% similarity]
PWGPP/CalibMacros/MergeCalibration/mergeStage0.sh [new file with mode: 0755]
PWGPP/CalibMacros/MergeCalibration/validationMerging.sh [moved from PWG1/CalibMacros/MergeCalibration/validationMerging.sh with 100% similarity]
PWGPP/CalibMacros/Pass0/AddTOFAnalysisTaskCalibPass0.C [moved from PWG1/CalibMacros/Pass0/AddTOFAnalysisTaskCalibPass0.C with 100% similarity]
PWGPP/CalibMacros/Pass0/AddTaskMeanVertexCalib.C [moved from PWG1/CalibMacros/Pass0/AddTaskMeanVertexCalib.C with 100% similarity]
PWGPP/CalibMacros/Pass0/AddTaskSDDCalib.C [moved from PWG1/CalibMacros/Pass0/AddTaskSDDCalib.C with 100% similarity]
PWGPP/CalibMacros/Pass0/AddTaskT0Calib.C [moved from PWG1/CalibMacros/Pass0/AddTaskT0Calib.C with 100% similarity]
PWGPP/CalibMacros/Pass0/AddTaskTPCCalib.C [moved from PWG1/CalibMacros/Pass0/AddTaskTPCCalib.C with 100% similarity]
PWGPP/CalibMacros/Pass0/AddTaskTRDCalib.C [moved from PWG1/CalibMacros/Pass0/AddTaskTRDCalib.C with 100% similarity]
PWGPP/CalibMacros/Pass0/ConfigCalibTrain.C [moved from PWG1/CalibMacros/Pass0/ConfigCalibTrain.C with 100% similarity]
PWGPP/CalibMacros/Pass0/LoadLibraries.C [new file with mode: 0644]
PWGPP/CalibMacros/Pass0/MeanVertexCalibPass0.C [moved from PWG1/CalibMacros/Pass0/MeanVertexCalibPass0.C with 100% similarity]
PWGPP/CalibMacros/Pass0/Pass0.jdl [moved from PWG1/CalibMacros/Pass0/Pass0.jdl with 100% similarity]
PWGPP/CalibMacros/Pass0/README [moved from PWG1/CalibMacros/Pass0/README with 100% similarity]
PWGPP/CalibMacros/Pass0/README.OCDB [moved from PWG1/CalibMacros/Pass0/README.OCDB with 100% similarity]
PWGPP/CalibMacros/Pass0/makeOCDB.C [new file with mode: 0644]
PWGPP/CalibMacros/Pass0/makeOCDB.byComponent.C [new file with mode: 0644]
PWGPP/CalibMacros/Pass0/merge.C [moved from PWG1/CalibMacros/Pass0/merge.C with 100% similarity]
PWGPP/CalibMacros/Pass0/merge.byComponent.C [moved from PWG1/CalibMacros/Pass0/merge.byComponent.C with 100% similarity]
PWGPP/CalibMacros/Pass0/mergeMakeOCDB.byComponent.sh [moved from PWG1/CalibMacros/Pass0/mergeMakeOCDB.byComponent.sh with 100% similarity]
PWGPP/CalibMacros/Pass0/mergeMakeOCDB.jdl [moved from PWG1/CalibMacros/Pass0/mergeMakeOCDB.jdl with 100% similarity]
PWGPP/CalibMacros/Pass0/mergeMakeOCDB.sh [moved from PWG1/CalibMacros/Pass0/mergeMakeOCDB.sh with 100% similarity]
PWGPP/CalibMacros/Pass0/recPass0.C [moved from PWG1/CalibMacros/Pass0/recPass0.C with 100% similarity]
PWGPP/CalibMacros/Pass0/runCalibTrain.C [moved from PWG1/CalibMacros/Pass0/runCalibTrain.C with 100% similarity]
PWGPP/CalibMacros/Pass0/runPass0.sh [moved from PWG1/CalibMacros/Pass0/runPass0.sh with 100% similarity]
PWGPP/CalibMacros/Pass0/validation.sh [moved from PWG1/CalibMacros/Pass0/validation.sh with 100% similarity]
PWGPP/CalibMacros/Pass0/validationMerging.sh [moved from PWG1/CalibMacros/Pass0/validationMerging.sh with 100% similarity]
PWGPP/CalibMacros/PassX/AddTaskAddObject.C [moved from PWG1/CalibMacros/PassX/AddTaskAddObject.C with 100% similarity]
PWGPP/CalibMacros/PassX/AddTaskFilterFriend.C [moved from PWG1/CalibMacros/PassX/AddTaskFilterFriend.C with 100% similarity]
PWGPP/CalibMacros/PassX/AddTaskFilterFriendSecond.C [moved from PWG1/CalibMacros/PassX/AddTaskFilterFriendSecond.C with 100% similarity]
PWGPP/CalibMacros/PassX/AddTaskFilterSteer.C [moved from PWG1/CalibMacros/PassX/AddTaskFilterSteer.C with 100% similarity]
PWGPP/CalibMacros/PassX/AddTaskTPCCalib.C [moved from PWG1/CalibMacros/PassX/AddTaskTPCCalib.C with 100% similarity]
PWGPP/CalibMacros/PassX/ConfigCalibTrain.C [moved from PWG1/CalibMacros/PassX/ConfigCalibTrain.C with 100% similarity]
PWGPP/CalibMacros/PassX/LoadLibraries.C [moved from PWG1/CalibMacros/PassX/LoadLibraries.C with 100% similarity]
PWGPP/CalibMacros/PassX/PassX.jdl [moved from PWG1/CalibMacros/PassX/PassX.jdl with 100% similarity]
PWGPP/CalibMacros/PassX/rec.C [moved from PWG1/CalibMacros/PassX/rec.C with 100% similarity]
PWGPP/CalibMacros/PassX/runCalibTrain.C [moved from PWG1/CalibMacros/PassX/runCalibTrain.C with 100% similarity]
PWGPP/CalibMacros/PassX/runPassX.sh [moved from PWG1/CalibMacros/PassX/runPassX.sh with 100% similarity]
PWGPP/CalibMacros/PassX/tag.C [moved from PWG1/CalibMacros/PassX/tag.C with 100% similarity]
PWGPP/CalibMacros/PassX/validation.sh [moved from PWG1/CalibMacros/PassX/validation.sh with 100% similarity]
PWGPP/Centrality/AddTaskHIMultCorr.C [moved from PWG1/Centrality/AddTaskHIMultCorr.C with 100% similarity]
PWGPP/Centrality/AliAnalysisTaskHIMultCorr.cxx [moved from PWG1/Centrality/AliAnalysisTaskHIMultCorr.cxx with 100% similarity]
PWGPP/Centrality/AliAnalysisTaskHIMultCorr.h [moved from PWG1/Centrality/AliAnalysisTaskHIMultCorr.h with 100% similarity]
PWGPP/Centrality/AliMultiplicityCorrelations.cxx [moved from PWG1/Centrality/AliMultiplicityCorrelations.cxx with 100% similarity]
PWGPP/Centrality/AliMultiplicityCorrelations.h [moved from PWG1/Centrality/AliMultiplicityCorrelations.h with 100% similarity]
PWGPP/HMPID/AddTaskHmpidQA.C [moved from PWG1/HMPID/AddTaskHmpidQA.C with 100% similarity]
PWGPP/HMPID/AliHMPIDTaskQA.cxx [moved from PWG1/HMPID/AliHMPIDTaskQA.cxx with 100% similarity]
PWGPP/HMPID/AliHMPIDTaskQA.h [moved from PWG1/HMPID/AliHMPIDTaskQA.h with 100% similarity]
PWGPP/ITS/AliAlignmentDataFilterITS.cxx [moved from PWG1/ITS/AliAlignmentDataFilterITS.cxx with 100% similarity]
PWGPP/ITS/AliAlignmentDataFilterITS.h [moved from PWG1/ITS/AliAlignmentDataFilterITS.h with 100% similarity]
PWGPP/ITS/AliAnalysisTaskITSAlignQA.cxx [moved from PWG1/ITS/AliAnalysisTaskITSAlignQA.cxx with 100% similarity]
PWGPP/ITS/AliAnalysisTaskITSAlignQA.h [moved from PWG1/ITS/AliAnalysisTaskITSAlignQA.h with 100% similarity]
PWGPP/ITS/AliAnalysisTaskITSTrackingCheck.cxx [moved from PWG1/ITS/AliAnalysisTaskITSTrackingCheck.cxx with 100% similarity]
PWGPP/ITS/AliAnalysisTaskITSTrackingCheck.h [moved from PWG1/ITS/AliAnalysisTaskITSTrackingCheck.h with 100% similarity]
PWGPP/ITS/AliAnalysisTaskITSsaTracks.cxx [moved from PWG1/ITS/AliAnalysisTaskITSsaTracks.cxx with 100% similarity]
PWGPP/ITS/AliAnalysisTaskITSsaTracks.h [moved from PWG1/ITS/AliAnalysisTaskITSsaTracks.h with 100% similarity]
PWGPP/ITS/AliAnalysisTaskSDDRP.cxx [moved from PWG1/ITS/AliAnalysisTaskSDDRP.cxx with 100% similarity]
PWGPP/ITS/AliAnalysisTaskSDDRP.h [moved from PWG1/ITS/AliAnalysisTaskSDDRP.h with 100% similarity]
PWGPP/ITS/AliAnalysisTaskSEImpParRes.cxx [new file with mode: 0644]
PWGPP/ITS/AliAnalysisTaskSEImpParRes.h [moved from PWG1/ITS/AliAnalysisTaskSEImpParRes.h with 100% similarity]
PWGPP/ITS/AliAnalysisTaskSPD.cxx [moved from PWG1/ITS/AliAnalysisTaskSPD.cxx with 100% similarity]
PWGPP/ITS/AliAnalysisTaskSPD.h [moved from PWG1/ITS/AliAnalysisTaskSPD.h with 100% similarity]
PWGPP/ITS/AliAnalysisTaskdEdxSSDQA.cxx [moved from PWG1/ITS/AliAnalysisTaskdEdxSSDQA.cxx with 100% similarity]
PWGPP/ITS/AliAnalysisTaskdEdxSSDQA.h [moved from PWG1/ITS/AliAnalysisTaskdEdxSSDQA.h with 100% similarity]
PWGPP/ITS/AliITSQAchecks.C [new file with mode: 0644]
PWGPP/ITS/AliITSQAtrend.C [new file with mode: 0644]
PWGPP/ITS/AliMeanVertexCalibTask.cxx [moved from PWG1/ITS/AliMeanVertexCalibTask.cxx with 100% similarity]
PWGPP/ITS/AliMeanVertexCalibTask.h [moved from PWG1/ITS/AliMeanVertexCalibTask.h with 100% similarity]
PWGPP/ITS/AliMeanVertexPreprocessorOffline.cxx [moved from PWG1/ITS/AliMeanVertexPreprocessorOffline.cxx with 100% similarity]
PWGPP/ITS/AliMeanVertexPreprocessorOffline.h [moved from PWG1/ITS/AliMeanVertexPreprocessorOffline.h with 100% similarity]
PWGPP/ITS/AliSPDUtils.cxx [moved from PWG1/ITS/AliSPDUtils.cxx with 100% similarity]
PWGPP/ITS/AliSPDUtils.h [moved from PWG1/ITS/AliSPDUtils.h with 100% similarity]
PWGPP/ITS/AliTrackMatchingTPCITSCosmics.cxx [moved from PWG1/ITS/AliTrackMatchingTPCITSCosmics.cxx with 100% similarity]
PWGPP/ITS/AliTrackMatchingTPCITSCosmics.h [moved from PWG1/ITS/AliTrackMatchingTPCITSCosmics.h with 100% similarity]
PWGPP/ITS/PlotSDDPerformance.C [moved from PWG1/ITS/PlotSDDPerformance.C with 100% similarity]
PWGPP/PWGPPLinkDef.h [new file with mode: 0644]
PWGPP/PWGPPREADME.txt [new file with mode: 0644]
PWGPP/PWGPPmacros/ConfigTask.txt [new file with mode: 0644]
PWGPP/PWGPPmacros/README.Train [new file with mode: 0644]
PWGPP/PWGPPmacros/diff.txt [moved from PWG1/PWG1macros/diff.txt with 100% similarity]
PWGPP/PWGPPmacros/getCertificate.sh [new file with mode: 0755]
PWGPP/PWGPPmacros/getCertificateBatch.sh [new file with mode: 0644]
PWGPP/PWGPPmacros/makeSummary.sh [moved from PWG1/PWG1macros/makeSummary.sh with 100% similarity]
PWGPP/PWGPPmacros/runPWGPPTrain.C [new file with mode: 0644]
PWGPP/PWGPPmacros/syswatchEvalTrain.C [new file with mode: 0644]
PWGPP/PilotTrain/AddSDDPoints.C [moved from PWG1/PilotTrain/AddSDDPoints.C with 100% similarity]
PWGPP/PilotTrain/AddTaskCDBconnect.C [moved from PWG1/PilotTrain/AddTaskCDBconnect.C with 100% similarity]
PWGPP/PilotTrain/AddTaskFMD.C [moved from PWG1/PilotTrain/AddTaskFMD.C with 100% similarity]
PWGPP/PilotTrain/AddTaskHIMultCorr.C [moved from PWG1/PilotTrain/AddTaskHIMultCorr.C with 100% similarity]
PWGPP/PilotTrain/AddTaskPhysicsSelection.C [moved from PWG1/PilotTrain/AddTaskPhysicsSelection.C with 100% similarity]
PWGPP/PilotTrain/AddTaskQAsym.C [new file with mode: 0644]
PWGPP/PilotTrain/AddTaskQAtrainPIDqa.C [moved from PWG1/PilotTrain/AddTaskQAtrainPIDqa.C with 100% similarity]
PWGPP/PilotTrain/AddTaskSPDQA.C [moved from PWG1/PilotTrain/AddTaskSPDQA.C with 100% similarity]
PWGPP/PilotTrain/AddTaskVZEROQA.C [moved from PWG1/PilotTrain/AddTaskVZEROQA.C with 100% similarity]
PWGPP/PilotTrain/AddTaskdEdxSSDQA.C [new file with mode: 0644]
PWGPP/PilotTrain/MakeSDDPoints.C [moved from PWG1/PilotTrain/MakeSDDPoints.C with 100% similarity]
PWGPP/PilotTrain/PilotAnalysis.C [new file with mode: 0644]
PWGPP/PilotTrain/PilotAnalysis_sim.C [new file with mode: 0644]
PWGPP/PilotTrain/memoryCheck.C [new file with mode: 0644]
PWGPP/PilotTrain/runPilot.C [new file with mode: 0644]
PWGPP/PilotTrain/testOutputSize.C [new file with mode: 0644]
PWGPP/T0/AddTaskT0QA.C [moved from PWG1/T0/AddTaskT0QA.C with 100% similarity]
PWGPP/T0/AliT0AnalysisTaskQA.cxx [moved from PWG1/T0/AliT0AnalysisTaskQA.cxx with 100% similarity]
PWGPP/T0/AliT0AnalysisTaskQA.h [moved from PWG1/T0/AliT0AnalysisTaskQA.h with 100% similarity]
PWGPP/TOF/AddTaskTOFQA.C [moved from PWG1/TOF/AddTaskTOFQA.C with 100% similarity]
PWGPP/TOF/AliAnalysisTaskTOFqa.cxx [moved from PWG1/TOF/AliAnalysisTaskTOFqa.cxx with 100% similarity]
PWGPP/TOF/AliAnalysisTaskTOFqa.h [moved from PWG1/TOF/AliAnalysisTaskTOFqa.h with 100% similarity]
PWGPP/TPC/AliAnalysisNoiseTPC.cxx [moved from PWG1/TPC/AliAnalysisNoiseTPC.cxx with 100% similarity]
PWGPP/TPC/AliAnalysisNoiseTPC.h [moved from PWG1/TPC/AliAnalysisNoiseTPC.h with 100% similarity]
PWGPP/TPC/AliComparisonDraw.cxx [new file with mode: 0644]
PWGPP/TPC/AliComparisonDraw.h [moved from PWG1/TPC/AliComparisonDraw.h with 100% similarity]
PWGPP/TPC/AliComparisonObject.cxx [moved from PWG1/TPC/AliComparisonObject.cxx with 100% similarity]
PWGPP/TPC/AliComparisonObject.h [moved from PWG1/TPC/AliComparisonObject.h with 100% similarity]
PWGPP/TPC/AliESDRecInfo.cxx [moved from PWG1/TPC/AliESDRecInfo.cxx with 100% similarity]
PWGPP/TPC/AliESDRecInfo.h [moved from PWG1/TPC/AliESDRecInfo.h with 100% similarity]
PWGPP/TPC/AliESDRecKinkInfo.cxx [moved from PWG1/TPC/AliESDRecKinkInfo.cxx with 100% similarity]
PWGPP/TPC/AliESDRecKinkInfo.h [moved from PWG1/TPC/AliESDRecKinkInfo.h with 100% similarity]
PWGPP/TPC/AliESDRecV0Info.cxx [moved from PWG1/TPC/AliESDRecV0Info.cxx with 100% similarity]
PWGPP/TPC/AliESDRecV0Info.h [moved from PWG1/TPC/AliESDRecV0Info.h with 100% similarity]
PWGPP/TPC/AliESDresolMakerFast.cxx [new file with mode: 0644]
PWGPP/TPC/AliESDresolMakerFast.h [moved from PWG1/TPC/AliESDresolMakerFast.h with 100% similarity]
PWGPP/TPC/AliESDresolParams.cxx [moved from PWG1/TPC/AliESDresolParams.cxx with 100% similarity]
PWGPP/TPC/AliESDresolParams.h [moved from PWG1/TPC/AliESDresolParams.h with 100% similarity]
PWGPP/TPC/AliGenInfoMaker.cxx [new file with mode: 0644]
PWGPP/TPC/AliGenInfoMaker.h [moved from PWG1/TPC/AliGenInfoMaker.h with 100% similarity]
PWGPP/TPC/AliGenInfoTask.cxx [moved from PWG1/TPC/AliGenInfoTask.cxx with 100% similarity]
PWGPP/TPC/AliGenInfoTask.h [moved from PWG1/TPC/AliGenInfoTask.h with 100% similarity]
PWGPP/TPC/AliGenKinkInfo.cxx [moved from PWG1/TPC/AliGenKinkInfo.cxx with 100% similarity]
PWGPP/TPC/AliGenKinkInfo.h [moved from PWG1/TPC/AliGenKinkInfo.h with 100% similarity]
PWGPP/TPC/AliGenV0Info.cxx [moved from PWG1/TPC/AliGenV0Info.cxx with 100% similarity]
PWGPP/TPC/AliGenV0Info.h [moved from PWG1/TPC/AliGenV0Info.h with 100% similarity]
PWGPP/TPC/AliMCInfo.cxx [moved from PWG1/TPC/AliMCInfo.cxx with 100% similarity]
PWGPP/TPC/AliMCInfo.h [moved from PWG1/TPC/AliMCInfo.h with 100% similarity]
PWGPP/TPC/AliMCInfoCuts.cxx [moved from PWG1/TPC/AliMCInfoCuts.cxx with 100% similarity]
PWGPP/TPC/AliMCInfoCuts.h [moved from PWG1/TPC/AliMCInfoCuts.h with 100% similarity]
PWGPP/TPC/AliMCTrackingTestTask.cxx [moved from PWG1/TPC/AliMCTrackingTestTask.cxx with 100% similarity]
PWGPP/TPC/AliMCTrackingTestTask.h [moved from PWG1/TPC/AliMCTrackingTestTask.h with 100% similarity]
PWGPP/TPC/AliMaterialBudget.cxx [moved from PWG1/TPC/AliMaterialBudget.cxx with 100% similarity]
PWGPP/TPC/AliMaterialBudget.h [moved from PWG1/TPC/AliMaterialBudget.h with 100% similarity]
PWGPP/TPC/AliPerfAnalyzeInvPt.cxx [moved from PWG1/TPC/AliPerfAnalyzeInvPt.cxx with 100% similarity]
PWGPP/TPC/AliPerfAnalyzeInvPt.h [moved from PWG1/TPC/AliPerfAnalyzeInvPt.h with 100% similarity]
PWGPP/TPC/AliPerformanceDCA.cxx [new file with mode: 0644]
PWGPP/TPC/AliPerformanceDCA.h [moved from PWG1/TPC/AliPerformanceDCA.h with 100% similarity]
PWGPP/TPC/AliPerformanceDEdx.cxx [new file with mode: 0644]
PWGPP/TPC/AliPerformanceDEdx.h [moved from PWG1/TPC/AliPerformanceDEdx.h with 100% similarity]
PWGPP/TPC/AliPerformanceEff.cxx [new file with mode: 0644]
PWGPP/TPC/AliPerformanceEff.h [moved from PWG1/TPC/AliPerformanceEff.h with 100% similarity]
PWGPP/TPC/AliPerformanceMC.cxx [new file with mode: 0644]
PWGPP/TPC/AliPerformanceMC.h [moved from PWG1/TPC/AliPerformanceMC.h with 100% similarity]
PWGPP/TPC/AliPerformanceMatch.cxx [new file with mode: 0644]
PWGPP/TPC/AliPerformanceMatch.h [moved from PWG1/TPC/AliPerformanceMatch.h with 100% similarity]
PWGPP/TPC/AliPerformanceObject.cxx [moved from PWG1/TPC/AliPerformanceObject.cxx with 100% similarity]
PWGPP/TPC/AliPerformanceObject.h [moved from PWG1/TPC/AliPerformanceObject.h with 100% similarity]
PWGPP/TPC/AliPerformancePtCalib.cxx [moved from PWG1/TPC/AliPerformancePtCalib.cxx with 100% similarity]
PWGPP/TPC/AliPerformancePtCalib.h [moved from PWG1/TPC/AliPerformancePtCalib.h with 100% similarity]
PWGPP/TPC/AliPerformancePtCalibMC.cxx [moved from PWG1/TPC/AliPerformancePtCalibMC.cxx with 100% similarity]
PWGPP/TPC/AliPerformancePtCalibMC.h [moved from PWG1/TPC/AliPerformancePtCalibMC.h with 100% similarity]
PWGPP/TPC/AliPerformanceRes.cxx [new file with mode: 0644]
PWGPP/TPC/AliPerformanceRes.h [moved from PWG1/TPC/AliPerformanceRes.h with 100% similarity]
PWGPP/TPC/AliPerformanceTPC.cxx [new file with mode: 0644]
PWGPP/TPC/AliPerformanceTPC.h [moved from PWG1/TPC/AliPerformanceTPC.h with 100% similarity]
PWGPP/TPC/AliPerformanceTask.cxx [moved from PWG1/TPC/AliPerformanceTask.cxx with 100% similarity]
PWGPP/TPC/AliPerformanceTask.h [moved from PWG1/TPC/AliPerformanceTask.h with 100% similarity]
PWGPP/TPC/AliRecInfoCuts.cxx [moved from PWG1/TPC/AliRecInfoCuts.cxx with 100% similarity]
PWGPP/TPC/AliRecInfoCuts.h [moved from PWG1/TPC/AliRecInfoCuts.h with 100% similarity]
PWGPP/TPC/AliRecInfoMaker.cxx [new file with mode: 0644]
PWGPP/TPC/AliRecInfoMaker.h [moved from PWG1/TPC/AliRecInfoMaker.h with 100% similarity]
PWGPP/TPC/AliTPCComparisonPID.cxx [moved from PWG1/TPC/AliTPCComparisonPID.cxx with 100% similarity]
PWGPP/TPC/AliTPCComparisonPID.h [moved from PWG1/TPC/AliTPCComparisonPID.h with 100% similarity]
PWGPP/TPC/AliTPCPerformanceSummary.cxx [moved from PWG1/TPC/AliTPCPerformanceSummary.cxx with 100% similarity]
PWGPP/TPC/AliTPCPerformanceSummary.h [moved from PWG1/TPC/AliTPCPerformanceSummary.h with 100% similarity]
PWGPP/TPC/AliTPCtaskPID.cxx [moved from PWG1/TPC/AliTPCtaskPID.cxx with 100% similarity]
PWGPP/TPC/AliTPCtaskPID.h [moved from PWG1/TPC/AliTPCtaskPID.h with 100% similarity]
PWGPP/TPC/AliTPCtaskQA.cxx [moved from PWG1/TPC/AliTPCtaskQA.cxx with 100% similarity]
PWGPP/TPC/AliTPCtaskQA.h [moved from PWG1/TPC/AliTPCtaskQA.h with 100% similarity]
PWGPP/TPC/AliTreeDraw.cxx [moved from PWG1/TPC/AliTreeDraw.cxx with 100% similarity]
PWGPP/TPC/AliTreeDraw.h [moved from PWG1/TPC/AliTreeDraw.h with 100% similarity]
PWGPP/TPC/macros/AddTaskPerformanceITSTPCMatch.C [moved from PWG1/TPC/macros/AddTaskPerformanceITSTPCMatch.C with 100% similarity]
PWGPP/TPC/macros/AddTaskPerformanceTPC.C [new file with mode: 0644]
PWGPP/TPC/macros/AddTaskPerformanceTPCITSQA.C [new file with mode: 0644]
PWGPP/TPC/macros/AddTaskPerformanceTPCPbPb.C [new file with mode: 0644]
PWGPP/TPC/macros/AddTaskPerformanceTPCQA.C [new file with mode: 0644]
PWGPP/TPC/macros/AddTaskPerformanceTPCdEdxQA.C [new file with mode: 0644]
PWGPP/TPC/macros/ConfigOCDB.C [new file with mode: 0644]
PWGPP/TPC/macros/LoadMyLibs.C [new file with mode: 0644]
PWGPP/TPC/macros/MakeFinalSpectra.C [moved from PWG1/TPC/macros/MakeFinalSpectra.C with 100% similarity]
PWGPP/TPC/macros/MakePerformanceSummary.C [new file with mode: 0644]
PWGPP/TPC/macros/MakeReportTPC.C [new file with mode: 0644]
PWGPP/TPC/macros/MakeResults.C [new file with mode: 0755]
PWGPP/TPC/macros/MakeTrendGraph.C [new file with mode: 0644]
PWGPP/TPC/macros/ProofEnableAliRoot.C [new file with mode: 0644]
PWGPP/TPC/macros/RunPerformanceTask.C [new file with mode: 0644]
PWGPP/TPC/macros/RunPerformanceTaskMC.C [new file with mode: 0644]
PWGPP/TPC/macros/RunPerformanceTaskResEffMC.C [new file with mode: 0644]
PWGPP/TPC/macros/compareTracks.C [new file with mode: 0644]
PWGPP/TRD/AliTRDalignmentTask.cxx [moved from PWG1/TRD/AliTRDalignmentTask.cxx with 100% similarity]
PWGPP/TRD/AliTRDalignmentTask.h [moved from PWG1/TRD/AliTRDalignmentTask.h with 100% similarity]
PWGPP/TRD/AliTRDcalibration.cxx [moved from PWG1/TRD/AliTRDcalibration.cxx with 100% similarity]
PWGPP/TRD/AliTRDcalibration.h [moved from PWG1/TRD/AliTRDcalibration.h with 100% similarity]
PWGPP/TRD/AliTRDcheckDET.cxx [new file with mode: 0644]
PWGPP/TRD/AliTRDcheckDET.h [moved from PWG1/TRD/AliTRDcheckDET.h with 100% similarity]
PWGPP/TRD/AliTRDcheckESD.cxx [moved from PWG1/TRD/AliTRDcheckESD.cxx with 100% similarity]
PWGPP/TRD/AliTRDcheckESD.h [moved from PWG1/TRD/AliTRDcheckESD.h with 100% similarity]
PWGPP/TRD/AliTRDcheckPID.cxx [moved from PWG1/TRD/AliTRDcheckPID.cxx with 100% similarity]
PWGPP/TRD/AliTRDcheckPID.h [moved from PWG1/TRD/AliTRDcheckPID.h with 100% similarity]
PWGPP/TRD/AliTRDcheckTRK.cxx [moved from PWG1/TRD/AliTRDcheckTRK.cxx with 100% similarity]
PWGPP/TRD/AliTRDcheckTRK.h [moved from PWG1/TRD/AliTRDcheckTRK.h with 100% similarity]
PWGPP/TRD/AliTRDclusterResolution.cxx [moved from PWG1/TRD/AliTRDclusterResolution.cxx with 100% similarity]
PWGPP/TRD/AliTRDclusterResolution.h [moved from PWG1/TRD/AliTRDclusterResolution.h with 100% similarity]
PWGPP/TRD/AliTRDefficiency.cxx [moved from PWG1/TRD/AliTRDefficiency.cxx with 100% similarity]
PWGPP/TRD/AliTRDefficiency.h [moved from PWG1/TRD/AliTRDefficiency.h with 100% similarity]
PWGPP/TRD/AliTRDefficiencyMC.cxx [moved from PWG1/TRD/AliTRDefficiencyMC.cxx with 100% similarity]
PWGPP/TRD/AliTRDefficiencyMC.h [moved from PWG1/TRD/AliTRDefficiencyMC.h with 100% similarity]
PWGPP/TRD/AliTRDinfoGen.cxx [new file with mode: 0644]
PWGPP/TRD/AliTRDinfoGen.h [moved from PWG1/TRD/AliTRDinfoGen.h with 100% similarity]
PWGPP/TRD/AliTRDmultiplicity.cxx [moved from PWG1/TRD/AliTRDmultiplicity.cxx with 100% similarity]
PWGPP/TRD/AliTRDmultiplicity.h [moved from PWG1/TRD/AliTRDmultiplicity.h with 100% similarity]
PWGPP/TRD/AliTRDonlineTrackletFilter.cxx [moved from PWG1/TRD/AliTRDonlineTrackletFilter.cxx with 100% similarity]
PWGPP/TRD/AliTRDonlineTrackletFilter.h [moved from PWG1/TRD/AliTRDonlineTrackletFilter.h with 100% similarity]
PWGPP/TRD/AliTRDonlineTrackletQA.cxx [moved from PWG1/TRD/AliTRDonlineTrackletQA.cxx with 100% similarity]
PWGPP/TRD/AliTRDonlineTrackletQA.h [moved from PWG1/TRD/AliTRDonlineTrackletQA.h with 100% similarity]
PWGPP/TRD/AliTRDpidRefMaker.cxx [moved from PWG1/TRD/AliTRDpidRefMaker.cxx with 100% similarity]
PWGPP/TRD/AliTRDpidRefMaker.h [moved from PWG1/TRD/AliTRDpidRefMaker.h with 100% similarity]
PWGPP/TRD/AliTRDpidRefMakerLQ.cxx [moved from PWG1/TRD/AliTRDpidRefMakerLQ.cxx with 100% similarity]
PWGPP/TRD/AliTRDpidRefMakerLQ.h [moved from PWG1/TRD/AliTRDpidRefMakerLQ.h with 100% similarity]
PWGPP/TRD/AliTRDpidRefMakerNN.cxx [moved from PWG1/TRD/AliTRDpidRefMakerNN.cxx with 100% similarity]
PWGPP/TRD/AliTRDpidRefMakerNN.h [moved from PWG1/TRD/AliTRDpidRefMakerNN.h with 100% similarity]
PWGPP/TRD/AliTRDpwgppHelper.cxx [new file with mode: 0644]
PWGPP/TRD/AliTRDpwgppHelper.h [new file with mode: 0644]
PWGPP/TRD/AliTRDrecoTask.cxx [moved from PWG1/TRD/AliTRDrecoTask.cxx with 100% similarity]
PWGPP/TRD/AliTRDrecoTask.h [moved from PWG1/TRD/AliTRDrecoTask.h with 100% similarity]
PWGPP/TRD/AliTRDresolution.cxx [new file with mode: 0644]
PWGPP/TRD/AliTRDresolution.h [moved from PWG1/TRD/AliTRDresolution.h with 100% similarity]
PWGPP/TRD/AliTRDv0Monitor.cxx [moved from PWG1/TRD/AliTRDv0Monitor.cxx with 100% similarity]
PWGPP/TRD/AliTRDv0Monitor.h [moved from PWG1/TRD/AliTRDv0Monitor.h with 100% similarity]
PWGPP/TRD/info/AliTRDclusterInfo.cxx [moved from PWG1/TRD/info/AliTRDclusterInfo.cxx with 100% similarity]
PWGPP/TRD/info/AliTRDclusterInfo.h [moved from PWG1/TRD/info/AliTRDclusterInfo.h with 100% similarity]
PWGPP/TRD/info/AliTRDeventCuts.cxx [moved from PWG1/TRD/info/AliTRDeventCuts.cxx with 100% similarity]
PWGPP/TRD/info/AliTRDeventCuts.h [new file with mode: 0644]
PWGPP/TRD/info/AliTRDeventInfo.cxx [moved from PWG1/TRD/info/AliTRDeventInfo.cxx with 100% similarity]
PWGPP/TRD/info/AliTRDeventInfo.h [moved from PWG1/TRD/info/AliTRDeventInfo.h with 100% similarity]
PWGPP/TRD/info/AliTRDpidInfo.cxx [moved from PWG1/TRD/info/AliTRDpidInfo.cxx with 100% similarity]
PWGPP/TRD/info/AliTRDpidInfo.h [moved from PWG1/TRD/info/AliTRDpidInfo.h with 100% similarity]
PWGPP/TRD/info/AliTRDtrackInfo.cxx [moved from PWG1/TRD/info/AliTRDtrackInfo.cxx with 100% similarity]
PWGPP/TRD/info/AliTRDtrackInfo.h [moved from PWG1/TRD/info/AliTRDtrackInfo.h with 100% similarity]
PWGPP/TRD/info/AliTRDtrendValue.cxx [moved from PWG1/TRD/info/AliTRDtrendValue.cxx with 100% similarity]
PWGPP/TRD/info/AliTRDtrendValue.h [moved from PWG1/TRD/info/AliTRDtrendValue.h with 100% similarity]
PWGPP/TRD/info/AliTRDtrendingManager.cxx [moved from PWG1/TRD/info/AliTRDtrendingManager.cxx with 100% similarity]
PWGPP/TRD/info/AliTRDtrendingManager.h [moved from PWG1/TRD/info/AliTRDtrendingManager.h with 100% similarity]
PWGPP/TRD/info/AliTRDv0Info.cxx [moved from PWG1/TRD/info/AliTRDv0Info.cxx with 100% similarity]
PWGPP/TRD/info/AliTRDv0Info.h [moved from PWG1/TRD/info/AliTRDv0Info.h with 100% similarity]
PWGPP/TRD/info/Makefile [moved from PWG1/TRD/info/Makefile with 100% similarity]
PWGPP/TRD/info/trdTrackInfoLinkDef.h [moved from PWG1/TRD/info/trdTrackInfoLinkDef.h with 100% similarity]
PWGPP/TRD/macros/AddTRDcheckDET.C [new file with mode: 0644]
PWGPP/TRD/macros/AddTRDcheckESD.C [new file with mode: 0644]
PWGPP/TRD/macros/AddTRDcheckPID.C [new file with mode: 0644]
PWGPP/TRD/macros/AddTRDcheckTRK.C [new file with mode: 0644]
PWGPP/TRD/macros/AddTRDefficiency.C [new file with mode: 0644]
PWGPP/TRD/macros/AddTRDinfoGen.C [new file with mode: 0644]
PWGPP/TRD/macros/AddTRDresolution.C [new file with mode: 0644]
PWGPP/TRD/macros/AddTRDtrackletFilter.C [new file with mode: 0644]
PWGPP/TRD/macros/AddTRDtrackletQA.C [new file with mode: 0644]
PWGPP/TRD/macros/AddTRDv0Monitor.C [new file with mode: 0644]
PWGPP/TRD/macros/AliTRDmakeTrendDB.C [new file with mode: 0644]
PWGPP/TRD/macros/AliTrackletsinTRD.C [moved from PWG1/TRD/macros/AliTrackletsinTRD.C with 100% similarity]
PWGPP/TRD/macros/AliTrackletsinTRD.h [moved from PWG1/TRD/macros/AliTrackletsinTRD.h with 100% similarity]
PWGPP/TRD/macros/AnalysisResults.root [moved from PWG1/TRD/macros/AnalysisResults.root with 100% similarity]
PWGPP/TRD/macros/EVE/PH.C [moved from PWG1/TRD/macros/EVE/PH.C with 100% similarity]
PWGPP/TRD/macros/EVE/chargeDistr.C [moved from PWG1/TRD/macros/EVE/chargeDistr.C with 100% similarity]
PWGPP/TRD/macros/EVE/crossTracklets.C [moved from PWG1/TRD/macros/EVE/crossTracklets.C with 100% similarity]
PWGPP/TRD/macros/EVE/nclusters.C [moved from PWG1/TRD/macros/EVE/nclusters.C with 100% similarity]
PWGPP/TRD/macros/PID/ConvertMLPs.C [moved from PWG1/TRD/macros/PID/ConvertMLPs.C with 100% similarity]
PWGPP/TRD/macros/PID/MonitorTraining.C [moved from PWG1/TRD/macros/PID/MonitorTraining.C with 100% similarity]
PWGPP/TRD/macros/PID/makeTrainingData.C [moved from PWG1/TRD/macros/PID/makeTrainingData.C with 100% similarity]
PWGPP/TRD/macros/PID/runTraining.C [moved from PWG1/TRD/macros/PID/runTraining.C with 100% similarity]
PWGPP/TRD/macros/makeCalibResults.C [new file with mode: 0644]
PWGPP/TRD/macros/makeResults.C [new file with mode: 0644]
PWGPP/TRD/macros/mergeBatch.C [new file with mode: 0644]
PWGPP/TRD/macros/mergeResults.C [new file with mode: 0644]
PWGPP/TRD/run.C [new file with mode: 0644]
PWGPP/TRD/run.jdl [moved from PWG1/TRD/run.jdl with 100% similarity]
PWGPP/TRD/runQAesds.C [new file with mode: 0644]
PWGPP/VZERO/AddTaskVZEROPbPb.C [moved from PWG1/VZERO/AddTaskVZEROPbPb.C with 100% similarity]
PWGPP/VZERO/AliAnaVZEROPbPb.cxx [moved from PWG1/VZERO/AliAnaVZEROPbPb.cxx with 100% similarity]
PWGPP/VZERO/AliAnaVZEROPbPb.h [moved from PWG1/VZERO/AliAnaVZEROPbPb.h with 100% similarity]
PWGPP/VZERO/AliAnaVZEROTrigger.cxx [moved from PWG1/VZERO/AliAnaVZEROTrigger.cxx with 100% similarity]
PWGPP/VZERO/AliAnaVZEROTrigger.h [moved from PWG1/VZERO/AliAnaVZEROTrigger.h with 100% similarity]
PWGPP/VZERO/checkThr.C [moved from PWG1/VZERO/checkThr.C with 100% similarity]
PWGPP/VZERO/extractThr.C [moved from PWG1/VZERO/extractThr.C with 100% similarity]
PWGPP/VZERO/readQAPbPb.C [moved from PWG1/VZERO/readQAPbPb.C with 100% similarity]
PWGPP/VZERO/runAnaTrigProof.C [moved from PWG1/VZERO/runAnaTrigProof.C with 100% similarity]
PWGPP/ZDC/AddTaskZDCQA.C [moved from PWG1/ZDC/AddTaskZDCQA.C with 100% similarity]
PWGPP/ZDC/AliAnalysisTaskZDC.cxx [moved from PWG1/ZDC/AliAnalysisTaskZDC.cxx with 100% similarity]
PWGPP/ZDC/AliAnalysisTaskZDC.h [moved from PWG1/ZDC/AliAnalysisTaskZDC.h with 100% similarity]
PWGPP/ZDC/PlotZDCQAtrain.C [moved from PWG1/ZDC/PlotZDCQAtrain.C with 100% similarity]
PWGPP/background/AliAnalysisTaskBGvsTime.cxx [moved from PWG1/background/AliAnalysisTaskBGvsTime.cxx with 100% similarity]
PWGPP/background/AliAnalysisTaskBGvsTime.h [moved from PWG1/background/AliAnalysisTaskBGvsTime.h with 100% similarity]
PWGPP/background/AliHistoListWrapper.cxx [moved from PWG1/background/AliHistoListWrapper.cxx with 100% similarity]
PWGPP/background/AliHistoListWrapper.h [moved from PWG1/background/AliHistoListWrapper.h with 100% similarity]
PWGPP/background/runBGvsTime.C [moved from PWG1/background/runBGvsTime.C with 100% similarity]
PWGPP/background/runProofvsTime.C [new file with mode: 0644]
PWGPP/comparison/AliAnalysisTaskCheckESD.cxx [moved from PWG1/comparison/AliAnalysisTaskCheckESD.cxx with 100% similarity]
PWGPP/comparison/AliAnalysisTaskCheckESD.h [moved from PWG1/comparison/AliAnalysisTaskCheckESD.h with 100% similarity]
PWGPP/comparison/AliITSComparisonTask.cxx [moved from PWG1/comparison/AliITSComparisonTask.cxx with 100% similarity]
PWGPP/comparison/AliITSComparisonTask.h [moved from PWG1/comparison/AliITSComparisonTask.h with 100% similarity]
PWGPP/comparison/AliMCComparisonTrack.cxx [moved from PWG1/comparison/AliMCComparisonTrack.cxx with 100% similarity]
PWGPP/comparison/AliMCComparisonTrack.h [moved from PWG1/comparison/AliMCComparisonTrack.h with 100% similarity]
PWGPP/comparison/AliTOFComparisonTask.cxx [moved from PWG1/comparison/AliTOFComparisonTask.cxx with 100% similarity]
PWGPP/comparison/AliTOFComparisonTask.h [moved from PWG1/comparison/AliTOFComparisonTask.h with 100% similarity]
PWGPP/comparison/AliTPCComparisonTask.cxx [moved from PWG1/comparison/AliTPCComparisonTask.cxx with 100% similarity]
PWGPP/comparison/AliTPCComparisonTask.h [moved from PWG1/comparison/AliTPCComparisonTask.h with 100% similarity]
PWGPP/comparison/AliTRDComparisonTask.cxx [moved from PWG1/comparison/AliTRDComparisonTask.cxx with 100% similarity]
PWGPP/comparison/AliTRDComparisonTask.h [moved from PWG1/comparison/AliTRDComparisonTask.h with 100% similarity]
PWGPP/comparison/runProofCheckESD.C [moved from PWG1/comparison/runProofCheckESD.C with 100% similarity]
PWGPP/comparison/runProofITSComparison.C [moved from PWG1/comparison/runProofITSComparison.C with 100% similarity]
PWGPP/comparison/runProofTOFComparison.C [moved from PWG1/comparison/runProofTOFComparison.C with 100% similarity]
PWGPP/comparison/runProofTPCComparison.C [moved from PWG1/comparison/runProofTPCComparison.C with 100% similarity]
PWGPP/comparison/runProofTRDComparison.C [moved from PWG1/comparison/runProofTRDComparison.C with 100% similarity]
PWGPP/cosmic/AliAnalysisTaskCosmic.cxx [moved from PWG1/cosmic/AliAnalysisTaskCosmic.cxx with 100% similarity]
PWGPP/cosmic/AliAnalysisTaskCosmic.h [moved from PWG1/cosmic/AliAnalysisTaskCosmic.h with 100% similarity]
PWGPP/doc/comparison/amsbsy.sty [moved from PWG1/doc/comparison/amsbsy.sty with 100% similarity]
PWGPP/doc/comparison/amscd.sty [moved from PWG1/doc/comparison/amscd.sty with 100% similarity]
PWGPP/doc/comparison/amsgen.sty [moved from PWG1/doc/comparison/amsgen.sty with 100% similarity]
PWGPP/doc/comparison/amsmath.sty [moved from PWG1/doc/comparison/amsmath.sty with 100% similarity]
PWGPP/doc/comparison/amsopn.sty [moved from PWG1/doc/comparison/amsopn.sty with 100% similarity]
PWGPP/doc/comparison/amstex.sty [moved from PWG1/doc/comparison/amstex.sty with 100% similarity]
PWGPP/doc/comparison/amstext.sty [moved from PWG1/doc/comparison/amstext.sty with 100% similarity]
PWGPP/doc/comparison/amsxtra.sty [moved from PWG1/doc/comparison/amsxtra.sty with 100% similarity]
PWGPP/doc/comparison/userguide.tex [new file with mode: 0644]
PWGPP/doc/resol/amsbsy.sty [moved from PWG1/doc/resol/amsbsy.sty with 100% similarity]
PWGPP/doc/resol/amscd.sty [moved from PWG1/doc/resol/amscd.sty with 100% similarity]
PWGPP/doc/resol/amsgen.sty [moved from PWG1/doc/resol/amsgen.sty with 100% similarity]
PWGPP/doc/resol/amsmath.sty [moved from PWG1/doc/resol/amsmath.sty with 100% similarity]
PWGPP/doc/resol/amsopn.sty [moved from PWG1/doc/resol/amsopn.sty with 100% similarity]
PWGPP/doc/resol/amstex.sty [moved from PWG1/doc/resol/amstex.sty with 100% similarity]
PWGPP/doc/resol/amstext.sty [moved from PWG1/doc/resol/amstext.sty with 100% similarity]
PWGPP/doc/resol/amsxtra.sty [moved from PWG1/doc/resol/amsxtra.sty with 100% similarity]
PWGPP/doc/resol/picLoss/dPcorr_ITS_step1.eps [moved from PWG1/doc/resol/picLoss/dPcorr_ITS_step1.eps with 100% similarity]
PWGPP/doc/resol/picLoss/dPcorr_ITS_step1.gif [moved from PWG1/doc/resol/picLoss/dPcorr_ITS_step1.gif with 100% similarity]
PWGPP/doc/resol/picLoss/dPcorr_TPC_step1.eps [moved from PWG1/doc/resol/picLoss/dPcorr_TPC_step1.eps with 100% similarity]
PWGPP/doc/resol/picLoss/dPcorr_TPC_step1.gif [moved from PWG1/doc/resol/picLoss/dPcorr_TPC_step1.gif with 100% similarity]
PWGPP/doc/resol/picLoss/dPcorr_TPCseed_step1.eps [moved from PWG1/doc/resol/picLoss/dPcorr_TPCseed_step1.eps with 100% similarity]
PWGPP/doc/resol/picLoss/dPcorr_TPCseed_step1.gif [moved from PWG1/doc/resol/picLoss/dPcorr_TPCseed_step1.gif with 100% similarity]
PWGPP/doc/resol/picLoss/dPcorr_TPCseed_step1_1D.eps [moved from PWG1/doc/resol/picLoss/dPcorr_TPCseed_step1_1D.eps with 100% similarity]
PWGPP/doc/resol/picLoss/dPcorr_TPCseed_step1_1D.gif [moved from PWG1/doc/resol/picLoss/dPcorr_TPCseed_step1_1D.gif with 100% similarity]
PWGPP/doc/resol/picLoss/dPcorr_TRD_step1.eps [moved from PWG1/doc/resol/picLoss/dPcorr_TRD_step1.eps with 100% similarity]
PWGPP/doc/resol/picLoss/dPcorr_TRD_step1.gif [moved from PWG1/doc/resol/picLoss/dPcorr_TRD_step1.gif with 100% similarity]
PWGPP/doc/resol/picLoss/dPtcorr_TPCseed_step1_1D.eps [moved from PWG1/doc/resol/picLoss/dPtcorr_TPCseed_step1_1D.eps with 100% similarity]
PWGPP/doc/resol/picLoss/dPtcorr_TPCseed_step1_1D.gif [moved from PWG1/doc/resol/picLoss/dPtcorr_TPCseed_step1_1D.gif with 100% similarity]
PWGPP/doc/resol/resol.tex [moved from PWG1/doc/resol/resol.tex with 100% similarity]
PWGPP/global/AliAnalysisTaskGlobalQA.cxx [moved from PWG1/global/AliAnalysisTaskGlobalQA.cxx with 100% similarity]
PWGPP/global/AliAnalysisTaskGlobalQA.h [moved from PWG1/global/AliAnalysisTaskGlobalQA.h with 100% similarity]
PWGPP/global/AliAnalysisTaskVertexESD.cxx [moved from PWG1/global/AliAnalysisTaskVertexESD.cxx with 100% similarity]
PWGPP/global/AliAnalysisTaskVertexESD.h [moved from PWG1/global/AliAnalysisTaskVertexESD.h with 100% similarity]
PWGPP/global/AliGlobalFBFqa.cxx [moved from PWG1/global/AliGlobalFBFqa.cxx with 100% similarity]
PWGPP/global/AliGlobalFBFqa.h [moved from PWG1/global/AliGlobalFBFqa.h with 100% similarity]
PWGPP/macros/AddTaskAlignmentDataFilterITS.C [moved from PWG1/macros/AddTaskAlignmentDataFilterITS.C with 100% similarity]
PWGPP/macros/AddTaskFBFqa.C [moved from PWG1/macros/AddTaskFBFqa.C with 100% similarity]
PWGPP/macros/AddTaskGlobalQA.C [new file with mode: 0644]
PWGPP/macros/AddTaskITSAlign.C [moved from PWG1/macros/AddTaskITSAlign.C with 100% similarity]
PWGPP/macros/AddTaskITSTPCalignment.C [moved from PWG1/macros/AddTaskITSTPCalignment.C with 100% similarity]
PWGPP/macros/AddTaskITSsaTracks.C [moved from PWG1/macros/AddTaskITSsaTracks.C with 100% similarity]
PWGPP/macros/AddTaskImpParRes.C [moved from PWG1/macros/AddTaskImpParRes.C with 100% similarity]
PWGPP/macros/AddTaskIntSpotESD.C [moved from PWG1/macros/AddTaskIntSpotESD.C with 100% similarity]
PWGPP/macros/AddTaskMTRchamberEfficiency.C [moved from PWG1/macros/AddTaskMTRchamberEfficiency.C with 100% similarity]
PWGPP/macros/AddTaskMeanVertexCalib.C [moved from PWG1/macros/AddTaskMeanVertexCalib.C with 100% similarity]
PWGPP/macros/AddTaskPerformanceITS.C [moved from PWG1/macros/AddTaskPerformanceITS.C with 100% similarity]
PWGPP/macros/AddTaskPerformanceTPC.C [new file with mode: 0644]
PWGPP/macros/AddTaskPerformanceTPCPtCalib.C [new file with mode: 0755]
PWGPP/macros/AddTaskTrackMatchingTPCITS.C [moved from PWG1/macros/AddTaskTrackMatchingTPCITS.C with 100% similarity]
PWGPP/macros/AddTaskV0QA.C [new file with mode: 0644]
PWGPP/macros/AddTaskVertexESD.C [moved from PWG1/macros/AddTaskVertexESD.C with 100% similarity]
PWGPP/macros/AddTrainPerformanceTRD.C [new file with mode: 0644]
PWGPP/macros/AliTrackerTest.C [moved from PWG1/macros/AliTrackerTest.C with 100% similarity]
PWGPP/macros/MakeVtxEffPlots.C [moved from PWG1/macros/MakeVtxEffPlots.C with 100% similarity]
PWGPP/macros/PhysSel/DefinePlots.h [moved from PWG1/macros/PhysSel/DefinePlots.h with 100% similarity]
PWGPP/macros/PhysSel/PlotQAPhysicsSelection.C [moved from PWG1/macros/PhysSel/PlotQAPhysicsSelection.C with 100% similarity]
PWGPP/macros/PhysSel/QALHC11c_QA69.h [moved from PWG1/macros/PhysSel/QALHC11c_QA69.h with 100% similarity]
PWGPP/macros/PhysSel/rct.dat [moved from PWG1/macros/PhysSel/rct.dat with 100% similarity]
PWGPP/macros/PhysSel/read.C [moved from PWG1/macros/PhysSel/read.C with 100% similarity]
PWGPP/macros/PlotITSTrackingEff.C [moved from PWG1/macros/PlotITSTrackingEff.C with 100% similarity]
PWGPP/macros/PlotITSTrackingHists.C [moved from PWG1/macros/PlotITSTrackingHists.C with 100% similarity]
PWGPP/macros/PlotITSTrackingRes.C [moved from PWG1/macros/PlotITSTrackingRes.C with 100% similarity]
PWGPP/macros/PlotVertexESD.C [moved from PWG1/macros/PlotVertexESD.C with 100% similarity]
PWGPP/macros/RecoQAtrain.C [new file with mode: 0644]
PWGPP/macros/RunAnalysisITS.C [new file with mode: 0644]
PWGPP/macros/RunIPTask.C [new file with mode: 0644]
PWGPP/macros/RunMakers.C [new file with mode: 0644]
PWGPP/macros/RunPerformanceTrain.C [new file with mode: 0644]
PWGPP/macros/VtxInfoLHC.C [moved from PWG1/macros/VtxInfoLHC.C with 100% similarity]
PWGPP/macros/plotAnalysisTaskITSTPCalignment.C [moved from PWG1/macros/plotAnalysisTaskITSTPCalignment.C with 100% similarity]
PWGPP/macros/plotSparseAL.C [moved from PWG1/macros/plotSparseAL.C with 100% similarity]
PWGPP/macros/plotSparseGamma.C [moved from PWG1/macros/plotSparseGamma.C with 100% similarity]
PWGPP/macros/plotSparseK0.C [moved from PWG1/macros/plotSparseK0.C with 100% similarity]
PWGPP/macros/plotSparseL.C [moved from PWG1/macros/plotSparseL.C with 100% similarity]
PWGPP/macros/rawmerge.C [moved from PWG1/macros/rawmerge.C with 100% similarity]
PWGPP/macros/runAnalysisTaskITSTPCalignment.C [new file with mode: 0644]
PWGPP/macros/runGlobalQA.C [new file with mode: 0644]
PWGPP/macros/runTaskVtXY.C [moved from PWG1/macros/runTaskVtXY.C with 100% similarity]
PWGPP/macros/taskComp.C [new file with mode: 0644]
PWGPP/macros/tpcPIDResol.C [new file with mode: 0644]
PWGPP/macros/tpcQA.C [new file with mode: 0644]
PWGPP/rootlogon.C [moved from PWG1/rootlogon.C with 100% similarity]
PWGPP/runITSTPCalignment.C [moved from PWG1/runITSTPCalignment.C with 100% similarity]
PWGPP/runProofFwdDetsQA.C [new file with mode: 0644]
PWGPP/tender/AliTenderSupplyTRD.cxx [moved from PWG1/tender/AliTenderSupplyTRD.cxx with 100% similarity]
PWGPP/tender/AliTenderSupplyTRD.h [moved from PWG1/tender/AliTenderSupplyTRD.h with 100% similarity]
TOF/macrosQA/MakeTrendingTOFQA.C
TOF/macrosQA/RunTOFqa.C
TPC/AliTPCcalibTracksGain.cxx
TPC/testMC/compGen.C
TPC/testMC/compRec.C
doc/aliroot-primer/primer.tex
macros/mkhtml.C
prod/acrcaf/qa/qa.C
test/vmctest/scripts/efficiency/AliAnalysisTaskEfficiency.cxx

index c2b5752..48b598c 100644 (file)
 # Lines that do not start with #Module are ignored, except those in embedded
   macro blocks
 #Module.Begin        QAsym
-#Module.Libs         PWG1
+#Module.Libs         PWGPP
 #Module.Deps         PhysicsSelection
 #Module.DataTypes    ESD, AOD, MC
-#Module.MacroName    $ALICE_ROOT/PWG1/PilotTrain/AddTaskQAsym.C
+#Module.MacroName    $ALICE_ROOT/PWGPP/PilotTrain/AddTaskQAsym.C
 #Module.MacroArgs    0, AliVEvent::kAnyINT, AliVEvent::kHighMult, AliVEvent::kEMC7, AliVEvent::kMUU7
 #Module.OutputFile   
 #Module.TerminateFile
index ab55efb..0d0b40c 100644 (file)
@@ -102,7 +102,7 @@ void AddAnalysisTasks(UInt_t config)
   // TPC QA (E. Sicking)
   //
   if (config & kCar00) {
-    gROOT->LoadMacro("$ALICE_ROOT/PWG1/PilotTrain/AddTaskQAsym.C");
+    gROOT->LoadMacro("$ALICE_ROOT/PWGPP/PilotTrain/AddTaskQAsym.C");
     AliAnalysisTaskSE * taskqasim = AddTaskQAsym(0);
     taskqasim->SelectCollisionCandidates();
   }  
@@ -110,14 +110,14 @@ void AddAnalysisTasks(UInt_t config)
   // VZERO QA  (C. Cheshkov)
   //
   if (config & kCar01) {
-    gROOT->LoadMacro("$ALICE_ROOT/PWG1/PilotTrain/AddTaskVZEROQA.C");
+    gROOT->LoadMacro("$ALICE_ROOT/PWGPP/PilotTrain/AddTaskVZEROQA.C");
     AliAnalysisTaskSE * taskv0qa = AddTaskVZEROQA(0);
 //  taskv0qa->SelectCollisionCandidates();
   }
   // Vertexing (A. Dainese)
   // 
   if (config & kCar02) {
-    gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTaskVertexESD.C");
+    gROOT->LoadMacro("$ALICE_ROOT/PWGPP/macros/AddTaskVertexESD.C");
     AliAnalysisTaskVertexESD* taskvertexesd =  AddTaskVertexESD();
     taskvertexesd->SelectCollisionCandidates();
   }  
@@ -125,7 +125,7 @@ void AddAnalysisTasks(UInt_t config)
   // SPD (A. Mastroserio)
   //
   if (config & kCar03) {
-    gROOT->LoadMacro("$ALICE_ROOT/PWG1/PilotTrain/AddTaskSPDQA.C");
+    gROOT->LoadMacro("$ALICE_ROOT/PWGPP/PilotTrain/AddTaskSPDQA.C");
     AliAnalysisTaskSE* taskspdqa = AddTaskSPDQA();
     taskspdqa->SelectCollisionCandidates();
   }  
@@ -133,7 +133,7 @@ void AddAnalysisTasks(UInt_t config)
   // SDD (F. Prino)
   //
   if (config & kCar04) {
-    gROOT->LoadMacro("$ALICE_ROOT/PWG1/PilotTrain/AddSDDPoints.C");
+    gROOT->LoadMacro("$ALICE_ROOT/PWGPP/PilotTrain/AddSDDPoints.C");
     AliAnalysisTaskSE* tasksdd = AddSDDPoints();
     tasksdd->SelectCollisionCandidates();
   }
@@ -141,7 +141,7 @@ void AddAnalysisTasks(UInt_t config)
   // SSD dEdx (Marek Chojnacki)
   //
   if (config & kCar05) {
-    gROOT->LoadMacro("$ALICE_ROOT/PWG1/PilotTrain/AddTaskdEdxSSDQA.C");
+    gROOT->LoadMacro("$ALICE_ROOT/PWGPP/PilotTrain/AddTaskdEdxSSDQA.C");
     AliAnalysisTaskSE* taskssddedx = AddTaskdEdxSSDQA();
     taskssddedx->SelectCollisionCandidates();
   }
@@ -149,7 +149,7 @@ void AddAnalysisTasks(UInt_t config)
   // FMD (Hans Hjersing Dalsgaard)
   //
   if (config & kCar06) {
-    gROOT->LoadMacro("$ALICE_ROOT/PWG1/PilotTrain/AddTaskFMD.C");
+    gROOT->LoadMacro("$ALICE_ROOT/PWGPP/PilotTrain/AddTaskFMD.C");
     AliAnalysisTaskSE* taskfmd = AddTaskFMD();
     taskfmd->SelectCollisionCandidates();
   }  
@@ -157,21 +157,21 @@ void AddAnalysisTasks(UInt_t config)
   // ITS
   //
   if (config & kCar07) {
-      gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTaskPerformanceITS.C");
+      gROOT->LoadMacro("$ALICE_ROOT/PWGPP/macros/AddTaskPerformanceITS.C");
       AliAnalysisTaskITSTrackingCheck *itsQA = AddTaskPerformanceITS(kFALSE);
   }
   //
   // TPC (Jacek Otwinowski)
   //
   if (config & kCar08) {
-    gROOT->LoadMacro("$(ALICE_ROOT)/PWG1/TPC/macros/AddTaskPerformanceTPCQA.C");
+    gROOT->LoadMacro("$(ALICE_ROOT)/PWGPP/TPC/macros/AddTaskPerformanceTPCQA.C");
     AliPerformanceTask *tpcQA = AddTaskPerformanceTPCQA(kFALSE, kTRUE);
   }  
   //
   // TRD (Alex Bercuci, M. Fasel) 
   //
   if(config & kCar09) {
-      gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTrainPerformanceTRD.C");
+      gROOT->LoadMacro("$ALICE_ROOT/PWGPP/macros/AddTrainPerformanceTRD.C");
       AddTrainPerformanceTRD("ALL");
   }
 
@@ -190,7 +190,7 @@ void AddAnalysisTasks(UInt_t config)
   //
   
   if(config & kCar11) {
-      gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTaskMTRchamberEfficiency.C");
+      gROOT->LoadMacro("$ALICE_ROOT/PWGPP/macros/AddTaskMTRchamberEfficiency.C");
       AliAnalysisTaskTrigChEff *taskMuonTrig = AddTaskMTRchamberEfficiency();
   }
 
@@ -208,7 +208,7 @@ void AddAnalysisTasks(UInt_t config)
   // 
 
   if (doV0) {
-      gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTaskV0QA.C");
+      gROOT->LoadMacro("$ALICE_ROOT/PWGPP/macros/AddTaskV0QA.C");
       AliAnalysisTaskV0QA *taskv0QA = AddTaskV0QA(kFALSE);
   }
 */
@@ -246,7 +246,7 @@ void LoadLibraries()
   gSystem->Load("libPWG0base.so");
   gSystem->Load("libPWG0dep.so");
   gSystem->Load("libPWG0selectors.so");
-  gSystem->Load("libPWG1.so");
+  gSystem->Load("libPWGPP.so");
   gSystem->Load("libPWG2.so");
   gSystem->Load("libPWG2forward.so");
   gSystem->Load("libEMCALUtils");
index 3b0c462..2d3e8a2 100644 (file)
@@ -126,7 +126,7 @@ set(BINLIBDIRS "-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
 
 # Standard Modules
 # ------------------------------
-set(ALIROOTMODULES STEER PHOS TRD TPC ZDC MUON PMD FMD TOF ITS ACORDE HMPID T0 BCM STRUCT VZERO THijing THbtp EMCAL THerwig TEPEMGEN FASTSIM TPHIC RAW MONITOR ANALYSIS JETAN HLT STAT TTherminator CORRFW DPMJET TDPMjet PWG0 PWG1 PWG2 PWG3 PWG4 TRIGGER PYTHIA8 TAmpt OADB MFT)
+set(ALIROOTMODULES STEER PHOS TRD TPC ZDC MUON PMD FMD TOF ITS ACORDE HMPID T0 BCM STRUCT VZERO THijing THbtp EMCAL THerwig TEPEMGEN FASTSIM TPHIC RAW MONITOR ANALYSIS JETAN HLT STAT TTherminator CORRFW DPMJET TDPMjet PWG0 PWGPP PWG2 PWG3 PWG4 TRIGGER PYTHIA8 TAmpt OADB MFT)
 
 if(THydjet)
   list(APPEND ALIROOTMODULES THydjet)
index 8983ba3..eb8bbb6 100644 (file)
@@ -12,7 +12,7 @@ set(CTEST_PROJECT_SUBPROJECTS STEER PHOS TRD TPC ZDC MUON PMD FMD TOF ITS
       THijing THbtp EMCAL 
       THerwig TEPEMGEN FASTSIM TPHIC RAW MONITOR ANALYSIS 
       JETAN HLT LHC ESDCheck STAT TTherminator CORRFW DPMJET TDPMjet 
-      PWG0 PWG1 PWG2 PWG3 PWG4 TRIGGER
+      PWG0 PWGPP PWG2 PWG3 PWG4 TRIGGER
       TUHKMgen EPOS PYTHIA8 EVE TFluka
       THydjet SHUTTLE PYTHIA6
       LHAPDF HIJING MICROCERN HERWIG
index 44070f0..80fa771 100644 (file)
@@ -77,8 +77,8 @@
 #include <EveDet/AliEveTRDTrackList.h>
 #include <EveDet/AliEveTRDTrackListEditor.h>
 
-#include <../PWG1/TRD/AliTRDrecoTask.h>
-#include <../PWG1/TRD/AliTRDpwg1Helper.h>
+#include <../PWGPP/TRD/AliTRDrecoTask.h>
+#include <../PWGPP/TRD/AliTRDpwgppHelper.h>
 
 ClassImp(AliEveTRDTrackList)
 
@@ -271,7 +271,7 @@ void AliEveTRDTrackList::AddStandardContent()
   // use the return value of AddMacro (NOT_EXIST_ERROR is returned, if file does not exist)
   // (-> You can also check for other return values (see AddMacro(...)))
 
-  const Char_t *libs[] = {"libANALYSIS.so", "libANALYSISalice.so", "libCORRFW", "libTENDER.so", "libPWG1.so"};
+  const Char_t *libs[] = {"libANALYSIS.so", "libANALYSISalice.so", "libCORRFW", "libTENDER.so", "libPWGPP.so"};
   Int_t nlibs = static_cast<Int_t>(sizeof(libs)/sizeof(Char_t *));
   for(Int_t ilib=0; ilib<nlibs; ilib++){
     if(gSystem->Load(libs[ilib]) >= 0) continue;
index b779675..cd0ab09 100644 (file)
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // Macro to setup AliPerformanceTask for either 
-// HLT or offline TPC performance QA to run on PWG1 QA train. 
+// HLT or offline TPC performance QA to run on PWGPP QA train. 
 //
 // Input: ESDs, ESDfriends (optional), Kinematics (optional), TrackRefs (optional)
 // ESD and MC input handlers must be attached to AliAnalysisManager
@@ -22,7 +22,7 @@
 // gSystem->Load("libANALYSISalice");
 // gSystem->Load("libTPCcalib.so");
 // gSystem->Load("libTENDER.so");
-// gSystem->Load("libPWG1.so");
+// gSystem->Load("libPWGPP.so");
 //
 // gROOT->LoadMacro("$ALICE_ROOT/HLT/QA/tasks/macros/AddTaskPerformanceTPC.C");
 // AliPerformanceTask *tpcQA = AddTaskPerformanceTPC("kTRUE","kTRUE", "kTRUE"ΒΈ"triggerClass"); 
index dc7c63d..1d192ed 100644 (file)
@@ -63,7 +63,7 @@ void compare_HLT_offline_local( TString file
   gSystem->Load("libANALYSISalice.so");
   gSystem->Load("libHLTbase.so");
  
-  gSystem->AddIncludePath("-I$ALICE_ROOT/HLT/BASE -I$ALICE_ROOT/PWG1/TPC -I. -I$ALICE_ROOT/STEER -I$ALICE_ROOT/ANALYSIS");
+  gSystem->AddIncludePath("-I$ALICE_ROOT/HLT/BASE -I$ALICE_ROOT/PWGPP/TPC -I. -I$ALICE_ROOT/STEER -I$ALICE_ROOT/ANALYSIS");
   
   gSystem->Load("libTPCcalib.so");
   gSystem->Load("libTRDbase.so");
@@ -71,12 +71,12 @@ void compare_HLT_offline_local( TString file
   gSystem->Load("libITSbase.so");
   gSystem->Load("libITSrec.so");
   gSystem->Load("libTENDER.so");
-  gSystem->Load("libPWG1.so");
+  gSystem->Load("libPWGPP.so");
  
   gROOT->ProcessLine(".include $ALICE_ROOT/include");
   //gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
     
-  Bool_t bPHOS = kFALSE, bGLOBAL = kFALSE, bEMCAL = kFALSE, bPWG1 = kFALSE, bD0 = kFALSE, bCB = kFALSE;
+  Bool_t bPHOS = kFALSE, bGLOBAL = kFALSE, bEMCAL = kFALSE, bPWGPP = kFALSE, bD0 = kFALSE, bCB = kFALSE;
  
   TString allArgs = detectorTask;
   TString argument;
@@ -99,8 +99,8 @@ void compare_HLT_offline_local( TString file
        bGLOBAL = kTRUE;
        continue;
       }      
-      if(argument.CompareTo("pwg1", TString::kIgnoreCase)==0){
-       bPWG1 = kTRUE;
+      if(argument.CompareTo("pwgpp", TString::kIgnoreCase)==0){
+       bPWGPP = kTRUE;
        continue;
       }
       if(argument.CompareTo("D0", TString::kIgnoreCase)==0){
@@ -156,7 +156,7 @@ void compare_HLT_offline_local( TString file
     cout << "\n========= You are loading the following task --> "<< (taskFolder+strTask).Chop()  << endl;
   }
   
-  if(bPWG1) gROOT->LoadMacro("$ALICE_ROOT/HLT/QA/tasks/macros/AddTaskPerformance.C");
+  if(bPWGPP) gROOT->LoadMacro("$ALICE_ROOT/HLT/QA/tasks/macros/AddTaskPerformance.C");
    
   if(file.BeginsWith("alien://")) TGrid::Connect("alien://");
     
@@ -201,8 +201,8 @@ void compare_HLT_offline_local( TString file
   AliAnalysisManager *mgr  = new AliAnalysisManager("TestManager");
   AliESDInputHandler *esdH = new AliESDInputHandler;
 
-  //For the PWG1 task, setting HLT is handled inside AliPerformanceTask.C
-  if(!bPWG1)  esdH->SetReadHLT();
+  //For the PWGPP task, setting HLT is handled inside AliPerformanceTask.C
+  if(!bPWGPP)  esdH->SetReadHLT();
   esdH->SetReadFriends(kFALSE);
   mgr->SetInputEventHandler(esdH);  
   mgr->SetNSysInfo(1000);
@@ -257,7 +257,7 @@ void compare_HLT_offline_local( TString file
     mgr->ConnectOutput(taskGLOBAL,1,coutputGLOBAL);
   }
 
-  if(bPWG1){
+  if(bPWGPP){
     Bool_t hasMC=kFALSE;  
     // -- Add Task for HLT and Offline
     AliPerformanceTask *HLTtpcQA = AddTaskPerformance(hasMC,kFALSE,kTRUE);
index 73dc88f..709d1c1 100644 (file)
@@ -1,8 +1,8 @@
 // $Id$
 /*
  * Plotting macro for comparing offline- and HLT- ESD trees from  
- * HLT-OFFLINE-GLOBAL-comparison.root produced using pwg1-task:
- * compare-HLT-offline-local.C'("./AliESDs.root","pwg1")' 
+ * HLT-OFFLINE-GLOBAL-comparison.root produced using pwgpp-task:
+ * compare-HLT-offline-local.C'("./AliESDs.root","pwgpp")' 
  * 
  * It allows you to choose from a detailed list of cuts or a combination of cuts.
  * 
@@ -21,7 +21,7 @@
  *
  *
  * Usage:
- * Running requires that you have the .root-files produced from the pwg1-task 
+ * Running requires that you have the .root-files produced from the pwgpp-task 
  * in your local folder. 
  *
  * Run options:
@@ -331,7 +331,7 @@ drawPerformanceTPCQAofflineHLT(const Char_t* folder = "../..") {
   gSystem->Load("libANALYSISalice");
   gSystem->Load("libTENDER");
   gSystem->Load("libCORRFW");
-  gSystem->Load("libPWG1");
+  gSystem->Load("libPWGPP");
 
   gROOT->Reset();
   gROOT->SetStyle("Plain");
index e4e1324..a7c688f 100644 (file)
@@ -704,7 +704,7 @@ class AliITSRecoParam : public AliDetectorRecoParam
   Float_t fVertexerFastSmearY;  // gaussian sigma for y MC vertex smearing
   Float_t fVertexerFastSmearZ;  // gaussian sigma for z MC vertex smearing
 
-  // PWG1/AliAlignmentDataFilterITS configuration
+  // PWGPP/AliAlignmentDataFilterITS configuration
   Bool_t  fAlignFilterCosmics;            // flag for cosmics case
   Bool_t  fAlignFilterCosmicMergeTracks;  // merge cosmic tracks
   Int_t   fAlignFilterMinITSPoints;       // min points per track
index 8b341f4..1421fcd 100644 (file)
@@ -102,9 +102,9 @@ void GetGainModuleLevel(TString filename,Bool_t normal=1,Int_t ntofit=500, Bool_
        TList *listin=0x0;\r
        listin=(TList*)file_data->Get("output");\r
        if(!listin)\r
-               listin=(TList*)file_data->Get("PWG1dEdxSSDQA/output");\r
+               listin=(TList*)file_data->Get("PWGPPdEdxSSDQA/output");\r
        if(!listin)     \r
-               listin=(TList*)file_data->Get("PWG1dEdxSSDQA/SSDdEdxQA");\r
+               listin=(TList*)file_data->Get("PWGPPdEdxSSDQA/SSDdEdxQA");\r
        if(!listin)     \r
                listin=(TList*)file_data->Get("SSDdEdxQA");\r
        if(!listin)     \r
diff --git a/ITS/PlotSPDpwg1QA.C b/ITS/PlotSPDpwg1QA.C
deleted file mode 100644 (file)
index 9298127..0000000
+++ /dev/null
@@ -1,621 +0,0 @@
-#if !defined(__CINT__) || defined(__MAKECINT__)
-#include <TFile.h>
-#include <TSystem.h>
-#include <Riostream.h>
-#include <TFile.h>
-#include <TH1F.h>
-#include <TH2D.h>
-#include <TH2F.h>
-#include <TF1.h>
-#include <TStyle.h>
-#include <TCanvas.h>
-#include <TMath.h>
-#include <TROOT.h>
-#include <TLine.h>
-#include <TString.h>
-#include <TPaveText.h>
-#endif
-
-void ratiomodules();
-void ratiochips();
-void mapsinner(Bool_t isShowMaps=kFALSE);
-void phiTracklet();
-void phiTrackletsZ();
-void foEfficiency(); 
-
-
-TFile *fData=0x0;
-TFile *fMc=0x0;
-
-TList *fListData = 0x0;
-TList  *fListMc  = 0x0;
-
-TString fTitleData = "";
-TString fTitleMc = "";
-
-
-void PlotSPDpwg1QA(TString data, TString mc, TString titleData = "[Data]", TString titleMc = "[MC]", Bool_t isGeneralTrain = kFALSE){
-
-  fTitleData=titleData;
-  fTitleMc=titleMc;
-
-  gROOT->SetStyle("Plain");
-  gStyle->SetPalette(1);
-  gStyle->SetOptStat(0);
-  gStyle->SetOptFit(111);
-
- fData = TFile::Open(data.Data());
-  if(!isGeneralTrain) fListData = (TList*)fData->Get("chist");
-  else {
-    TDirectoryFile *spddata = (TDirectoryFile*)fData->Get("SPD_Performance");
-    spddata->cd();
-    fListData = (TList*)spddata->Get("coutput1");
-  }
-
-  Double_t nevtsData = ((TH1I*)(fListData->FindObject("hEventsProcessed")))->GetEntries();
-  printf("   #events in %s : %f \n",fTitleData.Data(),nevtsData);
-
-  fMc = TFile::Open(mc.Data());
-  if(!isGeneralTrain) fListMc = (TList*)fMc->Get("chist");
-  else {
-    TDirectoryFile *spdmc = (TDirectoryFile*)fMc->Get("SPD_Performance");
-    spdmc->cd();
-    fListMc = (TList*)spdmc->Get("coutput1");
-  }
-  Double_t nevtsMc = ((TH1I*)(fListMc->FindObject("hEventsProcessed")))->GetEntries();
-  // phi projection
-
-  printf("   #events in %s : %f \n",fTitleMc.Data(),nevtsMc);
-  printf("Available functions : \n - ratiomodules() \n - ratiochips() \n - mapsinner(isShowMaps) \n - phiTracklet() \n - phiTrackletsZ() \n - foEfficiency() \n");
-  phiTracklet();
-}
-
-void ratiomodules(){
-
-  TH1F *data_module = ((TH1F*)fListData->FindObject("hClusterModYield"));
-  data_module->Sumw2();
-
-  TH1F *mc_module = ((TH1F*)fListMc->FindObject("hClusterModYield"));
-  mc_module->Sumw2();
-
-  TCanvas *c1 = new TCanvas("c1","c1",1200,600);
-  c1->Divide(2,1);
-  c1->cd(1);
-  data_module->SetTitle(Form("cluster yield in %s",fTitleData.Data()));
-  data_module->DrawCopy();
-  c1->cd(2);
-  mc_module->SetTitle(Form("cluster yield in %s",fTitleMc.Data()));
-  mc_module->DrawCopy();
-
-
-  TH1D *ratiomodule  = new TH1D("ratiomod",Form("Module cluster ratio %s / %s  - scaling : Integral",fTitleData.Data(),fTitleMc.Data()),mc_module->GetNbinsX(),mc_module->GetXaxis()->GetXmin(),mc_module->GetXaxis()->GetXmax());
-  ratiomodule->GetXaxis()->SetTitle("module number");
-  printf("data_module %f     -  mc_module %f    \n",data_module->GetEntries(),mc_module->GetEntries());
-  ratiomodule->Divide(data_module,mc_module,mc_module->Integral(),data_module->Integral(),"e");
-
-  TCanvas *ratiofit = new TCanvas("ratiofit","ratiofit",1200,600);
-  ratiofit->cd();
-  TF1 *f1inner = new TF1("f1inner", "pol0", 0, 79);
-  f1inner->SetLineColor(kBlue);
-  TF1 *f1outer = new TF1("f1outer", "pol0", 80, 223);
-  f1outer->SetLineColor(kGreen);
-  
-  printf("------------- Fitting standard normalized ratio  ----------------\n");
-  ratiomodule->Fit("f1inner", "R+"); 
-  ratiomodule->Fit("f1outer", "R+");
-  ratiomodule->GetListOfFunctions()->Print();
-   
-  f1inner->Draw("same");
-  f1outer->Draw("same");
-  
-  TPaveText *parsFitEntries = new TPaveText(0.3,0.23,0.6,0.55,"NDC"); 
-  parsFitEntries->AddText("Inner ");
-  parsFitEntries->AddText(Form("#chi2 / ndf    %4.3f / %2.1i",f1inner->GetChisquare(),f1inner->GetNDF()));
-  parsFitEntries->AddText(Form("Fit :    %4.4f +- %4.4f",f1inner->GetParameter(0),f1inner->GetParError(0)));
-  parsFitEntries->AddText("");
-  parsFitEntries->AddText("Outer ");
-  parsFitEntries->AddText(Form("#chi2 / ndf    %4.3f / %3.1i",f1outer->GetChisquare(),f1outer->GetNDF()));
-  parsFitEntries->AddText(Form("Fit :    %4.4f +- %4.4f",f1outer->GetParameter(0),f1outer->GetParError(0)));
-  ratiomodule->GetListOfFunctions()->Add(parsFitEntries);
-
-
-
-
-  TCanvas *ratiofitEvents = new TCanvas("ratiofitEvents","ratiofitEvents",1200,600);
-
-  ratiofitEvents->cd();
-  TH1D *ratiomoduleEvents  = new TH1D("ratiomodEvents",Form("Module cluster ratio %s / %s  - scaling : # events",fTitleData.Data(),fTitleMc.Data()),mc_module->GetNbinsX(),mc_module->GetXaxis()->GetXmin(),mc_module->GetXaxis()->GetXmax());
-  ratiomoduleEvents->GetXaxis()->SetTitle("module number");
-  Double_t nEvData = ((TH1I*)(fListData->FindObject("hEventsProcessed")))->GetEntries();
-  Double_t nEvMc= ((TH1I*)(fListMc->FindObject("hEventsProcessed")))->GetEntries();
-  ratiomoduleEvents->Divide(data_module,mc_module,nEvMc,nEvData,"e");
-  ratiomoduleEvents->Draw();
-
-  TF1 *fInner = new TF1("fInner", "pol0", 0, 79);
-  fInner->SetLineColor(kBlue);
-  TF1 *fOuter = new TF1("fOuter", "pol0", 80, 223);
-  fOuter->SetLineColor(kGreen);
-  printf("------------- Fitting #evts normalized ratio  ----------------\n");
-  ratiomoduleEvents->Fit("fInner", "R");
-  ratiomoduleEvents->Fit("fOuter", "R+");
-  fInner->Draw("same");
-  fOuter->Draw("same");
-  
-  
-  
-  TPaveText *parsFitEvents = new TPaveText(0.3,0.23,0.6,0.55,"NDC"); 
-  parsFitEvents->AddText("Inner ");
-  parsFitEvents->AddText(Form("#chi2 / ndf    %4.3f / %2.1i",fInner->GetChisquare(),fInner->GetNDF()));
-  parsFitEvents->AddText(Form("Fit :    %4.4f +- %4.4f",fInner->GetParameter(0),fInner->GetParError(0)));
-  parsFitEvents->AddText("");
-  parsFitEvents->AddText("Outer ");
-  parsFitEvents->AddText(Form("#chi2 / ndf    %4.3f / %3.1i",fOuter->GetChisquare(),fOuter->GetNDF()));
-  parsFitEvents->AddText(Form("Fit :    %4.4f +- %4.4f",fOuter->GetParameter(0),fOuter->GetParError(0)));
-  ratiomoduleEvents->GetListOfFunctions()->Add(parsFitEvents);
-  
-
-}
-void mapsinner(Bool_t isShowMaps){
-  TH2D *data_mapL1 = (TH2D*)fListData->FindObject("hLocalMapL1");
-  // ------------ phi projection ---------------------
-  TH1D *data_projyL1 = data_mapL1->ProjectionY();
-
-  TString titleDataL1  = data_projyL1->GetTitle();
-  titleDataL1+=fTitleData.Data();
-  data_projyL1->SetTitle(titleDataL1.Data());
-  //data_projyL1->Rebin(10);
-  data_projyL1->SetYTitle(Form("entries / %1.2f cm",data_projyL1->GetBinWidth(0)));
-
-  TH2D *data_mapL2 = (TH2D*)fListData->FindObject("hLocalMapL2");
-  TH1D *data_projyL2 = data_mapL2->ProjectionY();
-  TString titleDataL2  = data_projyL2->GetTitle();
-  titleDataL2+=fTitleData.Data();
-  data_projyL2->SetTitle(titleDataL2.Data());
-  //data_projyL2 ->Rebin(10);
-  data_projyL2->SetYTitle(Form("entries / %1.2f cm",data_projyL2->GetBinWidth(0)));
-
-  // ------- z projection Data -----------
-  TH1D *data_projyL1z = data_mapL1->ProjectionX();
-  TString titleDataL1z  = data_projyL1z->GetTitle();
-  titleDataL1z+=fTitleData.Data();
-  data_projyL1z->SetTitle(titleDataL1z.Data());
-  //data_projyL1z->Rebin(10);
-  data_projyL1z->SetYTitle(Form("entries / %1.2f cm",data_projyL1z->GetBinWidth(0)));
-  TH1D *data_projyL2z = data_mapL2->ProjectionX();
-  TString titleDataL2z  = data_projyL2z->GetTitle();
-  titleDataL2z+=fTitleData.Data();
-  data_projyL2z->SetTitle(titleDataL2.Data());
-  //data_projyL2z ->Rebin(10);
-  data_projyL2z->SetYTitle(Form("entries / %1.2f cm",data_projyL2z->GetBinWidth(0)));
-
-  // ------------ phi projection MC ---------------------
-  TH2D *mc_mapL1 = (TH2D*)fListMc->FindObject("hLocalMapL1");
-  TH1D *mc_projyL1 = mc_mapL1->ProjectionY();
-  TString titleMCL1  = mc_projyL1->GetTitle();
-  titleMCL1+=fTitleMc.Data();
-  mc_projyL1->SetTitle(titleMCL1.Data());
-  //mc_projyL1->Rebin(10);
-  mc_projyL1->SetYTitle(Form("entries / %1.2f cm",mc_projyL1->GetBinWidth(0)));
-
-  TH2D *mc_mapL2 = (TH2D*)fListMc->FindObject("hLocalMapL2");
-  TH1D *mc_projyL2 = mc_mapL2->ProjectionY();
-  TString titleMCL2  = mc_projyL2->GetTitle();
-  titleMCL2+=fTitleMc.Data();
-  mc_projyL2->SetTitle(titleMCL2.Data());
-  //mc_projyL2->Rebin(10);
-  mc_projyL2->SetYTitle(Form("entries / %1.2f cm",mc_projyL2->GetBinWidth(0)));
-
-  // ------- z projection MC -----------
-
-  TH1D *mc_projyL1z = mc_mapL1->ProjectionX();
-  TString titleMCL1z  = mc_projyL1z->GetTitle();
-  titleMCL1z+=fTitleMc.Data();
-  mc_projyL1z->SetTitle(titleMCL1z.Data());
-  //mc_projyL1z->Rebin(10);
-  mc_projyL1z->SetYTitle(Form("entries / %1.2f cm",mc_projyL1z->GetBinWidth(0)));
-
-  TH1D *mc_projyL2z = mc_mapL2->ProjectionX();
-  TString titleMCL2z  = mc_projyL2z->GetTitle();
-  titleMCL2z+="  [ MC ]";
-  mc_projyL2z->SetTitle(titleMCL2z.Data());
-  //mc_projyL2z->Rebin(10);
-  mc_projyL2z->SetYTitle(Form("entries / %1.2f cm",mc_projyL2z->GetBinWidth(0)));
-
-  if(isShowMaps) {
-
-
-    TCanvas *cmapData = new TCanvas("cmapData","cmapData",1200,600);
-    cmapData->Divide(2,1);
-    cmapData->cd(1);
-    TString titledata1 = data_mapL1->GetTitle();
-    titledata1+=fTitleData.Data();
-    data_mapL1->SetTitle(titledata1.Data());
-    data_mapL1->Draw("colz");
-    cmapData->cd(2);
-    TString titledata2 = data_mapL2->GetTitle();
-    titledata2+=fTitleData.Data();
-    data_mapL2->SetTitle(titledata2.Data());
-    data_mapL2->Draw("colz");
-
-    TCanvas *cmapMc = new TCanvas("cmapMc","cmapMc",1200,600);
-    cmapMc->Divide(2,1);
-
-    cmapMc->cd(1);
-    TString titlemc1 = mc_mapL1->GetTitle();
-    titlemc1+=fTitleMc.Data();
-    mc_mapL1->SetTitle(titlemc1.Data());
-    mc_mapL1->Draw("colz");
-    cmapMc->cd(2);
-    TString titlemc2 = mc_mapL2->GetTitle();
-    titlemc2+=fTitleMc.Data();
-    mc_mapL2->SetTitle(titlemc2.Data());
-    mc_mapL2->Draw("colz");
-  }
-  // booking ratios 
-  // projection phi
-
-  TH1D *ratioL1 = new TH1D("ratioL1","Data / MC - Layer 1",mc_projyL1->GetNbinsX(),mc_projyL1->GetXaxis()->GetXmin(),mc_projyL1->GetXaxis()->GetXmax());
-  ratioL1->SetXTitle("(NOT GLOBAL)       direction #varphi [cm]");
-  TH1D *ratioL2 = new TH1D("ratioL2","Data / MC - Layer 2",mc_projyL2->GetNbinsX(),mc_projyL2->GetXaxis()->GetXmin(),mc_projyL2->GetXaxis()->GetXmax());
-  ratioL2->SetXTitle("(NOT GLOBAL)       direction #varphi [cm]");
-  // projection z 
-  TH1D *ratioL1z = new TH1D("ratioL1z","Data / MC - Layer 1",mc_projyL1z->GetNbinsX(),mc_projyL1z->GetXaxis()->GetXmin(),mc_projyL1z->GetXaxis()->GetXmax());
-  ratioL1z->SetXTitle("(NOT GLOBAL)       direction z [cm]");
-  TH1D *ratioL2z = new TH1D("ratioL2z","Data / MC - Layer 2",mc_projyL2z->GetNbinsX(),mc_projyL2z->GetXaxis()->GetXmin(),mc_projyL2z->GetXaxis()->GetXmax());
-  ratioL2->SetXTitle("(NOT GLOBAL)       direction z [cm]");
-
-  // making the ratios
-  ratioL1->Divide(data_projyL1,mc_projyL1,mc_projyL1->GetEntries(),data_projyL1->GetEntries(),"e");
-  ratioL2->Divide(data_projyL2,mc_projyL2,mc_projyL2->GetEntries(),data_projyL2->GetEntries(),"e");
-
-  ratioL1z->Divide(data_projyL1z,mc_projyL1z,mc_projyL1z->GetEntries(),data_projyL1z->GetEntries(),"e");
-  ratioL2z->Divide(data_projyL2z,mc_projyL2z,mc_projyL2z->GetEntries(),data_projyL2z->GetEntries(),"e");
-
-  TCanvas *c = new TCanvas("cRatioPhi","cRatioPhi",1200,600);
-  c->Divide(2,1);
-  c->cd(1);
-  ratioL1->SetYTitle(Form("ratio / %2.2f cm",ratioL1->GetBinWidth(0)));
-  ratioL1->Draw();
-  c->cd(2);
-  ratioL2->SetYTitle(Form("ratio / %2.2f cm",ratioL2->GetBinWidth(0)));
-  ratioL2->Draw();
-
-  //TLine *l1z = new TLine(-16.5,1,16.5,1);
-  //TLine *l2z = new TLine(-16.5,1,16.5,1);
-  TCanvas *cz = new TCanvas("cRatioZ","cRatioZ",1200,600);
-  cz->Divide(2,1);
-  cz->cd(1);
-  ratioL1z->SetYTitle(Form("ratio / %2.2f cm",ratioL1z->GetBinWidth(0)));
-  ratioL1z->Draw();
-  cz->cd(2);
-  ratioL2z->SetYTitle(Form("ratio / %2.2f cm",ratioL2z->GetBinWidth(0)));
-  ratioL2z->Draw();
-
-}
-void phiTracklet(){
-
-  TCanvas *rawDist = new TCanvas("rawDist"," raw distributions ",1200,800);
-  rawDist->Divide(2,2);
-
-  TH2F *trackData = (TH2F*)fListData->FindObject("hSPDphivsSPDeta");
-  trackData->SetTitle(Form("%s %s",trackData->GetTitle(),fTitleData.Data()));
-  TH1D *trackDataPhi = trackData->ProjectionY();
-  if(!trackDataPhi) printf("NO 1 \n");
-  //trackDataPhi->SetTitle(Form("%s %s",trackDataPhi->GetTitle(),fTitleData.Data()));
-  rawDist->cd(1);
-  trackDataPhi->SetLineColor(kRed);
-  trackDataPhi->DrawCopy();
-  TH1D *trackDataEta = trackData->ProjectionX();
-  if(!trackDataEta) printf("NO 2 \n");
-  //trackDataEta->SetTitle(Form("%s %s",trackDataEta->GetTitle(),fTitleData.Data()));
-  rawDist->cd(2);
-  trackDataEta->SetLineColor(kRed);
-  trackDataEta->DrawCopy();
-
-  TH1F etaData, phiData;
-  trackDataEta->Copy(etaData);
-  trackDataPhi->Copy(phiData);
-
-  TH1F etaFrac, phiFrac, mcEta, mcPhi;
-  trackDataEta->Copy(etaFrac);
-  trackDataPhi->Copy(phiFrac);
-
-  TH2F *trackMc = (TH2F*)fListMc->FindObject("hSPDphivsSPDeta");
-  trackMc->SetTitle(Form("%s %s",trackMc->GetTitle(),fTitleMc.Data()));
-
-  TCanvas *tracklets = new TCanvas("tracklets","tracklets",1200,600);
-  tracklets->Divide(2,1);
-  tracklets->cd(1);
-  tracklets->cd(1)->SetRightMargin(0.15);
-  //trackData->SetTitle(Form("%s %s",trackData->GetTitle(),fTitleData.Data()));
-  trackData->DrawCopy("colz");
-  tracklets->cd(2);
-  tracklets->cd(2)->SetRightMargin(0.15);
-  //trackMc->SetTitle(Form("%s %s",trackMc->GetTitle(),fTitleMc.Data()));
-  TH1D *h = (TH1D*)trackMc->DrawCopy("colz");
-  fTitleData.ReplaceAll(" ","");
-  fTitleMc.ReplaceAll(" ","");
-  tracklets->SaveAs(Form("trackletsPhiEtaMaps_%s_%s.png",fTitleData.Data(),fTitleMc.Data()));
-
-  TH1D *trackMcPhi = trackMc->ProjectionY();
-  trackMcPhi->SetTitle(Form("%s",h->GetTitle()));
-  rawDist->cd(3);
-  trackMcPhi->DrawCopy();
-  TH1D *trackMcEta = trackMc->ProjectionX();
-  trackMcEta->SetTitle(Form("%s",h->GetTitle()));
-  rawDist->cd(4);
-  trackMcEta->DrawCopy();
-
-  rawDist->SaveAs(Form("trackletsPhiEtaRaw_%s_%s.png",fTitleData.Data(),fTitleMc.Data()));
-
-  TH1F etaMc, phiMc;
-  trackMcEta->Copy(etaMc);
-  trackMcPhi->Copy(phiMc);
-
-  trackMcEta->Copy(mcEta);
-  trackMcPhi->Copy(mcPhi);
-
-  etaFrac.Scale(1./etaFrac.GetEntries());
-  mcEta.Scale(1./mcEta.GetEntries());
-  etaFrac.Add(&mcEta,-1);
-  etaFrac.Divide(&mcEta);
-
-  phiFrac.Scale(1./phiFrac.GetEntries());
-  mcPhi.Scale(1./mcPhi.GetEntries());
-  phiFrac.Add(&mcPhi,-1);
-  phiFrac.Divide(&mcPhi);
-
-
-  TCanvas *track = new TCanvas("track","track",1200,600);
-  track->Divide(2,1);
-  track->cd(1);
-  phiData.SetLineColor(kRed);
-  phiData.SetLineWidth(2);
-  phiData.Scale(1./phiData.GetEntries());
-  phiData.DrawCopy();
-  phiMc.Scale(1./phiMc.GetEntries());
-  phiMc.DrawCopy("same");
-  track->cd(2);
-  etaData.SetLineColor(kRed);
-  etaData.SetLineWidth(2);
-  etaData.Scale(1./etaData.GetEntries());
-  etaData.DrawCopy();
-  etaMc.Scale(1./etaMc.GetEntries());
-  etaMc.DrawCopy("same");
-  track->SaveAs(Form("trackletsPhiEtaNorm_%s_%s.png",fTitleData.Data(),fTitleMc.Data()));
-
-  TCanvas *frac = new TCanvas("frac","fractions",1200,600);
-  frac->Divide(2,1);
-  frac->cd(1);
-  etaFrac.SetTitle(Form(" #Delta#eta/#eta_{%s}   %s - %s ",fTitleMc.Data(),fTitleData.Data(),fTitleMc.Data()));
-  etaFrac.SetLineColor(1);
-  etaFrac.DrawCopy();
-  frac->cd(2);
-  phiFrac.SetTitle(Form(" #Delta#varphi/#varphi_{%s}   %s - %s ",fTitleMc.Data(),fTitleData.Data(),fTitleMc.Data()));
-  phiFrac.SetLineColor(1);
-  phiFrac.DrawCopy();
-
-  frac->SaveAs(Form("relativeRatios_%s_%s.png",fTitleData.Data(),fTitleMc.Data()));
-
-}
-
-void foEfficiency(){
-  TH2F *firedFoData = (TH2F*)fListData->FindObject("hFOgoodPerBCmod4");
-  TH2F *firedChipsData = (TH2F*)fListData->FindObject("hFiredChipsPerBCmod4");
-  TH2F mapBCmod;
-  firedFoData->Copy(mapBCmod); 
-  mapBCmod.Divide(firedChipsData);
-  mapBCmod.SetTitle(Form("FO eff per BCmod4 in %s ",fTitleData.Data()));
-  mapBCmod.GetYaxis()->SetNdivisions(4,kFALSE);
-  TCanvas *c = new TCanvas("mapFo"," FO eff map",800,800);
-  c->cd();
-  c->cd()->SetGridy();
-  mapBCmod.DrawCopy("colz");
-
-  TH1F bcmod[4];
-
-  TH1F *hbc = new TH1F("bc","bc",firedFoData->GetNbinsX(),(firedFoData->GetXaxis())->GetXmin(),(firedFoData->GetXaxis())->GetXmax());
-
-  for(Int_t bc=0; bc<4; bc++){
-    hbc->Clear();
-    hbc->Reset();
-    for(Int_t iBin=0; iBin<firedFoData->GetNbinsX(); iBin++){
-      hbc->SetBinContent(iBin+1,mapBCmod.GetBinContent(iBin+1,bc+1)); 
-    }
-    hbc->Copy(bcmod[bc]);
-    bcmod[bc].SetLineColor(bc+1); 
-  }
-
-
-  TH1F *h[4];
-  TCanvas *bceff = new TCanvas("bceff");
-  bceff->Divide(2,2);
-  for(Int_t iPad=0; iPad<4; iPad++){
-   TVirtualPad *pad = bceff->cd(iPad+1);
-    if(iPad<2){
-      pad->Divide(2,1);
-      Int_t idx = -1;
-      if(iPad==0) idx=0;
-      if(iPad==1) idx=2;  
-      pad->cd(1); bcmod[idx].DrawCopy();
-      pad->cd(2); bcmod[idx+1].DrawCopy();
-    }
-
-    if(iPad==2){
-      h[0]= (TH1F*)(bcmod[0].DrawCopy());
-      for(Int_t bb=1; bb<4; bb++){
-       h[bb] = (TH1F*)(bcmod[bb].DrawCopy("same"));
-      }
-    }
-
-    TH1F *hdiff[3];
-
-    if(iPad==3){
-      hdiff[0]=(TH1F*)(h[1]->Clone());   
-      hdiff[0]->Add(h[0],-1);
-      hdiff[0]->DrawCopy();
-      hdiff[1]=(TH1F*)(h[2]->Clone());   
-      hdiff[1]->Add(h[0],-1);
-      hdiff[1]->DrawCopy("same");
-      hdiff[2]=(TH1F*)(h[3]->Clone());   
-      hdiff[2]->Add(h[0],-1);
-      hdiff[2]->DrawCopy("same");
-    }
-  }
-}
-
-void phiTrackletsZ(){
-
-  TH1F* phiZposData = (TH1F*)fListData->FindObject("hSPDphiZpos");
-  phiZposData->SetLineColor(kRed);
-  phiZposData->SetLineWidth(2);
-  TH1F* phiZnegData = (TH1F*)fListData->FindObject("hSPDphiZneg");
-  phiZnegData->SetLineColor(kRed);
-  phiZnegData->SetLineWidth(2);
-  TCanvas *cZ = new TCanvas("cZ","cZ",1000,600);
-
-  cZ->Divide(2,1);
-  cZ->cd(1);
-  phiZposData->Scale(1./phiZposData->GetEntries());
-  phiZposData->DrawCopy();
-  cZ->cd(2);
-  phiZnegData->Scale(1./phiZnegData->GetEntries());
-  phiZnegData->DrawCopy();
-
-  TH1F* phiZposMc = (TH1F*)fListMc->FindObject("hSPDphiZpos");
-  TH1F* phiZnegMc = (TH1F*)fListMc->FindObject("hSPDphiZneg");
-  cZ->cd(1);
-  phiZposMc->Scale(1./phiZposMc->GetEntries());
-  phiZposMc->DrawCopy("same");
-  cZ->cd(2);
-  phiZnegMc->Scale(1./phiZnegMc->GetEntries());
-  phiZnegMc->DrawCopy("same");
-
-} 
-
-void ratiochips(){
-
-  TH1F *data_chip = ((TH1F*)fListData->FindObject("hClusterYield"));
-  data_chip->Sumw2();
-
-  TH1F *mc_chip = ((TH1F*)fListMc->FindObject("hClusterYield"));
-  mc_chip->Sumw2();
-
-  TCanvas *c1chip = new TCanvas("c1chip","c1chip",1200,600);
-  c1chip->Divide(2,1);
-  c1chip->cd(1);
-  data_chip->SetTitle(Form("chip cluster yield in %s",fTitleData.Data()));
-  data_chip->DrawCopy();
-  c1chip->cd(2);
-  mc_chip->SetTitle(Form("chip cluster yield in %s",fTitleMc.Data()));
-  mc_chip->DrawCopy();
-
-
-  TH1D *ratiochip  = new TH1D("ratiochip",Form("Chip cluster ratio %s / %s  - scaling : Integral",fTitleData.Data(),fTitleMc.Data()),mc_chip->GetNbinsX(),mc_chip->GetXaxis()->GetXmin(),mc_chip->GetXaxis()->GetXmax());
-  ratiochip->GetXaxis()->SetTitle("chip number");
-  printf("data_chip %f     -  mc_chip %f    \n",data_chip->GetEntries(),mc_chip->GetEntries());
-  ratiochip->Divide(data_chip,mc_chip,mc_chip->Integral(),data_chip->Integral(),"e");
-  ratiochip->SetMarkerStyle(20);
-  ratiochip->SetMarkerSize(0.7);
-  ratiochip->SetMarkerColor(2);
-
-  TCanvas *ratiofitchip = new TCanvas("ratiofitchip","ratiofit",1200,600);
-  ratiofitchip->cd();
-  TF1 *f1innerChip = new TF1("f1innerChip", "pol0", 0, 399);
-  f1innerChip->SetLineColor(kBlue);
-  TF1 *f1outerChip = new TF1("f1outerChip", "pol0", 400, 1199);
-  f1outerChip->SetLineColor(kGreen);
-  
-  printf("------------- Fitting standard normalized ratio  ----------------\n");
-  ratiochip->Fit("f1innerChip", "R");
-  ratiochip->Fit("f1outerChip", "R+");
-  //f1inner->GetParameters(&par[0]);
-  //f1outer->GetParameters(&par[1]);
-  //f1->SetParameters(par);
-  //ratiomodule->Fit(f1, "R+");
-  f1innerChip->Draw("same");
-  f1outerChip->Draw("same");
-
-  TPaveText *parsFitChip= new TPaveText(0.3,0.23,0.6,0.55,"NDC"); 
-  parsFitChip->AddText("Inner ");
-  parsFitChip->AddText(Form("#chi2 / ndf    %4.3f / %3.1i",f1innerChip->GetChisquare(),f1innerChip->GetNDF()));
-  parsFitChip->AddText(Form("Fit :    %4.4f +- %4.4f",f1innerChip->GetParameter(0),f1innerChip->GetParError(0)));
-  parsFitChip->AddText("");
-  parsFitChip->AddText("Outer ");
-  parsFitChip->AddText(Form("#chi2 / ndf    %4.3f / %3.1i",f1outerChip->GetChisquare(),f1outerChip->GetNDF()));
-  parsFitChip->AddText(Form("Fit :    %4.4f +- %4.4f",f1outerChip->GetParameter(0),f1outerChip->GetParError(0)));
-  ratiochip->GetListOfFunctions()->Add(parsFitChip);
-
-
-
-  TCanvas *ratiofitChipEvents = new TCanvas("ratiofitChipEvents","ratiofitEvents",1200,600);
-
-  ratiofitChipEvents->cd();
-  TH1D *ratiochipEvents  = new TH1D("ratiochipEvents",Form("Chip cluster ratio %s / %s  - scaling : # events",fTitleData.Data(),fTitleMc.Data()),mc_chip->GetNbinsX(),mc_chip->GetXaxis()->GetXmin(),mc_chip->GetXaxis()->GetXmax());
-  ratiochipEvents->GetXaxis()->SetTitle("chip number");
-  Double_t nEvData = ((TH1I*)(fListData->FindObject("hEventsProcessed")))->GetEntries();
-  Double_t nEvMc= ((TH1I*)(fListMc->FindObject("hEventsProcessed")))->GetEntries();
-  ratiochipEvents->Divide(data_chip,mc_chip,nEvMc,nEvData,"e");
-  ratiochipEvents->Draw();
-  ratiochipEvents->SetMarkerStyle(20);
-  ratiochipEvents->SetMarkerSize(0.7);
-  ratiochipEvents->SetMarkerColor(2);
-
-  TF1 *fInnerChip = new TF1("fInnerChip", "pol0", 0, 399);
-  fInnerChip->SetLineColor(kBlue);
-  TF1 *fOuterChip = new TF1("fOuterChip", "pol0", 400, 1199);
-  fOuterChip->SetLineColor(kGreen);
-  ratiochipEvents->Fit("fInnerChip", "R");
-  ratiochipEvents->Fit("fOuterChip", "R+");
-  fInnerChip->Draw("same");
-  fOuterChip->Draw("same");
-  
-  
-  TPaveText *parsFit= new TPaveText(0.3,0.23,0.6,0.55,"NDC"); 
-  parsFit->AddText("Inner ");
-  parsFit->AddText(Form("#chi2 / ndf    %4.3f / %3.1i",fInnerChip->GetChisquare(),fInnerChip->GetNDF()));
-  parsFit->AddText(Form("Fit :    %4.4f +- %4.4f",fInnerChip->GetParameter(0),fInnerChip->GetParError(0)));
-  parsFit->AddText("");
-  parsFit->AddText("Outer ");
-  parsFit->AddText(Form("#chi2 / ndf    %4.3f / %3.1i",fOuterChip->GetChisquare(),fOuterChip->GetNDF()));
-  parsFit->AddText(Form("Fit :    %4.4f +- %4.4f",fOuterChip->GetParameter(0),fOuterChip->GetParError(0)));
-  ratiochipEvents ->GetListOfFunctions()->Add(parsFit);
-  
-  
-  //------------------------------------------
-  
-  TH1D * diffsClus[2];
-  diffsClus[0]= new TH1D("diffsL1Clus"," ",80,-0.2,0.2);
-  diffsClus[1]= new TH1D("diffsL2Clus"," ",80,-0.2,0.2);
-  for(Int_t ibin=0; ibin<1200; ibin++){
-
-    if(ibin<400){
-      if(ratiochip->GetBinContent(ibin+1)>0) diffsClus[0]->Fill(ratiochip->GetBinContent(ibin+1)-f1innerChip->GetParameter(0));
-    }else {
-
-      if(ratiochip->GetBinContent(ibin+1)>0) diffsClus[1]->Fill(ratiochip->GetBinContent(ibin+1)-f1outerChip->GetParameter(0));
-
-    }
-
-
-  }
-
-
-  TCanvas * pullsClus = new TCanvas("pullsClus","pullsClus",1200,600);
-  pullsClus->Divide(2,1);
-  pullsClus->cd(1);
-  diffsClus[0]->SetTitle("dispersion Layer 1");
-  diffsClus[0]->Rebin(2);
-  diffsClus[0]->Fit("gaus","","",-0.2,0.2);
-  if(diffsClus[0]->GetFunction("gaus")) diffsClus[0]->GetFunction("gaus")->SetLineColor(kBlue);
-  diffsClus[0]->Draw();
-  pullsClus->cd(2);
-  diffsClus[1]->SetTitle("dispersion Layer 2");
-  diffsClus[1]->Rebin(2);
-  diffsClus[1]->Fit("gaus","","",-0.2,0.2);
-  if(diffsClus[1]->GetFunction("gaus")) diffsClus[1]->GetFunction("gaus")->SetLineColor(kBlue);
-  diffsClus[1]->Draw();
-
-}
diff --git a/ITS/PlotSPDpwgppQA.C b/ITS/PlotSPDpwgppQA.C
new file mode 100644 (file)
index 0000000..8f933fd
--- /dev/null
@@ -0,0 +1,621 @@
+#if !defined(__CINT__) || defined(__MAKECINT__)
+#include <TFile.h>
+#include <TSystem.h>
+#include <Riostream.h>
+#include <TFile.h>
+#include <TH1F.h>
+#include <TH2D.h>
+#include <TH2F.h>
+#include <TF1.h>
+#include <TStyle.h>
+#include <TCanvas.h>
+#include <TMath.h>
+#include <TROOT.h>
+#include <TLine.h>
+#include <TString.h>
+#include <TPaveText.h>
+#endif
+
+void ratiomodules();
+void ratiochips();
+void mapsinner(Bool_t isShowMaps=kFALSE);
+void phiTracklet();
+void phiTrackletsZ();
+void foEfficiency(); 
+
+
+TFile *fData=0x0;
+TFile *fMc=0x0;
+
+TList *fListData = 0x0;
+TList  *fListMc  = 0x0;
+
+TString fTitleData = "";
+TString fTitleMc = "";
+
+
+void PlotSPDpwgppQA(TString data, TString mc, TString titleData = "[Data]", TString titleMc = "[MC]", Bool_t isGeneralTrain = kFALSE){
+
+  fTitleData=titleData;
+  fTitleMc=titleMc;
+
+  gROOT->SetStyle("Plain");
+  gStyle->SetPalette(1);
+  gStyle->SetOptStat(0);
+  gStyle->SetOptFit(111);
+
+ fData = TFile::Open(data.Data());
+  if(!isGeneralTrain) fListData = (TList*)fData->Get("chist");
+  else {
+    TDirectoryFile *spddata = (TDirectoryFile*)fData->Get("SPD_Performance");
+    spddata->cd();
+    fListData = (TList*)spddata->Get("coutput1");
+  }
+
+  Double_t nevtsData = ((TH1I*)(fListData->FindObject("hEventsProcessed")))->GetEntries();
+  printf("   #events in %s : %f \n",fTitleData.Data(),nevtsData);
+
+  fMc = TFile::Open(mc.Data());
+  if(!isGeneralTrain) fListMc = (TList*)fMc->Get("chist");
+  else {
+    TDirectoryFile *spdmc = (TDirectoryFile*)fMc->Get("SPD_Performance");
+    spdmc->cd();
+    fListMc = (TList*)spdmc->Get("coutput1");
+  }
+  Double_t nevtsMc = ((TH1I*)(fListMc->FindObject("hEventsProcessed")))->GetEntries();
+  // phi projection
+
+  printf("   #events in %s : %f \n",fTitleMc.Data(),nevtsMc);
+  printf("Available functions : \n - ratiomodules() \n - ratiochips() \n - mapsinner(isShowMaps) \n - phiTracklet() \n - phiTrackletsZ() \n - foEfficiency() \n");
+  phiTracklet();
+}
+
+void ratiomodules(){
+
+  TH1F *data_module = ((TH1F*)fListData->FindObject("hClusterModYield"));
+  data_module->Sumw2();
+
+  TH1F *mc_module = ((TH1F*)fListMc->FindObject("hClusterModYield"));
+  mc_module->Sumw2();
+
+  TCanvas *c1 = new TCanvas("c1","c1",1200,600);
+  c1->Divide(2,1);
+  c1->cd(1);
+  data_module->SetTitle(Form("cluster yield in %s",fTitleData.Data()));
+  data_module->DrawCopy();
+  c1->cd(2);
+  mc_module->SetTitle(Form("cluster yield in %s",fTitleMc.Data()));
+  mc_module->DrawCopy();
+
+
+  TH1D *ratiomodule  = new TH1D("ratiomod",Form("Module cluster ratio %s / %s  - scaling : Integral",fTitleData.Data(),fTitleMc.Data()),mc_module->GetNbinsX(),mc_module->GetXaxis()->GetXmin(),mc_module->GetXaxis()->GetXmax());
+  ratiomodule->GetXaxis()->SetTitle("module number");
+  printf("data_module %f     -  mc_module %f    \n",data_module->GetEntries(),mc_module->GetEntries());
+  ratiomodule->Divide(data_module,mc_module,mc_module->Integral(),data_module->Integral(),"e");
+
+  TCanvas *ratiofit = new TCanvas("ratiofit","ratiofit",1200,600);
+  ratiofit->cd();
+  TF1 *f1inner = new TF1("f1inner", "pol0", 0, 79);
+  f1inner->SetLineColor(kBlue);
+  TF1 *f1outer = new TF1("f1outer", "pol0", 80, 223);
+  f1outer->SetLineColor(kGreen);
+  
+  printf("------------- Fitting standard normalized ratio  ----------------\n");
+  ratiomodule->Fit("f1inner", "R+"); 
+  ratiomodule->Fit("f1outer", "R+");
+  ratiomodule->GetListOfFunctions()->Print();
+   
+  f1inner->Draw("same");
+  f1outer->Draw("same");
+  
+  TPaveText *parsFitEntries = new TPaveText(0.3,0.23,0.6,0.55,"NDC"); 
+  parsFitEntries->AddText("Inner ");
+  parsFitEntries->AddText(Form("#chi2 / ndf    %4.3f / %2.1i",f1inner->GetChisquare(),f1inner->GetNDF()));
+  parsFitEntries->AddText(Form("Fit :    %4.4f +- %4.4f",f1inner->GetParameter(0),f1inner->GetParError(0)));
+  parsFitEntries->AddText("");
+  parsFitEntries->AddText("Outer ");
+  parsFitEntries->AddText(Form("#chi2 / ndf    %4.3f / %3.1i",f1outer->GetChisquare(),f1outer->GetNDF()));
+  parsFitEntries->AddText(Form("Fit :    %4.4f +- %4.4f",f1outer->GetParameter(0),f1outer->GetParError(0)));
+  ratiomodule->GetListOfFunctions()->Add(parsFitEntries);
+
+
+
+
+  TCanvas *ratiofitEvents = new TCanvas("ratiofitEvents","ratiofitEvents",1200,600);
+
+  ratiofitEvents->cd();
+  TH1D *ratiomoduleEvents  = new TH1D("ratiomodEvents",Form("Module cluster ratio %s / %s  - scaling : # events",fTitleData.Data(),fTitleMc.Data()),mc_module->GetNbinsX(),mc_module->GetXaxis()->GetXmin(),mc_module->GetXaxis()->GetXmax());
+  ratiomoduleEvents->GetXaxis()->SetTitle("module number");
+  Double_t nEvData = ((TH1I*)(fListData->FindObject("hEventsProcessed")))->GetEntries();
+  Double_t nEvMc= ((TH1I*)(fListMc->FindObject("hEventsProcessed")))->GetEntries();
+  ratiomoduleEvents->Divide(data_module,mc_module,nEvMc,nEvData,"e");
+  ratiomoduleEvents->Draw();
+
+  TF1 *fInner = new TF1("fInner", "pol0", 0, 79);
+  fInner->SetLineColor(kBlue);
+  TF1 *fOuter = new TF1("fOuter", "pol0", 80, 223);
+  fOuter->SetLineColor(kGreen);
+  printf("------------- Fitting #evts normalized ratio  ----------------\n");
+  ratiomoduleEvents->Fit("fInner", "R");
+  ratiomoduleEvents->Fit("fOuter", "R+");
+  fInner->Draw("same");
+  fOuter->Draw("same");
+  
+  
+  
+  TPaveText *parsFitEvents = new TPaveText(0.3,0.23,0.6,0.55,"NDC"); 
+  parsFitEvents->AddText("Inner ");
+  parsFitEvents->AddText(Form("#chi2 / ndf    %4.3f / %2.1i",fInner->GetChisquare(),fInner->GetNDF()));
+  parsFitEvents->AddText(Form("Fit :    %4.4f +- %4.4f",fInner->GetParameter(0),fInner->GetParError(0)));
+  parsFitEvents->AddText("");
+  parsFitEvents->AddText("Outer ");
+  parsFitEvents->AddText(Form("#chi2 / ndf    %4.3f / %3.1i",fOuter->GetChisquare(),fOuter->GetNDF()));
+  parsFitEvents->AddText(Form("Fit :    %4.4f +- %4.4f",fOuter->GetParameter(0),fOuter->GetParError(0)));
+  ratiomoduleEvents->GetListOfFunctions()->Add(parsFitEvents);
+  
+
+}
+void mapsinner(Bool_t isShowMaps){
+  TH2D *data_mapL1 = (TH2D*)fListData->FindObject("hLocalMapL1");
+  // ------------ phi projection ---------------------
+  TH1D *data_projyL1 = data_mapL1->ProjectionY();
+
+  TString titleDataL1  = data_projyL1->GetTitle();
+  titleDataL1+=fTitleData.Data();
+  data_projyL1->SetTitle(titleDataL1.Data());
+  //data_projyL1->Rebin(10);
+  data_projyL1->SetYTitle(Form("entries / %1.2f cm",data_projyL1->GetBinWidth(0)));
+
+  TH2D *data_mapL2 = (TH2D*)fListData->FindObject("hLocalMapL2");
+  TH1D *data_projyL2 = data_mapL2->ProjectionY();
+  TString titleDataL2  = data_projyL2->GetTitle();
+  titleDataL2+=fTitleData.Data();
+  data_projyL2->SetTitle(titleDataL2.Data());
+  //data_projyL2 ->Rebin(10);
+  data_projyL2->SetYTitle(Form("entries / %1.2f cm",data_projyL2->GetBinWidth(0)));
+
+  // ------- z projection Data -----------
+  TH1D *data_projyL1z = data_mapL1->ProjectionX();
+  TString titleDataL1z  = data_projyL1z->GetTitle();
+  titleDataL1z+=fTitleData.Data();
+  data_projyL1z->SetTitle(titleDataL1z.Data());
+  //data_projyL1z->Rebin(10);
+  data_projyL1z->SetYTitle(Form("entries / %1.2f cm",data_projyL1z->GetBinWidth(0)));
+  TH1D *data_projyL2z = data_mapL2->ProjectionX();
+  TString titleDataL2z  = data_projyL2z->GetTitle();
+  titleDataL2z+=fTitleData.Data();
+  data_projyL2z->SetTitle(titleDataL2.Data());
+  //data_projyL2z ->Rebin(10);
+  data_projyL2z->SetYTitle(Form("entries / %1.2f cm",data_projyL2z->GetBinWidth(0)));
+
+  // ------------ phi projection MC ---------------------
+  TH2D *mc_mapL1 = (TH2D*)fListMc->FindObject("hLocalMapL1");
+  TH1D *mc_projyL1 = mc_mapL1->ProjectionY();
+  TString titleMCL1  = mc_projyL1->GetTitle();
+  titleMCL1+=fTitleMc.Data();
+  mc_projyL1->SetTitle(titleMCL1.Data());
+  //mc_projyL1->Rebin(10);
+  mc_projyL1->SetYTitle(Form("entries / %1.2f cm",mc_projyL1->GetBinWidth(0)));
+
+  TH2D *mc_mapL2 = (TH2D*)fListMc->FindObject("hLocalMapL2");
+  TH1D *mc_projyL2 = mc_mapL2->ProjectionY();
+  TString titleMCL2  = mc_projyL2->GetTitle();
+  titleMCL2+=fTitleMc.Data();
+  mc_projyL2->SetTitle(titleMCL2.Data());
+  //mc_projyL2->Rebin(10);
+  mc_projyL2->SetYTitle(Form("entries / %1.2f cm",mc_projyL2->GetBinWidth(0)));
+
+  // ------- z projection MC -----------
+
+  TH1D *mc_projyL1z = mc_mapL1->ProjectionX();
+  TString titleMCL1z  = mc_projyL1z->GetTitle();
+  titleMCL1z+=fTitleMc.Data();
+  mc_projyL1z->SetTitle(titleMCL1z.Data());
+  //mc_projyL1z->Rebin(10);
+  mc_projyL1z->SetYTitle(Form("entries / %1.2f cm",mc_projyL1z->GetBinWidth(0)));
+
+  TH1D *mc_projyL2z = mc_mapL2->ProjectionX();
+  TString titleMCL2z  = mc_projyL2z->GetTitle();
+  titleMCL2z+="  [ MC ]";
+  mc_projyL2z->SetTitle(titleMCL2z.Data());
+  //mc_projyL2z->Rebin(10);
+  mc_projyL2z->SetYTitle(Form("entries / %1.2f cm",mc_projyL2z->GetBinWidth(0)));
+
+  if(isShowMaps) {
+
+
+    TCanvas *cmapData = new TCanvas("cmapData","cmapData",1200,600);
+    cmapData->Divide(2,1);
+    cmapData->cd(1);
+    TString titledata1 = data_mapL1->GetTitle();
+    titledata1+=fTitleData.Data();
+    data_mapL1->SetTitle(titledata1.Data());
+    data_mapL1->Draw("colz");
+    cmapData->cd(2);
+    TString titledata2 = data_mapL2->GetTitle();
+    titledata2+=fTitleData.Data();
+    data_mapL2->SetTitle(titledata2.Data());
+    data_mapL2->Draw("colz");
+
+    TCanvas *cmapMc = new TCanvas("cmapMc","cmapMc",1200,600);
+    cmapMc->Divide(2,1);
+
+    cmapMc->cd(1);
+    TString titlemc1 = mc_mapL1->GetTitle();
+    titlemc1+=fTitleMc.Data();
+    mc_mapL1->SetTitle(titlemc1.Data());
+    mc_mapL1->Draw("colz");
+    cmapMc->cd(2);
+    TString titlemc2 = mc_mapL2->GetTitle();
+    titlemc2+=fTitleMc.Data();
+    mc_mapL2->SetTitle(titlemc2.Data());
+    mc_mapL2->Draw("colz");
+  }
+  // booking ratios 
+  // projection phi
+
+  TH1D *ratioL1 = new TH1D("ratioL1","Data / MC - Layer 1",mc_projyL1->GetNbinsX(),mc_projyL1->GetXaxis()->GetXmin(),mc_projyL1->GetXaxis()->GetXmax());
+  ratioL1->SetXTitle("(NOT GLOBAL)       direction #varphi [cm]");
+  TH1D *ratioL2 = new TH1D("ratioL2","Data / MC - Layer 2",mc_projyL2->GetNbinsX(),mc_projyL2->GetXaxis()->GetXmin(),mc_projyL2->GetXaxis()->GetXmax());
+  ratioL2->SetXTitle("(NOT GLOBAL)       direction #varphi [cm]");
+  // projection z 
+  TH1D *ratioL1z = new TH1D("ratioL1z","Data / MC - Layer 1",mc_projyL1z->GetNbinsX(),mc_projyL1z->GetXaxis()->GetXmin(),mc_projyL1z->GetXaxis()->GetXmax());
+  ratioL1z->SetXTitle("(NOT GLOBAL)       direction z [cm]");
+  TH1D *ratioL2z = new TH1D("ratioL2z","Data / MC - Layer 2",mc_projyL2z->GetNbinsX(),mc_projyL2z->GetXaxis()->GetXmin(),mc_projyL2z->GetXaxis()->GetXmax());
+  ratioL2->SetXTitle("(NOT GLOBAL)       direction z [cm]");
+
+  // making the ratios
+  ratioL1->Divide(data_projyL1,mc_projyL1,mc_projyL1->GetEntries(),data_projyL1->GetEntries(),"e");
+  ratioL2->Divide(data_projyL2,mc_projyL2,mc_projyL2->GetEntries(),data_projyL2->GetEntries(),"e");
+
+  ratioL1z->Divide(data_projyL1z,mc_projyL1z,mc_projyL1z->GetEntries(),data_projyL1z->GetEntries(),"e");
+  ratioL2z->Divide(data_projyL2z,mc_projyL2z,mc_projyL2z->GetEntries(),data_projyL2z->GetEntries(),"e");
+
+  TCanvas *c = new TCanvas("cRatioPhi","cRatioPhi",1200,600);
+  c->Divide(2,1);
+  c->cd(1);
+  ratioL1->SetYTitle(Form("ratio / %2.2f cm",ratioL1->GetBinWidth(0)));
+  ratioL1->Draw();
+  c->cd(2);
+  ratioL2->SetYTitle(Form("ratio / %2.2f cm",ratioL2->GetBinWidth(0)));
+  ratioL2->Draw();
+
+  //TLine *l1z = new TLine(-16.5,1,16.5,1);
+  //TLine *l2z = new TLine(-16.5,1,16.5,1);
+  TCanvas *cz = new TCanvas("cRatioZ","cRatioZ",1200,600);
+  cz->Divide(2,1);
+  cz->cd(1);
+  ratioL1z->SetYTitle(Form("ratio / %2.2f cm",ratioL1z->GetBinWidth(0)));
+  ratioL1z->Draw();
+  cz->cd(2);
+  ratioL2z->SetYTitle(Form("ratio / %2.2f cm",ratioL2z->GetBinWidth(0)));
+  ratioL2z->Draw();
+
+}
+void phiTracklet(){
+
+  TCanvas *rawDist = new TCanvas("rawDist"," raw distributions ",1200,800);
+  rawDist->Divide(2,2);
+
+  TH2F *trackData = (TH2F*)fListData->FindObject("hSPDphivsSPDeta");
+  trackData->SetTitle(Form("%s %s",trackData->GetTitle(),fTitleData.Data()));
+  TH1D *trackDataPhi = trackData->ProjectionY();
+  if(!trackDataPhi) printf("NO 1 \n");
+  //trackDataPhi->SetTitle(Form("%s %s",trackDataPhi->GetTitle(),fTitleData.Data()));
+  rawDist->cd(1);
+  trackDataPhi->SetLineColor(kRed);
+  trackDataPhi->DrawCopy();
+  TH1D *trackDataEta = trackData->ProjectionX();
+  if(!trackDataEta) printf("NO 2 \n");
+  //trackDataEta->SetTitle(Form("%s %s",trackDataEta->GetTitle(),fTitleData.Data()));
+  rawDist->cd(2);
+  trackDataEta->SetLineColor(kRed);
+  trackDataEta->DrawCopy();
+
+  TH1F etaData, phiData;
+  trackDataEta->Copy(etaData);
+  trackDataPhi->Copy(phiData);
+
+  TH1F etaFrac, phiFrac, mcEta, mcPhi;
+  trackDataEta->Copy(etaFrac);
+  trackDataPhi->Copy(phiFrac);
+
+  TH2F *trackMc = (TH2F*)fListMc->FindObject("hSPDphivsSPDeta");
+  trackMc->SetTitle(Form("%s %s",trackMc->GetTitle(),fTitleMc.Data()));
+
+  TCanvas *tracklets = new TCanvas("tracklets","tracklets",1200,600);
+  tracklets->Divide(2,1);
+  tracklets->cd(1);
+  tracklets->cd(1)->SetRightMargin(0.15);
+  //trackData->SetTitle(Form("%s %s",trackData->GetTitle(),fTitleData.Data()));
+  trackData->DrawCopy("colz");
+  tracklets->cd(2);
+  tracklets->cd(2)->SetRightMargin(0.15);
+  //trackMc->SetTitle(Form("%s %s",trackMc->GetTitle(),fTitleMc.Data()));
+  TH1D *h = (TH1D*)trackMc->DrawCopy("colz");
+  fTitleData.ReplaceAll(" ","");
+  fTitleMc.ReplaceAll(" ","");
+  tracklets->SaveAs(Form("trackletsPhiEtaMaps_%s_%s.png",fTitleData.Data(),fTitleMc.Data()));
+
+  TH1D *trackMcPhi = trackMc->ProjectionY();
+  trackMcPhi->SetTitle(Form("%s",h->GetTitle()));
+  rawDist->cd(3);
+  trackMcPhi->DrawCopy();
+  TH1D *trackMcEta = trackMc->ProjectionX();
+  trackMcEta->SetTitle(Form("%s",h->GetTitle()));
+  rawDist->cd(4);
+  trackMcEta->DrawCopy();
+
+  rawDist->SaveAs(Form("trackletsPhiEtaRaw_%s_%s.png",fTitleData.Data(),fTitleMc.Data()));
+
+  TH1F etaMc, phiMc;
+  trackMcEta->Copy(etaMc);
+  trackMcPhi->Copy(phiMc);
+
+  trackMcEta->Copy(mcEta);
+  trackMcPhi->Copy(mcPhi);
+
+  etaFrac.Scale(1./etaFrac.GetEntries());
+  mcEta.Scale(1./mcEta.GetEntries());
+  etaFrac.Add(&mcEta,-1);
+  etaFrac.Divide(&mcEta);
+
+  phiFrac.Scale(1./phiFrac.GetEntries());
+  mcPhi.Scale(1./mcPhi.GetEntries());
+  phiFrac.Add(&mcPhi,-1);
+  phiFrac.Divide(&mcPhi);
+
+
+  TCanvas *track = new TCanvas("track","track",1200,600);
+  track->Divide(2,1);
+  track->cd(1);
+  phiData.SetLineColor(kRed);
+  phiData.SetLineWidth(2);
+  phiData.Scale(1./phiData.GetEntries());
+  phiData.DrawCopy();
+  phiMc.Scale(1./phiMc.GetEntries());
+  phiMc.DrawCopy("same");
+  track->cd(2);
+  etaData.SetLineColor(kRed);
+  etaData.SetLineWidth(2);
+  etaData.Scale(1./etaData.GetEntries());
+  etaData.DrawCopy();
+  etaMc.Scale(1./etaMc.GetEntries());
+  etaMc.DrawCopy("same");
+  track->SaveAs(Form("trackletsPhiEtaNorm_%s_%s.png",fTitleData.Data(),fTitleMc.Data()));
+
+  TCanvas *frac = new TCanvas("frac","fractions",1200,600);
+  frac->Divide(2,1);
+  frac->cd(1);
+  etaFrac.SetTitle(Form(" #Delta#eta/#eta_{%s}   %s - %s ",fTitleMc.Data(),fTitleData.Data(),fTitleMc.Data()));
+  etaFrac.SetLineColor(1);
+  etaFrac.DrawCopy();
+  frac->cd(2);
+  phiFrac.SetTitle(Form(" #Delta#varphi/#varphi_{%s}   %s - %s ",fTitleMc.Data(),fTitleData.Data(),fTitleMc.Data()));
+  phiFrac.SetLineColor(1);
+  phiFrac.DrawCopy();
+
+  frac->SaveAs(Form("relativeRatios_%s_%s.png",fTitleData.Data(),fTitleMc.Data()));
+
+}
+
+void foEfficiency(){
+  TH2F *firedFoData = (TH2F*)fListData->FindObject("hFOgoodPerBCmod4");
+  TH2F *firedChipsData = (TH2F*)fListData->FindObject("hFiredChipsPerBCmod4");
+  TH2F mapBCmod;
+  firedFoData->Copy(mapBCmod); 
+  mapBCmod.Divide(firedChipsData);
+  mapBCmod.SetTitle(Form("FO eff per BCmod4 in %s ",fTitleData.Data()));
+  mapBCmod.GetYaxis()->SetNdivisions(4,kFALSE);
+  TCanvas *c = new TCanvas("mapFo"," FO eff map",800,800);
+  c->cd();
+  c->cd()->SetGridy();
+  mapBCmod.DrawCopy("colz");
+
+  TH1F bcmod[4];
+
+  TH1F *hbc = new TH1F("bc","bc",firedFoData->GetNbinsX(),(firedFoData->GetXaxis())->GetXmin(),(firedFoData->GetXaxis())->GetXmax());
+
+  for(Int_t bc=0; bc<4; bc++){
+    hbc->Clear();
+    hbc->Reset();
+    for(Int_t iBin=0; iBin<firedFoData->GetNbinsX(); iBin++){
+      hbc->SetBinContent(iBin+1,mapBCmod.GetBinContent(iBin+1,bc+1)); 
+    }
+    hbc->Copy(bcmod[bc]);
+    bcmod[bc].SetLineColor(bc+1); 
+  }
+
+
+  TH1F *h[4];
+  TCanvas *bceff = new TCanvas("bceff");
+  bceff->Divide(2,2);
+  for(Int_t iPad=0; iPad<4; iPad++){
+   TVirtualPad *pad = bceff->cd(iPad+1);
+    if(iPad<2){
+      pad->Divide(2,1);
+      Int_t idx = -1;
+      if(iPad==0) idx=0;
+      if(iPad==1) idx=2;  
+      pad->cd(1); bcmod[idx].DrawCopy();
+      pad->cd(2); bcmod[idx+1].DrawCopy();
+    }
+
+    if(iPad==2){
+      h[0]= (TH1F*)(bcmod[0].DrawCopy());
+      for(Int_t bb=1; bb<4; bb++){
+       h[bb] = (TH1F*)(bcmod[bb].DrawCopy("same"));
+      }
+    }
+
+    TH1F *hdiff[3];
+
+    if(iPad==3){
+      hdiff[0]=(TH1F*)(h[1]->Clone());   
+      hdiff[0]->Add(h[0],-1);
+      hdiff[0]->DrawCopy();
+      hdiff[1]=(TH1F*)(h[2]->Clone());   
+      hdiff[1]->Add(h[0],-1);
+      hdiff[1]->DrawCopy("same");
+      hdiff[2]=(TH1F*)(h[3]->Clone());   
+      hdiff[2]->Add(h[0],-1);
+      hdiff[2]->DrawCopy("same");
+    }
+  }
+}
+
+void phiTrackletsZ(){
+
+  TH1F* phiZposData = (TH1F*)fListData->FindObject("hSPDphiZpos");
+  phiZposData->SetLineColor(kRed);
+  phiZposData->SetLineWidth(2);
+  TH1F* phiZnegData = (TH1F*)fListData->FindObject("hSPDphiZneg");
+  phiZnegData->SetLineColor(kRed);
+  phiZnegData->SetLineWidth(2);
+  TCanvas *cZ = new TCanvas("cZ","cZ",1000,600);
+
+  cZ->Divide(2,1);
+  cZ->cd(1);
+  phiZposData->Scale(1./phiZposData->GetEntries());
+  phiZposData->DrawCopy();
+  cZ->cd(2);
+  phiZnegData->Scale(1./phiZnegData->GetEntries());
+  phiZnegData->DrawCopy();
+
+  TH1F* phiZposMc = (TH1F*)fListMc->FindObject("hSPDphiZpos");
+  TH1F* phiZnegMc = (TH1F*)fListMc->FindObject("hSPDphiZneg");
+  cZ->cd(1);
+  phiZposMc->Scale(1./phiZposMc->GetEntries());
+  phiZposMc->DrawCopy("same");
+  cZ->cd(2);
+  phiZnegMc->Scale(1./phiZnegMc->GetEntries());
+  phiZnegMc->DrawCopy("same");
+
+} 
+
+void ratiochips(){
+
+  TH1F *data_chip = ((TH1F*)fListData->FindObject("hClusterYield"));
+  data_chip->Sumw2();
+
+  TH1F *mc_chip = ((TH1F*)fListMc->FindObject("hClusterYield"));
+  mc_chip->Sumw2();
+
+  TCanvas *c1chip = new TCanvas("c1chip","c1chip",1200,600);
+  c1chip->Divide(2,1);
+  c1chip->cd(1);
+  data_chip->SetTitle(Form("chip cluster yield in %s",fTitleData.Data()));
+  data_chip->DrawCopy();
+  c1chip->cd(2);
+  mc_chip->SetTitle(Form("chip cluster yield in %s",fTitleMc.Data()));
+  mc_chip->DrawCopy();
+
+
+  TH1D *ratiochip  = new TH1D("ratiochip",Form("Chip cluster ratio %s / %s  - scaling : Integral",fTitleData.Data(),fTitleMc.Data()),mc_chip->GetNbinsX(),mc_chip->GetXaxis()->GetXmin(),mc_chip->GetXaxis()->GetXmax());
+  ratiochip->GetXaxis()->SetTitle("chip number");
+  printf("data_chip %f     -  mc_chip %f    \n",data_chip->GetEntries(),mc_chip->GetEntries());
+  ratiochip->Divide(data_chip,mc_chip,mc_chip->Integral(),data_chip->Integral(),"e");
+  ratiochip->SetMarkerStyle(20);
+  ratiochip->SetMarkerSize(0.7);
+  ratiochip->SetMarkerColor(2);
+
+  TCanvas *ratiofitchip = new TCanvas("ratiofitchip","ratiofit",1200,600);
+  ratiofitchip->cd();
+  TF1 *f1innerChip = new TF1("f1innerChip", "pol0", 0, 399);
+  f1innerChip->SetLineColor(kBlue);
+  TF1 *f1outerChip = new TF1("f1outerChip", "pol0", 400, 1199);
+  f1outerChip->SetLineColor(kGreen);
+  
+  printf("------------- Fitting standard normalized ratio  ----------------\n");
+  ratiochip->Fit("f1innerChip", "R");
+  ratiochip->Fit("f1outerChip", "R+");
+  //f1inner->GetParameters(&par[0]);
+  //f1outer->GetParameters(&par[1]);
+  //f1->SetParameters(par);
+  //ratiomodule->Fit(f1, "R+");
+  f1innerChip->Draw("same");
+  f1outerChip->Draw("same");
+
+  TPaveText *parsFitChip= new TPaveText(0.3,0.23,0.6,0.55,"NDC"); 
+  parsFitChip->AddText("Inner ");
+  parsFitChip->AddText(Form("#chi2 / ndf    %4.3f / %3.1i",f1innerChip->GetChisquare(),f1innerChip->GetNDF()));
+  parsFitChip->AddText(Form("Fit :    %4.4f +- %4.4f",f1innerChip->GetParameter(0),f1innerChip->GetParError(0)));
+  parsFitChip->AddText("");
+  parsFitChip->AddText("Outer ");
+  parsFitChip->AddText(Form("#chi2 / ndf    %4.3f / %3.1i",f1outerChip->GetChisquare(),f1outerChip->GetNDF()));
+  parsFitChip->AddText(Form("Fit :    %4.4f +- %4.4f",f1outerChip->GetParameter(0),f1outerChip->GetParError(0)));
+  ratiochip->GetListOfFunctions()->Add(parsFitChip);
+
+
+
+  TCanvas *ratiofitChipEvents = new TCanvas("ratiofitChipEvents","ratiofitEvents",1200,600);
+
+  ratiofitChipEvents->cd();
+  TH1D *ratiochipEvents  = new TH1D("ratiochipEvents",Form("Chip cluster ratio %s / %s  - scaling : # events",fTitleData.Data(),fTitleMc.Data()),mc_chip->GetNbinsX(),mc_chip->GetXaxis()->GetXmin(),mc_chip->GetXaxis()->GetXmax());
+  ratiochipEvents->GetXaxis()->SetTitle("chip number");
+  Double_t nEvData = ((TH1I*)(fListData->FindObject("hEventsProcessed")))->GetEntries();
+  Double_t nEvMc= ((TH1I*)(fListMc->FindObject("hEventsProcessed")))->GetEntries();
+  ratiochipEvents->Divide(data_chip,mc_chip,nEvMc,nEvData,"e");
+  ratiochipEvents->Draw();
+  ratiochipEvents->SetMarkerStyle(20);
+  ratiochipEvents->SetMarkerSize(0.7);
+  ratiochipEvents->SetMarkerColor(2);
+
+  TF1 *fInnerChip = new TF1("fInnerChip", "pol0", 0, 399);
+  fInnerChip->SetLineColor(kBlue);
+  TF1 *fOuterChip = new TF1("fOuterChip", "pol0", 400, 1199);
+  fOuterChip->SetLineColor(kGreen);
+  ratiochipEvents->Fit("fInnerChip", "R");
+  ratiochipEvents->Fit("fOuterChip", "R+");
+  fInnerChip->Draw("same");
+  fOuterChip->Draw("same");
+  
+  
+  TPaveText *parsFit= new TPaveText(0.3,0.23,0.6,0.55,"NDC"); 
+  parsFit->AddText("Inner ");
+  parsFit->AddText(Form("#chi2 / ndf    %4.3f / %3.1i",fInnerChip->GetChisquare(),fInnerChip->GetNDF()));
+  parsFit->AddText(Form("Fit :    %4.4f +- %4.4f",fInnerChip->GetParameter(0),fInnerChip->GetParError(0)));
+  parsFit->AddText("");
+  parsFit->AddText("Outer ");
+  parsFit->AddText(Form("#chi2 / ndf    %4.3f / %3.1i",fOuterChip->GetChisquare(),fOuterChip->GetNDF()));
+  parsFit->AddText(Form("Fit :    %4.4f +- %4.4f",fOuterChip->GetParameter(0),fOuterChip->GetParError(0)));
+  ratiochipEvents ->GetListOfFunctions()->Add(parsFit);
+  
+  
+  //------------------------------------------
+  
+  TH1D * diffsClus[2];
+  diffsClus[0]= new TH1D("diffsL1Clus"," ",80,-0.2,0.2);
+  diffsClus[1]= new TH1D("diffsL2Clus"," ",80,-0.2,0.2);
+  for(Int_t ibin=0; ibin<1200; ibin++){
+
+    if(ibin<400){
+      if(ratiochip->GetBinContent(ibin+1)>0) diffsClus[0]->Fill(ratiochip->GetBinContent(ibin+1)-f1innerChip->GetParameter(0));
+    }else {
+
+      if(ratiochip->GetBinContent(ibin+1)>0) diffsClus[1]->Fill(ratiochip->GetBinContent(ibin+1)-f1outerChip->GetParameter(0));
+
+    }
+
+
+  }
+
+
+  TCanvas * pullsClus = new TCanvas("pullsClus","pullsClus",1200,600);
+  pullsClus->Divide(2,1);
+  pullsClus->cd(1);
+  diffsClus[0]->SetTitle("dispersion Layer 1");
+  diffsClus[0]->Rebin(2);
+  diffsClus[0]->Fit("gaus","","",-0.2,0.2);
+  if(diffsClus[0]->GetFunction("gaus")) diffsClus[0]->GetFunction("gaus")->SetLineColor(kBlue);
+  diffsClus[0]->Draw();
+  pullsClus->cd(2);
+  diffsClus[1]->SetTitle("dispersion Layer 2");
+  diffsClus[1]->Rebin(2);
+  diffsClus[1]->Fit("gaus","","",-0.2,0.2);
+  if(diffsClus[1]->GetFunction("gaus")) diffsClus[1]->GetFunction("gaus")->SetLineColor(kBlue);
+  diffsClus[1]->Draw();
+
+}
index a1ea1d9..6ab2a70 100644 (file)
@@ -16,6 +16,6 @@ set ( EXPORT ${HDRS})
 set ( EINCLUDE ANALYSIS  STEER/STEERBase)
 
 # Install data to destination 
-install (DIRECTORY COMMON PWG1 PWG2 PWG3 PWG4 
+install (DIRECTORY COMMON PWGPP PWG2 PWG3 PWG4 
          DESTINATION OADB 
         PATTERN ".svn" EXCLUDE)
index 43b8dac..7c69f3e 100644 (file)
@@ -18,7 +18,7 @@ Double_t ApplyCorrections(const char* datafile, const char* datatask, const char
     
     //load required libraries
     //load required libraries    
-    gSystem->AddIncludePath("-I$ROOTSYS/include -I$ALICE_ROOT/ -I$ALICE_ROOT/include -I$ALICE_ROOT/STEER  -I$ALICE_ROOT/ANALYSIS -I$ALICE_ROOT/PWG0 -I$ALICE_ROOT/PWG1 -I$ALICE_ROOT/PWG2 -I$ALICE_ROOT/PWG3 -I$ALICE_ROOT/PWG3/vertexingHF -I$ALICE_ROOT/PWG4 -I$ALICE_ROOT/CORRFW -I$ALICE_ROOT/TPC -I$ALICE_ROOT/TRD -I$ALICE_ROOT/PWG3/muon -I$ALICE_ROOT/JETAN -I$ALICE_ROOT/ANALYSIS/Tender");
+    gSystem->AddIncludePath("-I$ROOTSYS/include -I$ALICE_ROOT/ -I$ALICE_ROOT/include -I$ALICE_ROOT/STEER  -I$ALICE_ROOT/ANALYSIS -I$ALICE_ROOT/PWG0 -I$ALICE_ROOT/PWGPP -I$ALICE_ROOT/PWG2 -I$ALICE_ROOT/PWG3 -I$ALICE_ROOT/PWG3/vertexingHF -I$ALICE_ROOT/PWG4 -I$ALICE_ROOT/CORRFW -I$ALICE_ROOT/TPC -I$ALICE_ROOT/TRD -I$ALICE_ROOT/PWG3/muon -I$ALICE_ROOT/JETAN -I$ALICE_ROOT/ANALYSIS/Tender");
     
   gSystem->Load("libCore");
   gSystem->Load("libPhysics");
index 8169181..c56856a 100644 (file)
@@ -35,7 +35,7 @@ if ( id.Contains("c90-100") ) { c_first = c_last = 11; }
     
     //load required libraries
     //load required libraries    
-    gSystem->AddIncludePath("-I$ROOTSYS/include -I$ALICE_ROOT/ -I$ALICE_ROOT/include -I$ALICE_ROOT/STEER  -I$ALICE_ROOT/ANALYSIS -I$ALICE_ROOT/PWG0 -I$ALICE_ROOT/PWG1 -I$ALICE_ROOT/PWG2 -I$ALICE_ROOT/PWG3 -I$ALICE_ROOT/PWG3/vertexingHF -I$ALICE_ROOT/PWG4 -I$ALICE_ROOT/CORRFW -I$ALICE_ROOT/TPC -I$ALICE_ROOT/TRD -I$ALICE_ROOT/PWG3/muon -I$ALICE_ROOT/JETAN -I$ALICE_ROOT/ANALYSIS/Tender");
+    gSystem->AddIncludePath("-I$ROOTSYS/include -I$ALICE_ROOT/ -I$ALICE_ROOT/include -I$ALICE_ROOT/STEER  -I$ALICE_ROOT/ANALYSIS -I$ALICE_ROOT/PWG0 -I$ALICE_ROOT/PWGPP -I$ALICE_ROOT/PWG2 -I$ALICE_ROOT/PWG3 -I$ALICE_ROOT/PWG3/vertexingHF -I$ALICE_ROOT/PWG4 -I$ALICE_ROOT/CORRFW -I$ALICE_ROOT/TPC -I$ALICE_ROOT/TRD -I$ALICE_ROOT/PWG3/muon -I$ALICE_ROOT/JETAN -I$ALICE_ROOT/ANALYSIS/Tender");
     
   gSystem->Load("libCore");
   gSystem->Load("libPhysics");
index 5244c69..878f9f5 100644 (file)
@@ -33,7 +33,7 @@ TString objname = "dNdPtAnalysis_" + id;
     /*
     //load required libraries
     //load required libraries    
-    gSystem->AddIncludePath("-I$ROOTSYS/include -I$ALICE_ROOT/ -I$ALICE_ROOT/include -I$ALICE_ROOT/STEER  -I$ALICE_ROOT/ANALYSIS -I$ALICE_ROOT/PWG0 -I$ALICE_ROOT/PWG1 -I$ALICE_ROOT/PWG2 -I$ALICE_ROOT/PWG3 -I$ALICE_ROOT/PWG3/vertexingHF -I$ALICE_ROOT/PWG4 -I$ALICE_ROOT/CORRFW -I$ALICE_ROOT/TPC -I$ALICE_ROOT/TRD -I$ALICE_ROOT/PWG3/muon -I$ALICE_ROOT/JETAN -I$ALICE_ROOT/ANALYSIS/Tender");
+    gSystem->AddIncludePath("-I$ROOTSYS/include -I$ALICE_ROOT/ -I$ALICE_ROOT/include -I$ALICE_ROOT/STEER  -I$ALICE_ROOT/ANALYSIS -I$ALICE_ROOT/PWG0 -I$ALICE_ROOT/PWGPP -I$ALICE_ROOT/PWG2 -I$ALICE_ROOT/PWG3 -I$ALICE_ROOT/PWG3/vertexingHF -I$ALICE_ROOT/PWG4 -I$ALICE_ROOT/CORRFW -I$ALICE_ROOT/TPC -I$ALICE_ROOT/TRD -I$ALICE_ROOT/PWG3/muon -I$ALICE_ROOT/JETAN -I$ALICE_ROOT/ANALYSIS/Tender");
     
   gSystem->Load("libCore");
   gSystem->Load("libPhysics");
index 1579ec7..5993fe6 100644 (file)
@@ -20,7 +20,7 @@ Double_t GenerateCorrMatr(const char* mcfile, const char* mctask, const char* id
     
     //load required libraries
     //load required libraries    
-    gSystem->AddIncludePath("-I$ROOTSYS/include -I$ALICE_ROOT/ -I$ALICE_ROOT/include -I$ALICE_ROOT/STEER  -I$ALICE_ROOT/ANALYSIS -I$ALICE_ROOT/PWG0 -I$ALICE_ROOT/PWG1 -I$ALICE_ROOT/PWG2 -I$ALICE_ROOT/PWG3 -I$ALICE_ROOT/PWG3/vertexingHF -I$ALICE_ROOT/PWG4 -I$ALICE_ROOT/CORRFW -I$ALICE_ROOT/TPC -I$ALICE_ROOT/TRD -I$ALICE_ROOT/PWG3/muon -I$ALICE_ROOT/JETAN -I$ALICE_ROOT/ANALYSIS/Tender");
+    gSystem->AddIncludePath("-I$ROOTSYS/include -I$ALICE_ROOT/ -I$ALICE_ROOT/include -I$ALICE_ROOT/STEER  -I$ALICE_ROOT/ANALYSIS -I$ALICE_ROOT/PWG0 -I$ALICE_ROOT/PWGPP -I$ALICE_ROOT/PWG2 -I$ALICE_ROOT/PWG3 -I$ALICE_ROOT/PWG3/vertexingHF -I$ALICE_ROOT/PWG4 -I$ALICE_ROOT/CORRFW -I$ALICE_ROOT/TPC -I$ALICE_ROOT/TRD -I$ALICE_ROOT/PWG3/muon -I$ALICE_ROOT/JETAN -I$ALICE_ROOT/ANALYSIS/Tender");
     
   gSystem->Load("libCore");
   gSystem->Load("libPhysics");
index 5f837bd..54c8c59 100644 (file)
@@ -39,7 +39,7 @@ if ( id.Contains("c90-100") ) { c_first = c_last = 11; }
     
     //load required libraries
     //load required libraries    
-    gSystem->AddIncludePath("-I$ROOTSYS/include -I$ALICE_ROOT/ -I$ALICE_ROOT/include -I$ALICE_ROOT/STEER  -I$ALICE_ROOT/ANALYSIS -I$ALICE_ROOT/PWG0 -I$ALICE_ROOT/PWG1 -I$ALICE_ROOT/PWG2 -I$ALICE_ROOT/PWG3 -I$ALICE_ROOT/PWG3/vertexingHF -I$ALICE_ROOT/PWG4 -I$ALICE_ROOT/CORRFW -I$ALICE_ROOT/TPC -I$ALICE_ROOT/TRD -I$ALICE_ROOT/PWG3/muon -I$ALICE_ROOT/JETAN -I$ALICE_ROOT/ANALYSIS/Tender");
+    gSystem->AddIncludePath("-I$ROOTSYS/include -I$ALICE_ROOT/ -I$ALICE_ROOT/include -I$ALICE_ROOT/STEER  -I$ALICE_ROOT/ANALYSIS -I$ALICE_ROOT/PWG0 -I$ALICE_ROOT/PWGPP -I$ALICE_ROOT/PWG2 -I$ALICE_ROOT/PWG3 -I$ALICE_ROOT/PWG3/vertexingHF -I$ALICE_ROOT/PWG4 -I$ALICE_ROOT/CORRFW -I$ALICE_ROOT/TPC -I$ALICE_ROOT/TRD -I$ALICE_ROOT/PWG3/muon -I$ALICE_ROOT/JETAN -I$ALICE_ROOT/ANALYSIS/Tender");
     
   gSystem->Load("libCore");
   gSystem->Load("libPhysics");
index edde508..6f6a5be 100644 (file)
@@ -33,7 +33,7 @@ void LoadMyLibs() {
   CheckLoadLibrary("libPWG0base");
   CheckLoadLibrary("libPWG0dep");
   CheckLoadLibrary("libPWG0selectors");
-  //CheckLoadLibrary("libPWG1");
+  //CheckLoadLibrary("libPWGPP");
 }
 
 Int_t CheckLoadLibrary(const char* library) {
index 3bb016d..e940c3e 100644 (file)
@@ -114,13 +114,13 @@ LoadLibs() {
   gSystem->Load("libPWG2spectra");
 
   gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWG0/multPbPb"));
-  gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWG1/background"));
+  gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWGPP/background"));
   // Load helper classes
   // TODO: replace this by a list of TOBJStrings
   TString taskName("$ALICE_ROOT/PWG0/multPbPb/AliAnalysisTaskTriggerStudy.cxx+");
   TString histoManName("$ALICE_ROOT/PWG0/multPbPb/AliAnalysisMultPbTrackHistoManager.cxx+");
   TString centrName("$ALICE_ROOT/PWG0/multPbPb/AliAnalysisMultPbCentralitySelector.cxx+");
-  TString listName("$ALICE_ROOT/PWG1/background/AliHistoListWrapper.cxx+");
+  TString listName("$ALICE_ROOT/PWGPP/background/AliHistoListWrapper.cxx+");
 
   gSystem->ExpandPathName(taskName);
   // gSystem->ExpandPathName(histoManName);
index 8254abf..dc440cf 100644 (file)
@@ -458,7 +458,7 @@ void LoadLibs(  Bool_t debug) {
   gSystem->Load("libPWG0base"); 
    
   gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWG0/multPbPb"));
-  gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWG1/background"));
+  gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWGPP/background"));
   gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWG2/SPECTRA/Fit"));
 
   // Load helper classes
@@ -466,7 +466,7 @@ void LoadLibs(  Bool_t debug) {
   TString taskName("$ALICE_ROOT/PWG0/multPbPb/AliAnalysisTaskMultPbTracks.cxx+");
   TString histoManName("$ALICE_ROOT/PWG0/multPbPb/AliAnalysisMultPbTrackHistoManager.cxx+");
   TString centrName("$ALICE_ROOT/PWG0/multPbPb/AliAnalysisMultPbCentralitySelector.cxx+");
-  TString listName("$ALICE_ROOT/PWG1/background/AliHistoListWrapper.cxx+");
+  TString listName("$ALICE_ROOT/PWGPP/background/AliHistoListWrapper.cxx+");
 
   gSystem->ExpandPathName(taskName);
   gSystem->ExpandPathName(histoManName);
index ab818c3..fe6cb62 100644 (file)
@@ -284,7 +284,7 @@ void InitAndLoadLibs(Int_t runMode=kMyRunModeLocal, Int_t workers=0,Bool_t debug
 
   // Custom stuff to be loaded
   listToLoad->Add(new TObjString("$ALICE_ROOT/ANALYSIS/AliCentralitySelectionTask.cxx+"));
-  listToLoad->Add(new TObjString("$ALICE_ROOT/PWG1/background/AliHistoListWrapper.cxx+"));
+  listToLoad->Add(new TObjString("$ALICE_ROOT/PWGPP/background/AliHistoListWrapper.cxx+"));
   listToLoad->Add(new TObjString("$ALICE_ROOT/PWG0/multPbPb/AliAnalysisMultPbTrackHistoManager.cxx+"));
   listToLoad->Add(new TObjString("$ALICE_ROOT/PWG0/multPbPb/AliAnalysisMultPbCentralitySelector.cxx+"));
   listToLoad->Add(new TObjString("$ALICE_ROOT/PWG0/multPbPb/AliAnalysisTaskMultPbTracks.cxx+"));
@@ -330,7 +330,7 @@ void InitAndLoadLibs(Int_t runMode=kMyRunModeLocal, Int_t workers=0,Bool_t debug
       // gProof->UploadPackage("$ALICE_ROOT/obj/PWG0base");
       // gProof->EnablePackage("$ALICE_ROOT/obj/PWG0base");
       gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWG0/multPb"));
-      gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWG1/background"));
+      gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWGPP/background"));
     }
   else
     {
@@ -359,8 +359,8 @@ void InitAndLoadLibs(Int_t runMode=kMyRunModeLocal, Int_t workers=0,Bool_t debug
       // gSystem->Load("libPWG0base");
     
       gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWG0/multPb"));
-      gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWG1/background"));
-      //    gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWG1/background/"));
+      gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWGPP/background"));
+      //    gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWGPP/background/"));
     }
   // Load helper classes
   TIterator * iter = listToLoad->MakeIterator();
index c062ee5..4332cb6 100644 (file)
@@ -196,7 +196,7 @@ void InitAndLoadLibs(Int_t runMode=kMyRunModeLocal, Int_t workers=0,Bool_t debug
     // gProof->UploadPackage("$ALICE_ROOT/PWG0base");
     // gProof->EnablePackage("$ALICE_ROOT/PWG0base");
     gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWG0/multPb"));
-    gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWG1/background"));
+    gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWGPP/background"));
     gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/include "));
     gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/TOF "));
 
@@ -243,13 +243,13 @@ void InitAndLoadLibs(Int_t runMode=kMyRunModeLocal, Int_t workers=0,Bool_t debug
     gSystem->Load("libPWG0base");
     
     gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWG0/multPb"));
-    gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWG1/background"));
-    //    gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWG1/background/"));
+    gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWGPP/background"));
+    //    gROOT->ProcessLine(gSystem->ExpandPathName(".include $ALICE_ROOT/PWGPP/background/"));
   }
   // Load helper classes
   // TODO: replace this by a list of TOBJStrings
   TString taskName("$ALICE_ROOT/PWG0/multPbPb/AliAnalysisTaskTriggerStudy.cxx+");
-  TString listName("$ALICE_ROOT/PWG1/background/AliHistoListWrapper.cxx+");
+  TString listName("$ALICE_ROOT/PWGPP/background/AliHistoListWrapper.cxx+");
 
   gSystem->ExpandPathName(taskName);
   gSystem->ExpandPathName(listName);
diff --git a/PWG1/CMakelibPWG1.pkg b/PWG1/CMakelibPWG1.pkg
deleted file mode 100644 (file)
index efbc481..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-# -*- mode: CMake -*-
-
-#--------------------------------------------------------------------------------#
-# Package File for PWG1                                                          #
-# Author : Johny Jose (johny.jose@cern.ch)                                       #
-# Variables Defined :                                                            #
-#                                                                                #
-# SRCS - C++ source files                                                        #
-# HDRS - C++ header files                                                        #
-# DHDR - ROOT Dictionary Linkdef header file                                     #
-# CSRCS - C source files                                                         #
-# CHDRS - C header files                                                         #
-# EINCLUDE - Include directories                                                 #
-# EDEFINE - Compiler definitions                                                 #
-# ELIBS - Extra libraries to link                                                #
-# ELIBSDIR - Extra library directories                                           #
-# PACKFFLAGS - Fortran compiler flags for package                                #
-# PACKCXXFLAGS - C++ compiler flags for package                                  #
-# PACKCFLAGS - C compiler flags for package                                      #
-# PACKSOFLAGS - Shared library linking flags                                     #
-# PACKLDFLAGS - Module linker flags                                              #
-# PACKBLIBS - Libraries to link (Executables only)                               #
-# EXPORT - Header files to be exported                                           #
-# CINTHDRS - Dictionary header files                                             #
-# CINTAUTOLINK - Set automatic dictionary generation                             #
-# ARLIBS - Archive Libraries and objects for linking (Executables only)          #
-# SHLIBS - Shared Libraries and objects for linking (Executables only)           #
-#--------------------------------------------------------------------------------#
-
-file ( GLOB SRCS1 "*.cxx" )
-file ( GLOB SRCS2 "global/*.cxx" )
-file ( GLOB SRCS3 "cosmic/*.cxx" )
-file ( GLOB SRCS4 "tender/*.cxx" )
-file ( GLOB SRCS5 "HMPID/*.cxx" )
-file ( GLOB SRCS6 "ITS/*.cxx" )
-file ( GLOB SRCS7 "TRD/*.cxx" )
-file ( GLOB SRCS8 "TPC/*.cxx" )
-file ( GLOB SRCS9 "TOF/*.cxx" )
-file ( GLOB SRCS10 "TRD/info/*.cxx" )
-file ( GLOB SRCS11 "background/*.cxx" )
-file ( GLOB SRCS12 "Centrality/*.cxx" )
-file ( GLOB SRCS13 "ZDC/*.cxx" )
-file ( GLOB SRCS14 "T0/*.cxx" )
-file ( GLOB SRCS15 "VZERO/*PbPb.cxx" )
-
-list ( APPEND SRCS 
-  ${SRCS1} 
-  ${SRCS2} 
-  ${SRCS3} 
-  ${SRCS4} 
-  ${SRCS5} 
-  ${SRCS6} 
-  ${SRCS7} 
-  ${SRCS8} 
-  ${SRCS9} 
-  ${SRCS10} 
-  ${SRCS11} 
-  ${SRCS12} 
-  ${SRCS13} 
-  ${SRCS14}
-  ${SRCS15}
-  )
-
-string ( REPLACE ".cxx" ".h" HDRS "${SRCS}" )
-
-set ( DHDR  PWG1LinkDef.h)
-
-set ( EINCLUDE  
-  TPC 
-  ITS 
-  TRD 
-  TOF 
-  TRD/Cal 
-  ANALYSIS/Tender 
-  ANALYSIS 
-  PWG1/comparison 
-  PWG1/cosmic 
-  PWG1/global 
-  PWG1/tender 
-  PWG1/ITS 
-  PWG1/TPC 
-  PWG1/TOF 
-  PWG1/TRD 
-  PWG1/TRD/info 
-  PWG1/background 
-  PWG1/Centrality 
-  HMPID 
-  PWG1/ZDC 
-  PWG1/T0 
-  PWG1/VZERO 
-  PWG4/PartCorrBase
-  STEER/STEER 
-  STEER/AOD 
-  STEER/CDB 
-  STEER/ESD
-  STEER/STEERBase
-  )
diff --git a/PWG1/CalibMacros/MergeCalibration/alienDownloadTimeOut.sh b/PWG1/CalibMacros/MergeCalibration/alienDownloadTimeOut.sh
deleted file mode 100755 (executable)
index 14cdead..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-#
-# sh script to download the data from alien to the local storage
-#
-# Arguments:
-#   $1 fileList
-#   $2 timeOut in seconds
-#   $3 nprocess
-#   $4 prefix
-#
-# Algorithm:
-#   1. Check the input parameters
-#   2. Group randomly the files into the group - generates nprocess download scripts
-#   3. Start $nprocess to download the files - with forced timeout
-# Example usage:
-# 1. Create file list 
-# alien_find /alice/data/2010/LHC10h/000138795/pass0_2 root_ar | grep root > file.list 
-# 2. run script with timeout 60 and n processes 10 and the sarting diectory  -current directory
-# $ALICE_ROOT/PWG1/CalibMacros/MergeCalibration/alienDownloadTimeOut.sh file.list 60 30 `pwd`
-#
-
-fileList=$1
-timeOut=$2
-nprocess=$3
-prefix=$4
-#
-# 1. Check the input variables
-#
-if ! [ -e $fileList ]; then
-  echo Input file does not exist
-  exit;
-fi; 
-
-if [  ${#timeOut} -lt 1 ]; then
-  echo Time out not specified
-  exit;
-fi; 
-
-if [  ${#nprocess} -lt 1 ]; then
-  echo N processes  not specified
-  exit;
-fi; 
-
-#
-#   2. Group randomly the files into the group - generates nprocess download scripts
-#
-nfiles=`wc $fileList | gawk '{print $1;}'`
-echo NFiles"  "$nfiles"   "$fileList"  "TimeOut:$timeOut 
-counterProcess=0;
-mkdirhier tmpDownload
-rm -rf tmpDownload/*.sh
-#
-# generate download scripts
-#
-for afile in `sort -r $fileList`; do
-  dname=$prefix/`dirname $afile`
-  fname=`basename $afile`
-  if ! [ -e $dname/$fname ] ; then 
-    mkdirhier $dname        
-    echo "echo Date `date` >> job$counterProcess.log>> job$counterProcess.log  " >> tmpDownload/download$counterProcess.sh
-    echo "echo alien_cp alien:////$afile  $dname 2>> job$counterProcess.log>> job$counterProcess.log  " >> tmpDownload/download$counterProcess.sh
-    echo "timeout  $timeOut  alien_cp -t $timeOut -i alien.txt -m alien:////$afile  $dname 2>> job$counterProcess.log>> job$counterProcess.log  " >> tmpDownload/download$counterProcess.sh
-    echo "cat alien.txt >> job$counterProcess.log  " >> tmpDownload/download$counterProcess.sh
-    let counterProcess=$counterProcess+1
-    if [ $counterProcess -gt $nprocess ]; then
-      let counterProcess=0;
-    fi; 
-  fi;
-done;
-
-echo NFiles"  "$nfiles"   "$fileList"  "TimeOut:$timeOut 
-
-#
-#   3. Start $nprocess to download the files - with forced timeout
-#
-for job in `ls tmpDownload/download*.sh`; do 
-  chmod u+x $job;
-  echo $job
-  command $job &
-done; > download.log 
diff --git a/PWG1/CalibMacros/MergeCalibration/mergeStage0.sh b/PWG1/CalibMacros/MergeCalibration/mergeStage0.sh
deleted file mode 100755 (executable)
index 86f8af9..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-#
-# Merging Stage 0
-#
-# Merging in separate process for each detector
-# log files - merge<detector>.log and syswatch<detector>.log stored also
-# per detector
-#
-# 
-# arguments of the merge macros:
-# 
-# 1 - input list of the files
-# 2 - name of output root file with merged calibration
-# 3 - name filter - what to merge
-# 4 - reject mask
-# 5 - flag single key for Obj array
-#
-#
-# merge T0
-#
-aliroot -b -q $ALICE_ROOT/PWG1/CalibMacros/MergeCalibration/mergeCustom.C\(\"calib.list\",\"CalibObjectsT0.root\",\"T0Calib\",\"AliESDfriends\",kTRUE\) >> mergeT0.log
-cp syswatch.log syswatchT0.log
-#
-# merge TOF
-#
-aliroot -b -q $ALICE_ROOT/PWG1/CalibMacros/MergeCalibration/mergeCustom.C\(\"calib.list\",\"CalibObjectsTOF.root\",\"TOFHistos\",\"AliESDfriends\",kTRUE\) >> mergeTOF.log
-cp syswatch.log syswatchTOF.log
-#
-# merge TPC
-#
-aliroot -b -q $ALICE_ROOT/PWG1/CalibMacros/MergeCalibration/mergeCustom.C\(\"calib.list\",\"CalibObjectsTPC.root\",\"TPCCalib\",\"AliESDfriends\",kFALSE\) >> mergeTPC.log
-cp syswatch.log syswatchTPC.log
-#
-# merge TRD
-#
-aliroot -b -q $ALICE_ROOT/PWG1/CalibMacros/MergeCalibration/mergeCustom.C\(\"calib.list\",\"CalibObjectsTRD.root\",\"TRDcalib\",\"AliESDfriends\",kFALSE\)  >> mergeTRD.log
-cp syswatch.log syswatchTRD.log
diff --git a/PWG1/CalibMacros/Pass0/LoadLibraries.C b/PWG1/CalibMacros/Pass0/LoadLibraries.C
deleted file mode 100644 (file)
index 3e3c198..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-void LoadLibraries() {
-    //
-    // load libraries needed for Pass0
-    //
-    gSystem->Load("libSTAT");
-    gSystem->Load("libANALYSIS");
-    gSystem->Load("libANALYSISalice");
-    gSystem->Load("libANALYSIScalib");
-    //
-    // detector libraries
-    //    
-    gSystem->Load("libTPCcalib");
-    gSystem->Load("libTRDcalib");
-    gSystem->Load("libT0calib");
-    gSystem->Load("libTOFcalib");
-    //
-    // PWG1 libraries
-    //    
-    gSystem->Load("libANALYSISalice.so");
-    gSystem->Load("libANALYSIScalib.so");
-    gSystem->Load("libTENDER.so");
-    gSystem->Load("libPWG1.so");
-    gSystem->Load("libPWG4PartCorrBase.so");
-    gSystem->Load("libHMPIDbase.so");
-}
diff --git a/PWG1/CalibMacros/Pass0/makeOCDB.C b/PWG1/CalibMacros/Pass0/makeOCDB.C
deleted file mode 100644 (file)
index 62c48f5..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
-  macro to extract the OCDB entries
-
-  input: CalibObjects.root
-  ouput: TimeGain and TimeVdrift calibration objects for TPC and TRD
-
-  Example:
-  .L $ALICE_ROOT/PWG1/CalibMacros/Pass0/makeOCDB.C
-  makeOCDB("105160");
-
-*/
-
-void makeOCDB(TString runNumberString, TString  ocdbStorage="")
-{
-  //
-  // extract TPC OCDB entries
-  //
-  gROOT->Macro("LoadLibraries.C");
-  gROOT->LoadMacro("ConfigCalibTrain.C");
-
-  // switch off log info
-  AliLog::SetClassDebugLevel("AliESDEvent",0);
-
-  // config GRP
-  Int_t runNumber = runNumberString.Atoi();
-  printf("runNumber from runCalibTrain = %d\n",runNumber);
-  ConfigCalibTrain(runNumber, "raw://");
-
-  // Steering Tasks - set output storage
-  // DefaultStorage set already before - in ConfigCalibTrain.C
-//ocdbStorage+="?se=ALICE::CERN::SE";
-
-  AliCDBManager::Instance()->SetSpecificStorage("*/*/*",ocdbStorage.Data());
-
-  // set OCDB storage
-  if (ocdbStorage.Length()==0) ocdbStorage+="local://"+gSystem->GetFromPipe("pwd")+"/OCDB";
-
-  // TPC part
-  TFile fcalib("CalibObjects.root");
-  AliTPCPreprocessorOffline proces;
-
-  // switch on parameter validation
-  proces.SetTimeGainRange(0.5,3.0);
-  proces.SwitchOnValidation();
-
-  // Make timegain calibration
-  //proces.CalibTimeGain("CalibObjects.root", runNumber,AliCDBRunRange::Infinity(),ocdbStorage);
-  proces.CalibTimeGain("CalibObjects.root", runNumber,runNumber,ocdbStorage);
-
-  // Make vdrift calibration
-  //proces.CalibTimeVdrift("CalibObjects.root",runNumber,AliCDBRunRange::Infinity(),ocdbStorage);
-  proces.CalibTimeVdrift("CalibObjects.root",runNumber,runNumber,ocdbStorage);
-  //
-  // TOF part
-  //
-  AliTOFAnalysisTaskCalibPass0 calibTask;
-  Printf("Calibrating TOF");
-  calibTask.ProcessOutput("CalibObjects.root", ocdbStorage);
-//
-//
-
-// T0 part
-  AliT0PreprocessorOffline procesT0;
-  // Make  calibration of channels offset
-   procesT0.Process("CalibObjects.root",runNumber, runNumber, ocdbStorage);
-
-
-
-   //TRD part
-   AliTRDPreprocessorOffline procestrd;
-   procestrd.SetLinearFitForVdrift(kTRUE);
-   procestrd.SetMinStatsVdriftT0PH(600*10);
-   procestrd.SetMinStatsVdriftLinear(50);
-   procestrd.SetMinStatsGain(600);
-   procestrd.SetLimitValidateNoData(40);
-   procestrd.SetLimitValidateBadCalib(40);
-   procestrd.SetAlternativeDriftVelocityFit(kTRUE);
-   procestrd.Init("CalibObjects.root");
-   Int_t versionVdriftUsed = procestrd.GetVersionVdriftUsed();
-   Int_t subversionVdriftUsed = procestrd.GetSubVersionVdriftUsed();
-   Int_t versionGainUsed = procestrd.GetVersionGainUsed();
-   Int_t subversionGainUsed = procestrd.GetSubVersionGainUsed();
-   Int_t versionExBUsed = procestrd.GetVersionExBUsed();
-   Int_t subversionExBUsed = procestrd.GetSubVersionExBUsed();
-   printf("version and subversion vdrift %d and %d\n",versionVdriftUsed,subversionVdriftUsed);
-   printf("version and subversion gain %d and %d\n",versionGainUsed,subversionGainUsed);
-   printf("version and subversion exb %d and %d\n",versionExBUsed,subversionExBUsed);
-   procestrd.Process("CalibObjects.root",runNumber,runNumber,ocdbStorage);
-   Int_t trdstatus = procestrd.GetStatus();
-  
-  
-  //Mean Vertex
-  AliMeanVertexPreprocessorOffline procesMeanVtx;
-  procesMeanVtx.ProcessOutput("CalibObjects.root", ocdbStorage, runNumber);
-       
-  return;
-}
diff --git a/PWG1/CalibMacros/Pass0/makeOCDB.byComponent.C b/PWG1/CalibMacros/Pass0/makeOCDB.byComponent.C
deleted file mode 100644 (file)
index c7b98ec..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
-  macro to extract the OCDB entries
-
-  input: CalibObjects.root
-  ouput: TimeGain and TimeVdrift calibration objects for TPC and TRD
-
-  Example:
-  .L $ALICE_ROOT/PWG1/CalibMacros/Pass0/makeOCDB.C
-  makeOCDB("105160");
-
-*/
-
-//__________________________________________________________________
-
-void makeOCDB(TString runNumberString, TString ocdbStorage = "")
-{
-  makeOCDB("CalibObjects.root", "ALL", runNumberString, ocdbStorage);
-}
-
-//___________________________________________________________________
-
-void makeOCDB(const Char_t *filename, TString component, TString runNumberString, TString ocdbStorage = "")
-{
-  //
-  // extract TPC OCDB entries
-  //
-  gROOT->Macro("LoadLibraries.C");
-  gROOT->LoadMacro("ConfigCalibTrain.C");
-
-  // switch off log info
-  AliLog::SetClassDebugLevel("AliESDEvent",0);
-
-  // config GRP
-  Int_t runNumber = runNumberString.Atoi();
-  printf("runNumber from runCalibTrain = %d\n",runNumber);
-
-  /* configCalibTrain only if needed */
-  if (component == "TPC" || component == "TRD" || component == "ALL")
-    ConfigCalibTrain(runNumber, "raw://");
-  else
-    AliCDBManager::Instance()->SetDefaultStorage("raw://");
-  
-  // Steering Tasks - set output storage
-  // DefaultStorage set already before - in ConfigCalibTrain.C
-//ocdbStorage+="?se=ALICE::CERN::SE";
-
-  AliCDBManager::Instance()->SetSpecificStorage("*/*/*",ocdbStorage.Data());
-
-  // set OCDB storage
-  if (ocdbStorage.Length()==0) ocdbStorage+="local://"+gSystem->GetFromPipe("pwd")+"/OCDB";
-
-  
-  /* makeOCDB for selected component */
-  if (component == "TPC" || component == "ALL")
-    makeOCDB_TPC(filename, runNumber, ocdbStorage);
-  if (component == "TOF" || component == "ALL")
-    makeOCDB_TOF(filename, runNumber, ocdbStorage);
-  if (component == "T0" || component == "ALL")
-    makeOCDB_T0(filename, runNumber, ocdbStorage);
-  if (component == "TRD" || component == "ALL")
-    makeOCDB_TRD(filename, runNumber, ocdbStorage);
-  if (component == "MeanVertex" || component == "ALL")
-    makeOCDB_MeanVertex(filename, runNumber, ocdbStorage);
-  
-  gSystem->Exec(Form("touch %s_ocdb_done", component.Data()));
-  return;
-}
-
-//___________________________________________________________________
-
-void makeOCDB_TPC(const Char_t *filename, Int_t runNumber, TString ocdbStorage)
-{
-
-  // TPC part
-  TFile fcalib(filename);
-  AliTPCPreprocessorOffline proces;
-
-  // switch on parameter validation
-  proces.SetTimeGainRange(0.5,3.0);
-  proces.SwitchOnValidation();
-
-  // Make timegain calibration
-  //proces.CalibTimeGain(filename, runNumber,AliCDBRunRange::Infinity(),ocdbStorage);
-  proces.CalibTimeGain(filename, runNumber,runNumber,ocdbStorage);
-
-  // Make vdrift calibration
-  //proces.CalibTimeVdrift(filename,runNumber,AliCDBRunRange::Infinity(),ocdbStorage);
-  proces.CalibTimeVdrift(filename,runNumber,runNumber,ocdbStorage);
-
-}
-
-//___________________________________________________________________
-
-void makeOCDB_TOF(const Char_t *filename, Int_t runNumber, TString ocdbStorage)
-{
-  AliTOFAnalysisTaskCalibPass0 calibTask;
-  Printf("Calibrating TOF");
-  calibTask.ProcessOutput(filename, ocdbStorage);
-}
-
-//___________________________________________________________________
-
-void makeOCDB_T0(const Char_t *filename, Int_t runNumber, TString ocdbStorage)
-{
-  // T0 part
-  AliT0PreprocessorOffline procesT0;
-  // Make  calibration of channels offset
-  procesT0.Process(filename,runNumber, runNumber, ocdbStorage);
-}
-
-//___________________________________________________________________
-
-void makeOCDB_TRD(const Char_t *filename, Int_t runNumber, TString ocdbStorage)
-{
-   //TRD part
-   AliTRDPreprocessorOffline procestrd;
-   procestrd.SetLinearFitForVdrift(kTRUE);
-   procestrd.SetMinStatsVdriftT0PH(600*10);
-   procestrd.SetMinStatsVdriftLinear(50);
-   procestrd.SetMinStatsGain(600);
-   procestrd.Init(filename);
-   Int_t versionVdriftUsed = procestrd.GetVersionVdriftUsed();
-   Int_t subversionVdriftUsed = procestrd.GetSubVersionVdriftUsed();
-   Int_t versionGainUsed = procestrd.GetVersionGainUsed();
-   Int_t subversionGainUsed = procestrd.GetSubVersionGainUsed();
-   Int_t versionExBUsed = procestrd.GetVersionExBUsed();
-   Int_t subversionExBUsed = procestrd.GetSubVersionExBUsed();
-   printf("version and subversion vdrift %d and %d\n",versionVdriftUsed,subversionVdriftUsed);
-   printf("version and subversion gain %d and %d\n",versionGainUsed,subversionGainUsed);
-   printf("version and subversion exb %d and %d\n",versionExBUsed,subversionExBUsed);
-   procestrd.Process(filename,runNumber,runNumber,ocdbStorage);
-   Int_t trdstatus = procestrd.GetStatus();
-
-}
-
-//___________________________________________________________________
-
-void makeOCDB_MeanVertex(const Char_t *filename, Int_t runNumber, TString ocdbStorage)
-{
-  //Mean Vertex
-  AliMeanVertexPreprocessorOffline procesMeanVtx;
-  procesMeanVtx.ProcessOutput(filename, ocdbStorage, runNumber);
-}
-
-//___________________________________________________________________
-
diff --git a/PWG1/ITS/AliAnalysisTaskSEImpParRes.cxx b/PWG1/ITS/AliAnalysisTaskSEImpParRes.cxx
deleted file mode 100644 (file)
index c6857b3..0000000
+++ /dev/null
@@ -1,1991 +0,0 @@
-/**************************************************************************
- * Copyright(c) 1998-2010, ALICE Experiment at CERN, All rights reserved. *
- *                                                                        *
- * Author: The ALICE Off-line Project.                                    *
- * Contributors are mentioned in the code where appropriate.              *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-/////////////////////////////////////////////////////////////
-//
-// AliAnalysisTaskSE for the study of the impact parameter resolution
-//
-// Authors:A.Dainese,    andrea.dainese@pd.infn.it
-//     and Xianbao Yuan, yuanxb@iopp.ccnu.edu.cn; xianbao.yuan@pd.infn.it
-/////////////////////////////////////////////////////////
-
-#include <TList.h>
-#include <TH1F.h>
-
-#include "AliAnalysisManager.h"
-#include "AliGeomManager.h"
-#include "AliMultiplicity.h"
-#include "AliTrackPointArray.h"
-#include "AliMCEventHandler.h"
-#include "AliGenEventHeader.h"
-#include "AliMCEvent.h"
-#include "AliStack.h"
-#include "AliESDEvent.h"
-#include "AliESDVertex.h"
-#include "AliESDtrack.h"   
-#include "AliVertexerTracks.h"
-#include "AliVVertex.h"
-#include "AliPID.h"
-#include "AliAnalysisTaskSEImpParRes.h"
-
-ClassImp(AliAnalysisTaskSEImpParRes)
-
-//________________________________________________________________________
-AliAnalysisTaskSEImpParRes::AliAnalysisTaskSEImpParRes():
-AliAnalysisTaskSE(),
-fReadMC(kFALSE),
-fSelectedPdg(-1),
-fUseDiamond(kFALSE),
-fSkipTrack(kTRUE),
-fMinMult(0),
-fMaxMult(1000000),
-fOutputitspureSARec(0),
-fOutputitspureSASkip(0), 
-fOutputallPointRec(0),
-fOutputallPointSkip(0),
-fOutputpartPointRec(0),
-fOutputpartPointSkip(0),
-fOutputonepointSPDRec(0),
-fOutputonepointSPDSkip(0),
-fOutputpostvTracRec(0),
-fOutputpostvTracSkip(0),
-fOutputnegtvTracRec(0),
-fOutputnegtvTracSkip(0),
-fOutputpullAllpointRec(0),
-fOutputpullAllpointSkip(0),
-fOutputOnlyRefitRec(0),
-fOutputOnlyRefitSkip(0),
-fOutputSinThetaRec(0),
-fOutputSinThetaSkip(0),
-fOutputallPointTrue(0),
-fOutputpostvTracTrue(0),
-fOutputnegtvTracTrue(0),
-fOutputpullAllpointTrue(0),
-fOutputphiAllpointSkip(0),
-fOutputphiPostvtracSkip(0),
-fOutputphiNegtvtracSkip(0),
-fOutputclusterTypeSPD01Skip(0),
-fOutputclusterTypeSPD02Skip(0),
-fOutputclusterTypeSPD03Skip(0),
-fOutputclusterTypeSPD11Skip(0),
-fOutputclusterTypeSPD12Skip(0),
-fOutputclusterTypeSPD13Skip(0),
-fOutputparticlePID(0),
-fOutputPt(0),
-fNentries(0),
-fEstimVtx(0)
-{
-  //
-  // Default constructor
-  //
-}
-
-//________________________________________________________________________
-AliAnalysisTaskSEImpParRes::AliAnalysisTaskSEImpParRes(const char *name):
-AliAnalysisTaskSE(name),
-fReadMC(kFALSE),
-fSelectedPdg(-1),
-fUseDiamond(kFALSE),
-fSkipTrack(kTRUE),
-fMinMult(0),
-fMaxMult(1000000),
-fOutputitspureSARec(0),
-fOutputitspureSASkip(0), 
-fOutputallPointRec(0),
-fOutputallPointSkip(0),
-fOutputpartPointRec(0),
-fOutputpartPointSkip(0),
-fOutputonepointSPDRec(0),
-fOutputonepointSPDSkip(0),
-fOutputpostvTracRec(0),
-fOutputpostvTracSkip(0),
-fOutputnegtvTracRec(0),
-fOutputnegtvTracSkip(0),
-fOutputpullAllpointRec(0),
-fOutputpullAllpointSkip(0),
-fOutputOnlyRefitRec(0),
-fOutputOnlyRefitSkip(0),
-fOutputSinThetaRec(0),
-fOutputSinThetaSkip(0),
-fOutputallPointTrue(0),
-fOutputpostvTracTrue(0),
-fOutputnegtvTracTrue(0),
-fOutputpullAllpointTrue(0),
-fOutputphiAllpointSkip(0),
-fOutputphiPostvtracSkip(0),
-fOutputphiNegtvtracSkip(0),
-fOutputclusterTypeSPD01Skip(0),
-fOutputclusterTypeSPD02Skip(0),
-fOutputclusterTypeSPD03Skip(0),
-fOutputclusterTypeSPD11Skip(0),
-fOutputclusterTypeSPD12Skip(0),
-fOutputclusterTypeSPD13Skip(0),
-fOutputparticlePID(0),
-fOutputPt(0),
-fNentries(0),
-fEstimVtx(0)
-{
-  //
-  // Default constructor
-  //
-
-  DefineOutput(1, TList::Class());  //My private output
-  DefineOutput(2, TList::Class());  //My private output
-  DefineOutput(3, TList::Class());  //My private output
-  DefineOutput(4, TList::Class());  //My private output
-  DefineOutput(5, TList::Class());
-  DefineOutput(6, TList::Class());  //My private output
-  DefineOutput(7, TList::Class());
-  DefineOutput(8, TList::Class());  //My private output
-  DefineOutput(9, TList::Class());  //My private output
-  DefineOutput(10, TList::Class());  //My private output
-  DefineOutput(11, TList::Class());  //My private output
-  DefineOutput(12, TList::Class());
-  DefineOutput(13, TList::Class());  //My private output
-  DefineOutput(14, TList::Class());
-  DefineOutput(15, TList::Class());  //My private output
-  DefineOutput(16, TList::Class());
-  DefineOutput(17, TList::Class());  //My private output
-  DefineOutput(18, TList::Class());
-  DefineOutput(19, TList::Class());  //My private output
-  DefineOutput(20, TList::Class());  //My private output
-  DefineOutput(21, TList::Class());
-  DefineOutput(22, TList::Class());  //My private output
-  DefineOutput(23, TList::Class());
-  DefineOutput(24, TList::Class());  //My private output
-  DefineOutput(25, TList::Class());
-  DefineOutput(26, TList::Class());  //My private output
-  DefineOutput(27, TList::Class());
-  DefineOutput(28, TList::Class());  //My private output
-  DefineOutput(29, TList::Class());
-  DefineOutput(30, TList::Class());  //My private output
-  DefineOutput(31, TList::Class());
-  DefineOutput(32, TList::Class());  //My private output
-  DefineOutput(33, TList::Class());  //My private output
-  DefineOutput(34, TH1F::Class());
-  DefineOutput(35, TH1F::Class());
-}
-
-//________________________________________________________________________
-AliAnalysisTaskSEImpParRes::~AliAnalysisTaskSEImpParRes()
-{
-  //
-  // default distructor  
-  // 
-  if (AliAnalysisManager::GetAnalysisManager()->IsProofMode()) return; // RS
-  //
-  if (fOutputitspureSARec)                      { delete fOutputitspureSARec; fOutputitspureSARec=0x0;}
-  if (fOutputitspureSASkip)                   { delete fOutputitspureSASkip; fOutputitspureSASkip=0x0;}
-  if (fOutputallPointRec)                        { delete fOutputallPointRec; fOutputallPointRec=0x0; }
-  if (fOutputallPointSkip)                     { delete fOutputallPointSkip; fOutputallPointSkip=0x0; }
-  if (fOutputpartPointRec)                     { delete fOutputpartPointRec; fOutputpartPointRec=0x0; }
-  if (fOutputpartPointSkip)                  { delete fOutputpartPointSkip; fOutputpartPointSkip=0x0; }
-  if (fOutputonepointSPDRec)                 { delete fOutputonepointSPDRec;fOutputonepointSPDRec=0x0;}
-  if (fOutputonepointSPDSkip)              { delete fOutputonepointSPDSkip;fOutputonepointSPDSkip=0x0;}
-  if (fOutputpostvTracRec)                      { delete fOutputpostvTracRec; fOutputpostvTracRec=0x0;}
-  if (fOutputpostvTracSkip)                  {  delete fOutputpostvTracSkip; fOutputpostvTracSkip=0x0;}
-  if (fOutputnegtvTracRec)                      { delete fOutputnegtvTracRec; fOutputnegtvTracRec=0x0;}
-  if (fOutputnegtvTracSkip)                   { delete fOutputnegtvTracSkip; fOutputnegtvTracSkip=0x0;}
-  if (fOutputpullAllpointRec)              {delete fOutputpullAllpointRec; fOutputpullAllpointRec=0x0;}
-  if (fOutputpullAllpointSkip)           {delete fOutputpullAllpointSkip; fOutputpullAllpointSkip=0x0;}
-  if (fOutputOnlyRefitRec)                       {delete fOutputOnlyRefitRec; fOutputOnlyRefitRec=0x0;}
-  if (fOutputOnlyRefitSkip)                    {delete fOutputOnlyRefitSkip; fOutputOnlyRefitSkip=0x0;}
-  if (fOutputSinThetaRec)                          {delete fOutputSinThetaRec; fOutputSinThetaRec=0x0;}  
-  if (fOutputSinThetaSkip)                       {delete fOutputSinThetaSkip; fOutputSinThetaSkip=0x0;}
-  if (fOutputallPointTrue)                       {delete fOutputallPointTrue; fOutputallPointTrue=0x0;}
-  if (fOutputpostvTracTrue)                     {delete fOutputpostvTracTrue;fOutputpostvTracTrue=0x0;}
-  if (fOutputnegtvTracTrue)                     {delete fOutputnegtvTracTrue;fOutputnegtvTracTrue=0x0;}
-  if (fOutputpullAllpointTrue)            {delete fOutputpullAllpointTrue;fOutputpullAllpointTrue=0x0;}
-  if (fOutputphiAllpointSkip)               {delete fOutputphiAllpointSkip;fOutputphiAllpointSkip=0x0;}
-  if (fOutputphiPostvtracSkip)            {delete fOutputphiPostvtracSkip;fOutputphiPostvtracSkip=0x0;}
-  if (fOutputphiNegtvtracSkip)            {delete fOutputphiNegtvtracSkip;fOutputphiNegtvtracSkip=0x0;}
-  if (fOutputclusterTypeSPD01Skip){delete fOutputclusterTypeSPD01Skip;fOutputclusterTypeSPD01Skip=0x0;}
-  if (fOutputclusterTypeSPD02Skip){delete fOutputclusterTypeSPD02Skip;fOutputclusterTypeSPD02Skip=0x0;}
-  if (fOutputclusterTypeSPD03Skip){delete fOutputclusterTypeSPD03Skip;fOutputclusterTypeSPD03Skip=0x0;}
-  if (fOutputclusterTypeSPD11Skip){delete fOutputclusterTypeSPD11Skip;fOutputclusterTypeSPD11Skip=0x0;}
-  if (fOutputclusterTypeSPD12Skip){delete fOutputclusterTypeSPD12Skip;fOutputclusterTypeSPD12Skip=0x0;}
-  if (fOutputclusterTypeSPD13Skip){delete fOutputclusterTypeSPD13Skip;fOutputclusterTypeSPD13Skip=0x0;}
-  if (fOutputparticlePID)                           {delete fOutputparticlePID;fOutputparticlePID=0x0;}
-  if (fOutputPt)                                                      {delete fOutputPt;fOutputPt=0x0;}
-  if (fNentries)                                           { delete fNentries;     fNentries    =0x0; }
-  if (fEstimVtx)                                           { delete fEstimVtx;     fEstimVtx    =0x0; }
-
-} 
-
-//________________________________________________________________________
-void AliAnalysisTaskSEImpParRes::UserCreateOutputObjects()
-{
-  // 
-  // Create the output container
-  //
-  
-  if(fDebug>1) printf("AnalysisTaskSEImpParRes::UserCreateOutputObjects() \n");
-  
-  // Several histograms are more conveniently managed in a TList
-  if (!fOutputitspureSARec) {
-    fOutputitspureSARec = new TList();
-    fOutputitspureSARec->SetOwner();
-    fOutputitspureSARec->SetName("ITSpureSARec");
-  }
-
-  if (!fOutputitspureSASkip) {
-    fOutputitspureSASkip = new TList();
-    fOutputitspureSASkip->SetOwner();
-    fOutputitspureSASkip->SetName("ITSpureSASkip");
-  }
-
-  if (!fOutputallPointRec) {
-    fOutputallPointRec = new TList();
-    fOutputallPointRec->SetOwner();
-    fOutputallPointRec->SetName("allpointRec");
-  }
-
-  if (!fOutputallPointSkip) {
-    fOutputallPointSkip = new TList();
-    fOutputallPointSkip->SetOwner();
-    fOutputallPointSkip->SetName("allpointSkip");
-  }
-
-  if (!fOutputpartPointRec) {
-    fOutputpartPointRec = new TList();
-    fOutputpartPointRec->SetOwner();
-    fOutputpartPointRec->SetName("partpointRec");
-  }
-
-  if (!fOutputpartPointSkip) {
-    fOutputpartPointSkip = new TList();
-    fOutputpartPointSkip->SetOwner();
-    fOutputpartPointSkip->SetName("partpointSkip");
-  }
-
-  if (!fOutputonepointSPDRec) {
-    fOutputonepointSPDRec = new TList();
-    fOutputonepointSPDRec->SetOwner();
-    fOutputonepointSPDRec->SetName("onepointSPDRec");
-  }
-
-  if (!fOutputonepointSPDSkip) {
-    fOutputonepointSPDSkip = new TList();
-    fOutputonepointSPDSkip->SetOwner();
-    fOutputonepointSPDSkip->SetName("onepointSPDSkip");
-  }
-
-  if (!fOutputpostvTracRec) {
-    fOutputpostvTracRec = new TList();
-    fOutputpostvTracRec->SetOwner();
-    fOutputpostvTracRec->SetName("postvtracRec");
-  }
-
-  if (!fOutputpostvTracSkip) {
-    fOutputpostvTracSkip = new TList();
-    fOutputpostvTracSkip->SetOwner();
-    fOutputpostvTracSkip->SetName("postvtracSkip");
-  }
-  if (!fOutputnegtvTracRec) {
-    fOutputnegtvTracRec = new TList();
-    fOutputnegtvTracRec->SetOwner();
-    fOutputnegtvTracRec->SetName("negtvtracRe");
-  }
-
-  if (!fOutputnegtvTracSkip) {
-    fOutputnegtvTracSkip = new TList();
-    fOutputnegtvTracSkip->SetOwner();
-    fOutputnegtvTracSkip->SetName("negtvtracSkip");
-  }
-  
-  if (!fOutputpullAllpointSkip) {
-    fOutputpullAllpointSkip = new TList();
-    fOutputpullAllpointSkip->SetOwner();
-    fOutputpullAllpointSkip->SetName("pullAllpointSkip");
-  }
-  
-  if (!fOutputpullAllpointRec) {
-    fOutputpullAllpointRec = new TList();
-    fOutputpullAllpointRec->SetOwner();
-    fOutputpullAllpointRec->SetName("pullAllpointRec");
-  }
-  
-  if (!fOutputOnlyRefitRec) {
-    fOutputOnlyRefitRec = new TList();
-    fOutputOnlyRefitRec->SetOwner();
-    fOutputOnlyRefitRec->SetName("onlyRefitRec");
-  }
-  
-  if (!fOutputOnlyRefitSkip) {
-    fOutputOnlyRefitSkip = new TList();
-    fOutputOnlyRefitSkip->SetOwner();
-    fOutputOnlyRefitSkip->SetName("onlyRefitRec");
-  }
-  
-  if (!fOutputallPointTrue) {
-    fOutputallPointTrue = new TList();
-    fOutputallPointTrue->SetOwner();
-    fOutputallPointTrue->SetName("allpointTrue");
-  }
-  
-  if (!fOutputpostvTracTrue) {
-    fOutputpostvTracTrue = new TList();
-    fOutputpostvTracTrue->SetOwner();
-    fOutputpostvTracTrue->SetName("postvtracTrue");
-  }
-  
-  if (!fOutputnegtvTracTrue) {
-    fOutputnegtvTracTrue = new TList();
-    fOutputnegtvTracTrue->SetOwner();
-    fOutputnegtvTracTrue->SetName("negtvtracTrue");
-  }
-  
-  if (!fOutputpullAllpointTrue) {
-    fOutputpullAllpointTrue = new TList();
-    fOutputpullAllpointTrue->SetOwner();
-    fOutputpullAllpointTrue->SetName("pullAllpointTrue");
-  } 
-  
-  if (!fOutputclusterTypeSPD01Skip) {
-    fOutputclusterTypeSPD01Skip = new TList();
-    fOutputclusterTypeSPD01Skip->SetOwner();
-    fOutputclusterTypeSPD01Skip->SetName("clustertypeSPD01Skip");
-  }
-  
-  
-  if (!fOutputclusterTypeSPD02Skip) {
-    fOutputclusterTypeSPD02Skip = new TList();
-    fOutputclusterTypeSPD02Skip->SetOwner();
-    fOutputclusterTypeSPD02Skip->SetName("clustertypeSPD02Skip");
-  }
-  
-  if (!fOutputclusterTypeSPD03Skip) {
-    fOutputclusterTypeSPD03Skip = new TList();
-    fOutputclusterTypeSPD03Skip->SetOwner();
-    fOutputclusterTypeSPD03Skip->SetName("clustertypeSPD03Skip");
-  }
-  
-  if (!fOutputclusterTypeSPD11Skip) {
-    fOutputclusterTypeSPD11Skip = new TList();
-    fOutputclusterTypeSPD11Skip->SetOwner();
-    fOutputclusterTypeSPD11Skip->SetName("clustertypeSPD11Skip");
-  }
-  
-  if (!fOutputclusterTypeSPD12Skip) {
-    fOutputclusterTypeSPD12Skip = new TList();
-    fOutputclusterTypeSPD12Skip->SetOwner();
-    fOutputclusterTypeSPD12Skip->SetName("clustertypeSPD12Skip");
-  }
-  
-  if (!fOutputclusterTypeSPD13Skip) {
-    fOutputclusterTypeSPD13Skip = new TList();
-    fOutputclusterTypeSPD13Skip->SetOwner();
-    fOutputclusterTypeSPD13Skip->SetName("clustertypeSPD13Skip");
-  }
-  
-  if (!fOutputparticlePID) {
-    fOutputparticlePID = new TList();
-    fOutputparticlePID->SetOwner();
-    fOutputparticlePID->SetName("particlePID");
-  }
-  if (!fOutputPt) {
-    fOutputPt = new TList();
-    fOutputPt->SetOwner();
-    fOutputPt->SetName("Pt");
-  }
-
-  const Int_t nhist=26;
-  const TString d0ITSpureSArphiTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0ITSpureSAzTitle = "d_{0} Distribution_z; d_{0} [#mum]; Entries";
-  const TString d0allpointrphiTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0allpointzTitle  = "d_{0} Distribution_z; d_{0} [#mum]; Entries";
-  const TString d0partpointrphiTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0partpointzTitle  = "d_{0} Distribution_z; d_{0} [#mum]; Entries";
-  const TString d0onepointSPDrphiTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0onepointSPDzTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0postvtracrphiTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0postvtraczTitle  = "d_{0} Distribution_z; d_{0} [#mum]; Entries";
-  const TString d0negtvtracrphiTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0negtvtraczTitle  = "d_{0} Distribution_z; d_{0} [#mum]; Entries";
-  const TString d0pullAllpointrphiTitle = "d_{0} Pull Distribution_rphi; d_{0} pull; Entries";
-  const TString d0pullAllpointzTitle  = "d_{0} Pull Distribution_z; d_{0} pull; Entries";
-  const TString d0onlyRefitrphiTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0onlyRefitzTitle  = "d_{0} Distribution_z; d_{0} [#mum]; Entries";
-  const TString d0ptTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0clusterTypeSPD01rphiTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0clusterTypeSPD01zTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries"; 
-  const TString d0clusterTypeSPD02rphiTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0clusterTypeSPD02zTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0clusterTypeSPD03rphiTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0clusterTypeSPD03zTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0clusterTypeSPD11rphiTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0clusterTypeSPD11zTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0clusterTypeSPD12rphiTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0clusterTypeSPD12zTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0clusterTypeSPD13rphiTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0clusterTypeSPD13zTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0rphiTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0zTitle  = "d_{0} Distribution_z; d_{0} [#mum]; Entries";
-  const TString d0rphiParticlPID = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0zPrtilePID  = "d_{0} Distribution_z; d_{0} [#mum]; Entries";
-
-  TString  named0itspureSArphiRec,named0itspureSAzRec,named0allpointrphiRec, named0allpointzRec,named0partpointrphiRec, named0partpointzRec,named0onepointSPDrphiRec, named0onepointSPDzRec,named0postvtracrphiRec, named0postvtraczRec,named0negtvtracrphiRec, named0negtvtraczRec,named0pt,named0pullAllpointrphiRec,named0pullAllpointzRec,named0onlyRefitrphiRec,named0onlyRefitzRec,named0pionPIDrphiRec, named0pionPIDzRec,named0kaonPIDrphiRec, named0kaonPIDzRec,named0protonPIDrphiRec, named0protonPIDzRec;
-  TH1F *d0ITSpureSArphiRec=0,*d0ITSpureSAzRec=0,*d0AllpointrphiRec=0, *d0AllpointzRec=0,*d0PartpointrphiRec=0, *d0PartpointzRec=0,
-    *d0OnepointSPDrphiRec=0,*d0OnepointSPDzRec=0,*d0PostvtracrphiRec=0, *d0PostvtraczRec=0,*d0NegtvtracrphiRec=0, *d0NegtvtraczRec=0,*d0Pt=0,*d0PullAllpointrphiRec=0,*d0PullAllpointzRec=0,*d0OnlyRefitrphiRec=0,*d0OnlyRefitzRec=0,*d0PionPIDrphiRec=0,*d0PionPIDzRec=0,*d0KaonPIDrphiRec=0,*d0KaonPIDzRec=0,*d0ProtonPIDrphiRec=0,*d0ProtonPIDzRec=0;
-
-  TString  named0itspureSArphiSkip,named0itspureSAzSkip,named0allpointrphiSkip, named0allpointzSkip,named0partpointrphiSkip, named0partpointzSkip,named0onepointSPDrphiSkip, named0onepointSPDzSkip,named0postvtracrphiSkip, named0postvtraczSkip,named0negtvtracrphiSkip, named0negtvtraczSkip,named0ptSkip,named0pullAllpointrphiSkip,named0pullAllpointzSkip,named0onlyRefitrphiSkip,named0onlyRefitzSkip,named0allpointrphiTrue, named0allpointzTrue,named0postvtracrphiTrue, named0postvtraczTrue,named0negtvtracrphiTrue, named0negtvtraczTrue,named0pullAllpointrphiTrue,named0pullAllpointzTrue,named0clusterTypeSPD01rphiSkip,named0clusterTypeSPD01zSkip,named0clusterTypeSPD02rphiSkip,named0clusterTypeSPD02zSkip,named0clusterTypeSPD03rphiSkip,named0clusterTypeSPD03zSkip,named0clusterTypeSPD11rphiSkip,named0clusterTypeSPD11zSkip,named0clusterTypeSPD12rphiSkip,named0clusterTypeSPD12zSkip,named0clusterTypeSPD13rphiSkip,named0clusterTypeSPD13zSkip,named0pionPIDrphiSkip, named0pionPIDzSkip,named0kaonPIDrphiSkip, named0kaonPIDzSkip,named0protonPIDrphiSkip, named0protonPIDzSkip;
-
-  TH1F *d0ITSpureSArphiSkip=0,*d0ITSpureSAzSkip=0,*d0AllpointrphiSkip=0, *d0AllpointzSkip=0,*d0PartpointrphiSkip=0, *d0PartpointzSkip=0,*d0OnepointSPDrphiSkip=0,*d0OnepointSPDzSkip=0,*d0PostvtracrphiSkip=0, *d0PostvtraczSkip=0,*d0NegtvtracrphiSkip=0,*d0NegtvtraczSkip=0,*d0PullAllpointrphiSkip=0,*d0PullAllpointzSkip=0,*d0OnlyRefitrphiSkip=0,*d0OnlyRefitzSkip=0,*d0AllpointrphiTrue=0, *d0AllpointzTrue=0,*d0PostvtracrphiTrue=0, *d0PostvtraczTrue=0,*d0NegtvtracrphiTrue=0,*d0NegtvtraczTrue=0,*d0PullAllpointrphiTrue,*d0PullAllpointzTrue,*d0ClustertypeSPD01rphiSkip=0,*d0ClustertypeSPD01zSkip=0,*d0ClustertypeSPD02rphiSkip=0,*d0ClustertypeSPD02zSkip=0,*d0ClustertypeSPD03rphiSkip=0,*d0ClustertypeSPD03zSkip=0,*d0ClustertypeSPD11rphiSkip=0,*d0ClustertypeSPD11zSkip=0,*d0ClustertypeSPD12rphiSkip=0,*d0ClustertypeSPD12zSkip=0,*d0ClustertypeSPD13rphiSkip=0,*d0ClustertypeSPD13zSkip=0,*d0PionPIDrphiSkip=0,*d0PionPIDzSkip=0,*d0KaonPIDrphiSkip=0,*d0KaonPIDzSkip=0,*d0ProtonPIDrphiSkip=0,*d0ProtonPIDzSkip=0;
-
-  for(Int_t i=1; i<=nhist; i++) {
-   
-    named0itspureSArphiRec = "d0itspureSArphiRec_";
-    named0itspureSArphiRec += i;
-    named0itspureSAzRec = "d0itspureSAzRec_";
-    named0itspureSAzRec += i;
-    d0ITSpureSArphiRec = new TH1F(named0itspureSArphiRec.Data(), d0ITSpureSArphiTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0ITSpureSArphiRec->Sumw2();
-    d0ITSpureSArphiRec->SetMinimum(0);  
-    fOutputitspureSARec->Add(d0ITSpureSArphiRec);
-    d0ITSpureSAzRec = new TH1F(named0itspureSAzRec.Data(), d0ITSpureSAzTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0ITSpureSAzRec->Sumw2();
-    d0ITSpureSAzRec->SetMinimum(0);  
-    fOutputitspureSARec->Add(d0ITSpureSAzRec);
-
-    named0itspureSArphiSkip = "d0itspureSArphiSkip_";
-    named0itspureSArphiSkip += i;
-    named0itspureSAzSkip = "d0itspureSAzSkip_";
-    named0itspureSAzSkip += i;
-    d0ITSpureSArphiSkip = new TH1F(named0itspureSArphiSkip.Data(), d0ITSpureSArphiTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));    d0ITSpureSArphiSkip->Sumw2();
-    d0ITSpureSArphiSkip->SetMinimum(0);  
-    fOutputitspureSASkip->Add(d0ITSpureSArphiSkip);
-    d0ITSpureSAzSkip = new TH1F(named0itspureSAzSkip.Data(), d0ITSpureSAzTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0ITSpureSAzSkip->Sumw2();
-    d0ITSpureSAzSkip->SetMinimum(0);  
-    fOutputitspureSASkip->Add(d0ITSpureSAzSkip);
-
-    named0allpointrphiRec = "d0allpointrphiRec_";
-    named0allpointrphiRec += i;
-    named0allpointzRec = "d0allpointzRec_";
-    named0allpointzRec += i;
-    d0AllpointrphiRec = new TH1F(named0allpointrphiRec.Data(), d0allpointrphiTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0AllpointrphiRec->Sumw2();
-    d0AllpointrphiRec->SetMinimum(0);  
-    fOutputallPointRec->Add(d0AllpointrphiRec);
-    d0AllpointzRec= new TH1F(named0allpointzRec.Data(), d0allpointzTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0AllpointzRec->Sumw2();
-    d0AllpointzRec->SetMinimum(0);  
-    fOutputallPointRec->Add(d0AllpointzRec);
-
-    named0allpointrphiSkip = "d0allpointrphiSkip_";
-    named0allpointrphiSkip += i;
-    named0allpointzSkip = "d0allpointzSkip_";
-    named0allpointzSkip += i;
-    d0AllpointrphiSkip = new TH1F(named0allpointrphiSkip.Data(), d0allpointrphiTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0AllpointrphiSkip->Sumw2();
-    d0AllpointrphiSkip->SetMinimum(0);  
-    fOutputallPointSkip->Add(d0AllpointrphiSkip);
-    d0AllpointzSkip = new TH1F(named0allpointzSkip.Data(), d0allpointzTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0AllpointzSkip->Sumw2();
-    d0AllpointzSkip->SetMinimum(0);  
-    fOutputallPointSkip->Add(d0AllpointzSkip);
-
-    named0partpointrphiRec = "d0partpointrphiRec_";
-    named0partpointrphiRec += i;
-    named0partpointzRec = "d0partpointzRec_";
-    named0partpointzRec += i;
-    d0PartpointrphiRec = new TH1F(named0partpointrphiRec.Data(), d0partpointrphiTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0PartpointrphiRec->Sumw2();
-    d0PartpointrphiRec->SetMinimum(0);  
-    fOutputpartPointRec->Add(d0PartpointrphiRec);
-    d0PartpointzRec = new TH1F(named0partpointzRec.Data(), d0partpointzTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0PartpointzRec->Sumw2();
-    d0PartpointzRec->SetMinimum(0);  
-    fOutputpartPointRec->Add(d0PartpointzRec);
-
-    named0partpointrphiSkip = "d0partpointrphiSkip_";
-    named0partpointrphiSkip += i;
-    named0partpointzSkip = "d0partpointzSkip_";
-    named0partpointzSkip += i;
-    d0PartpointrphiSkip = new TH1F(named0partpointrphiSkip.Data(), d0partpointrphiTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0PartpointrphiSkip->Sumw2();
-    d0PartpointrphiSkip->SetMinimum(0);  
-    fOutputpartPointSkip->Add(d0PartpointrphiSkip);
-    d0PartpointzSkip = new TH1F(named0partpointzSkip.Data(), d0partpointzTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0PartpointzSkip->Sumw2();
-    d0PartpointzSkip->SetMinimum(0);  
-    fOutputpartPointSkip->Add(d0PartpointzSkip);
-
-    named0onepointSPDrphiRec = "d0onepointSPDrphiRec_";
-    named0onepointSPDrphiRec += i;
-    named0onepointSPDzRec = "d0onepointSPDzRec_";
-    named0onepointSPDzRec += i;
-    d0OnepointSPDrphiRec = new TH1F(named0onepointSPDrphiRec.Data(), d0onepointSPDrphiTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0OnepointSPDrphiRec->Sumw2();
-    d0OnepointSPDrphiRec->SetMinimum(0);  
-    fOutputonepointSPDRec->Add(d0OnepointSPDrphiRec);
-    d0OnepointSPDzRec = new TH1F(named0onepointSPDzRec.Data(), d0onepointSPDzTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0OnepointSPDzRec->Sumw2();
-    d0OnepointSPDzRec->SetMinimum(0);  
-    fOutputonepointSPDRec->Add(d0OnepointSPDzRec);
-
-    named0onepointSPDrphiSkip = "d0onepointSPDrphiSkip_";
-    named0onepointSPDrphiSkip += i;
-    named0onepointSPDzSkip = "d0onepointSPDzSkip_";
-    named0onepointSPDzSkip += i;
-    d0OnepointSPDrphiSkip = new TH1F(named0onepointSPDrphiSkip.Data(), d0onepointSPDrphiTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0OnepointSPDrphiSkip->Sumw2();
-    d0OnepointSPDrphiSkip->SetMinimum(0);  
-    fOutputonepointSPDSkip->Add(d0OnepointSPDrphiSkip);
-    d0OnepointSPDzSkip = new TH1F(named0onepointSPDzSkip.Data(), d0onepointSPDzTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0OnepointSPDzSkip->Sumw2();
-    d0OnepointSPDzSkip->SetMinimum(0);  
-    fOutputonepointSPDSkip->Add(d0OnepointSPDzSkip);
-
-    named0postvtracrphiRec = "d0postvtracrphiRec_";
-    named0postvtracrphiRec += i;
-    named0postvtraczRec = "d0postvtraczRec_";
-    named0postvtraczRec += i;
-    d0PostvtracrphiRec = new TH1F(named0postvtracrphiRec.Data(), d0postvtracrphiTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0PostvtracrphiRec->Sumw2();
-    d0PostvtracrphiRec->SetMinimum(0);  
-    fOutputpostvTracRec->Add(d0PostvtracrphiRec);
-    d0PostvtraczRec = new TH1F(named0postvtraczRec.Data(), d0postvtraczTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0PostvtraczRec->Sumw2();
-    d0PostvtraczRec->SetMinimum(0);  
-    fOutputpostvTracRec->Add(d0PostvtraczRec);
-
-    named0postvtracrphiSkip = "d0postvtracrphiSkip_";
-    named0postvtracrphiSkip += i;
-    named0postvtraczSkip = "d0postvtraczSkip_";
-    named0postvtraczSkip += i;
-    d0PostvtracrphiSkip = new TH1F(named0postvtracrphiSkip.Data(), d0postvtracrphiTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0PostvtracrphiSkip->Sumw2();
-    d0PostvtracrphiSkip->SetMinimum(0);  
-    fOutputpostvTracSkip->Add(d0PostvtracrphiSkip);
-    d0PostvtraczSkip = new TH1F(named0postvtraczSkip.Data(), d0postvtraczTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0PostvtraczSkip->Sumw2();
-    d0PostvtraczSkip->SetMinimum(0);  
-    fOutputpostvTracSkip->Add(d0PostvtraczSkip);
-
-    named0negtvtracrphiRec = "d0negtvtracrphiRec_";
-    named0negtvtracrphiRec += i;
-    named0negtvtraczRec = "d0negtvtraczRec_";
-    named0negtvtraczRec += i;
-    d0NegtvtracrphiRec = new TH1F(named0negtvtracrphiRec.Data(), d0negtvtracrphiTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0NegtvtracrphiRec->Sumw2();
-    d0NegtvtracrphiRec->SetMinimum(0);  
-    fOutputnegtvTracRec->Add(d0NegtvtracrphiRec);
-    d0NegtvtraczRec = new TH1F(named0negtvtraczRec.Data(), d0negtvtraczTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0NegtvtraczRec->Sumw2();
-    d0NegtvtraczRec->SetMinimum(0);  
-    fOutputnegtvTracRec->Add(d0NegtvtraczRec);
-
-    named0negtvtracrphiSkip = "d0negtvtracrphiSkip_";
-    named0negtvtracrphiSkip += i;
-    named0negtvtraczSkip = "d0negtvtraczSkip_";
-    named0negtvtraczSkip += i;
-    d0NegtvtracrphiSkip = new TH1F(named0negtvtracrphiSkip.Data(), d0negtvtracrphiTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0NegtvtracrphiSkip->Sumw2();
-    d0NegtvtracrphiSkip->SetMinimum(0);  
-    fOutputnegtvTracSkip->Add(d0NegtvtracrphiSkip);
-    d0NegtvtraczSkip = new TH1F(named0negtvtraczSkip.Data(), d0negtvtraczTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0NegtvtraczSkip->Sumw2();
-    d0NegtvtraczSkip->SetMinimum(0);  
-    fOutputnegtvTracSkip->Add(d0NegtvtraczSkip);
-
-    named0pullAllpointrphiSkip = "d0pullAllpointrphiSkip_";
-    named0pullAllpointrphiSkip +=i;
-    named0pullAllpointzSkip = "d0pullAllpointzSkip_";
-    named0pullAllpointzSkip +=i;
-    d0PullAllpointrphiSkip = new TH1F(named0pullAllpointrphiSkip.Data(),d0pullAllpointrphiTitle.Data(),400,-10.,10.);
-    d0PullAllpointrphiSkip->Sumw2();
-    d0PullAllpointrphiSkip->SetMinimum(0);
-    fOutputpullAllpointSkip->Add(d0PullAllpointrphiSkip);
-    d0PullAllpointzSkip = new TH1F(named0pullAllpointzSkip.Data(),d0pullAllpointzTitle.Data(),400,-10.,10.);
-    d0PullAllpointzSkip->Sumw2();
-    d0PullAllpointzSkip->SetMinimum(0);
-    fOutputpullAllpointSkip->Add(d0PullAllpointzSkip);
-
-    named0pullAllpointrphiRec = "d0pullAllpointrphiRec_";
-    named0pullAllpointrphiRec +=i;
-    named0pullAllpointzRec = "d0pullAllpointzRec_";
-    named0pullAllpointzRec +=i;
-    d0PullAllpointrphiRec = new TH1F(named0pullAllpointrphiRec.Data(),d0pullAllpointrphiTitle.Data(),400,-10.,10.);
-    d0PullAllpointrphiRec->Sumw2();
-    d0PullAllpointrphiRec->SetMinimum(0);
-    fOutputpullAllpointRec->Add(d0PullAllpointrphiRec);
-    d0PullAllpointzRec = new TH1F(named0pullAllpointzRec.Data(),d0pullAllpointzTitle.Data(),400,-10.,10.);
-    d0PullAllpointzRec->Sumw2();
-    d0PullAllpointzRec->SetMinimum(0);
-    fOutputpullAllpointRec->Add(d0PullAllpointzRec);
-
-    named0onlyRefitrphiRec = "d0onlyrefitrphiRec_";
-    named0onlyRefitrphiRec +=i;
-    named0onlyRefitzRec = "d0onlyrefitzRec_";
-    named0onlyRefitzRec +=i;
-    d0OnlyRefitrphiRec = new TH1F(named0onlyRefitrphiRec.Data(),d0onlyRefitrphiTitle.Data(),400,-Getd0HistRange(i),Getd0HistRange(i));
-    d0OnlyRefitrphiRec->Sumw2();
-    d0OnlyRefitrphiRec->SetMinimum(0);
-    fOutputOnlyRefitRec->Add(d0OnlyRefitrphiRec);
-    d0OnlyRefitzRec = new TH1F(named0onlyRefitzRec.Data(),d0onlyRefitzTitle.Data(),400,-Getd0HistRange(i),Getd0HistRange(i));
-    d0OnlyRefitzRec->Sumw2();
-    d0OnlyRefitzRec->SetMinimum(0);
-    fOutputOnlyRefitRec->Add(d0OnlyRefitzRec);
-
-    named0onlyRefitrphiSkip = "d0onlyrefitrphiSkip_";
-    named0onlyRefitrphiSkip +=i;
-    named0onlyRefitzSkip = "d0onlyrefitzSkip_";
-    named0onlyRefitzSkip +=i;
-    d0OnlyRefitrphiSkip = new TH1F(named0onlyRefitrphiSkip.Data(),d0onlyRefitrphiTitle.Data(),400,-Getd0HistRange(i),Getd0HistRange(i));
-    d0OnlyRefitrphiSkip->Sumw2();
-    d0OnlyRefitrphiSkip->SetMinimum(0);
-    fOutputOnlyRefitSkip->Add(d0OnlyRefitrphiSkip);
-    d0OnlyRefitzSkip = new TH1F(named0onlyRefitzSkip.Data(),d0onlyRefitzTitle.Data(),400,-Getd0HistRange(i),Getd0HistRange(i));
-    d0OnlyRefitzSkip->Sumw2();
-    d0OnlyRefitzSkip->SetMinimum(0);
-    fOutputOnlyRefitSkip->Add(d0OnlyRefitzSkip);
-
-    named0allpointrphiTrue = "d0allpointrphiTrue_";
-    named0allpointrphiTrue += i;
-    named0allpointzTrue = "d0allpointzTrue_";
-    named0allpointzTrue += i;
-    d0AllpointrphiTrue = new TH1F(named0allpointrphiTrue.Data(), d0allpointrphiTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0AllpointrphiTrue->Sumw2();
-    d0AllpointrphiTrue->SetMinimum(0);  
-    fOutputallPointTrue->Add(d0AllpointrphiTrue);
-    d0AllpointzTrue = new TH1F(named0allpointzTrue.Data(), d0allpointzTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0AllpointzTrue->Sumw2();
-    d0AllpointzTrue->SetMinimum(0);  
-    fOutputallPointTrue->Add(d0AllpointzTrue);
-
-    named0postvtracrphiTrue = "d0postvtracrphiTrue_";
-    named0postvtracrphiTrue += i;
-    named0postvtraczTrue = "d0postvtraczTrue_";
-    named0postvtraczTrue += i;
-    d0PostvtracrphiTrue = new TH1F(named0postvtracrphiTrue.Data(), d0postvtracrphiTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0PostvtracrphiTrue->Sumw2();
-    d0PostvtracrphiTrue->SetMinimum(0);  
-    fOutputpostvTracTrue->Add(d0PostvtracrphiTrue);
-    d0PostvtraczTrue = new TH1F(named0postvtraczTrue.Data(), d0postvtraczTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0PostvtraczTrue->Sumw2();
-    d0PostvtraczTrue->SetMinimum(0);  
-    fOutputpostvTracTrue->Add(d0PostvtraczTrue);
-
-    named0negtvtracrphiTrue = "d0negtvtracrphiTrue_";
-    named0negtvtracrphiTrue += i;
-    named0negtvtraczTrue = "d0negtvtraczTrue_";
-    named0negtvtraczTrue += i;
-    d0NegtvtracrphiTrue = new TH1F(named0negtvtracrphiTrue.Data(), d0negtvtracrphiTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0NegtvtracrphiTrue->Sumw2();
-    d0NegtvtracrphiTrue->SetMinimum(0);  
-    fOutputnegtvTracTrue->Add(d0NegtvtracrphiTrue);
-    d0NegtvtraczTrue = new TH1F(named0negtvtraczTrue.Data(), d0negtvtraczTitle.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0NegtvtraczTrue->Sumw2();
-    d0NegtvtraczTrue->SetMinimum(0);  
-    fOutputnegtvTracTrue->Add(d0NegtvtraczTrue);
-
-    named0pullAllpointrphiTrue = "d0pullAllpointrphiTrue_";
-    named0pullAllpointrphiTrue +=i;
-    named0pullAllpointzTrue = "d0pullAllpointzTrue_";
-    named0pullAllpointzTrue +=i;
-    d0PullAllpointrphiTrue = new TH1F(named0pullAllpointrphiTrue.Data(),d0pullAllpointrphiTitle.Data(),400,-10.,10.);
-    d0PullAllpointrphiTrue->Sumw2();
-    d0PullAllpointrphiTrue->SetMinimum(0);
-    fOutputpullAllpointTrue->Add(d0PullAllpointrphiTrue);
-    d0PullAllpointzTrue = new TH1F(named0pullAllpointzTrue.Data(),d0pullAllpointzTitle.Data(),400,-10.,10.);
-    d0PullAllpointzTrue->Sumw2();
-    d0PullAllpointzTrue->SetMinimum(0);
-    fOutputpullAllpointTrue->Add(d0PullAllpointzTrue);
-
-    named0clusterTypeSPD01rphiSkip = "d0clustertypeSPD01rphiSkip_";
-    named0clusterTypeSPD01rphiSkip +=i;
-    named0clusterTypeSPD01zSkip = "d0clustertypeSPD01zSkip_";
-    named0clusterTypeSPD01zSkip +=i;
-    d0ClustertypeSPD01rphiSkip = new TH1F(named0clusterTypeSPD01rphiSkip.Data(),d0clusterTypeSPD01rphiTitle.Data(),400,-Getd0HistRange(i),Getd0HistRange(i));
-    d0ClustertypeSPD01rphiSkip->Sumw2();
-    d0ClustertypeSPD01rphiSkip->SetMinimum(0);
-    fOutputclusterTypeSPD01Skip->Add(d0ClustertypeSPD01rphiSkip);
-    d0ClustertypeSPD01zSkip = new TH1F(named0clusterTypeSPD01zSkip.Data(),d0clusterTypeSPD01zTitle.Data(),400,-Getd0HistRange(i),Getd0HistRange(i));
-    d0ClustertypeSPD01zSkip->Sumw2();
-    d0ClustertypeSPD01zSkip->SetMinimum(0);
-    fOutputclusterTypeSPD01Skip->Add(d0ClustertypeSPD01zSkip);
-
-    named0clusterTypeSPD02rphiSkip = "d0clustertypeSPD02rphiSkip_";
-    named0clusterTypeSPD02rphiSkip +=i;
-    named0clusterTypeSPD02zSkip = "d0clustertypeSPD02zSkip_";
-    named0clusterTypeSPD02zSkip +=i;
-    d0ClustertypeSPD02rphiSkip = new TH1F(named0clusterTypeSPD02rphiSkip.Data(),d0clusterTypeSPD02rphiTitle.Data(),400,-Getd0HistRange(i),Getd0HistRange(i));
-    d0ClustertypeSPD02rphiSkip->Sumw2();
-    d0ClustertypeSPD02rphiSkip->SetMinimum(0);
-    fOutputclusterTypeSPD02Skip->Add(d0ClustertypeSPD02rphiSkip);
-    d0ClustertypeSPD02zSkip = new TH1F(named0clusterTypeSPD02zSkip.Data(),d0clusterTypeSPD02zTitle.Data(),400,-Getd0HistRange(i),Getd0HistRange(i));
-    d0ClustertypeSPD02zSkip->Sumw2();
-    d0ClustertypeSPD02zSkip->SetMinimum(0);
-    fOutputclusterTypeSPD02Skip->Add(d0ClustertypeSPD02zSkip);
-
-    named0clusterTypeSPD03rphiSkip = "d0clustertypeSPD03rphiSkip_";
-    named0clusterTypeSPD03rphiSkip +=i;
-    named0clusterTypeSPD03zSkip = "d0clustertypeSPD03zSkip_";
-    named0clusterTypeSPD03zSkip +=i;
-    d0ClustertypeSPD03rphiSkip = new TH1F(named0clusterTypeSPD03rphiSkip.Data(),d0clusterTypeSPD03rphiTitle.Data(),400,-Getd0HistRange(i),Getd0HistRange(i));
-    d0ClustertypeSPD03rphiSkip->Sumw2();
-    d0ClustertypeSPD03rphiSkip->SetMinimum(0);
-    fOutputclusterTypeSPD03Skip->Add(d0ClustertypeSPD03rphiSkip);
-    d0ClustertypeSPD03zSkip = new TH1F(named0clusterTypeSPD03zSkip.Data(),d0clusterTypeSPD03zTitle.Data(),400,-Getd0HistRange(i),Getd0HistRange(i));
-    d0ClustertypeSPD03zSkip->Sumw2();
-    d0ClustertypeSPD03zSkip->SetMinimum(0);
-    fOutputclusterTypeSPD03Skip->Add(d0ClustertypeSPD03zSkip);
-
-    named0clusterTypeSPD11rphiSkip = "d0clustertypeSPD11rphiSkip_";
-    named0clusterTypeSPD11rphiSkip +=i;
-    named0clusterTypeSPD11zSkip = "d0clustertypeSPD11zSkip_";
-    named0clusterTypeSPD11zSkip +=i;
-    d0ClustertypeSPD11rphiSkip = new TH1F(named0clusterTypeSPD11rphiSkip.Data(),d0clusterTypeSPD11rphiTitle.Data(),400,-Getd0HistRange(i),Getd0HistRange(i));
-    d0ClustertypeSPD11rphiSkip->Sumw2();
-    d0ClustertypeSPD11rphiSkip->SetMinimum(0);
-    fOutputclusterTypeSPD11Skip->Add(d0ClustertypeSPD11rphiSkip);
-    d0ClustertypeSPD11zSkip = new TH1F(named0clusterTypeSPD11zSkip.Data(),d0clusterTypeSPD11zTitle.Data(),400,-Getd0HistRange(i),Getd0HistRange(i));
-    d0ClustertypeSPD11zSkip->Sumw2();
-    d0ClustertypeSPD11zSkip->SetMinimum(0);
-    fOutputclusterTypeSPD11Skip->Add(d0ClustertypeSPD11zSkip);
-
-    named0clusterTypeSPD12rphiSkip = "d0clustertypeSPD12rphiSkip_";
-    named0clusterTypeSPD12rphiSkip +=i;
-    named0clusterTypeSPD12zSkip = "d0clustertypeSPD12zSkip_";
-    named0clusterTypeSPD12zSkip +=i;
-    d0ClustertypeSPD12rphiSkip = new TH1F(named0clusterTypeSPD12rphiSkip.Data(),d0clusterTypeSPD12rphiTitle.Data(),400,-Getd0HistRange(i),Getd0HistRange(i));
-    d0ClustertypeSPD12rphiSkip->Sumw2();
-    d0ClustertypeSPD12rphiSkip->SetMinimum(0);
-    fOutputclusterTypeSPD12Skip->Add(d0ClustertypeSPD12rphiSkip);
-    d0ClustertypeSPD12zSkip = new TH1F(named0clusterTypeSPD12zSkip.Data(),d0clusterTypeSPD12zTitle.Data(),400,-Getd0HistRange(i),Getd0HistRange(i));
-    d0ClustertypeSPD12zSkip->Sumw2();
-    d0ClustertypeSPD12zSkip->SetMinimum(0);
-    fOutputclusterTypeSPD12Skip->Add(d0ClustertypeSPD12zSkip);
-
-    named0clusterTypeSPD13rphiSkip = "d0clustertypeSPD13rphiSkip_";
-    named0clusterTypeSPD13rphiSkip +=i;
-    named0clusterTypeSPD13zSkip = "d0clustertypeSPD13zSkip_";
-    named0clusterTypeSPD13zSkip +=i;
-    d0ClustertypeSPD13rphiSkip = new TH1F(named0clusterTypeSPD13rphiSkip.Data(),d0clusterTypeSPD13rphiTitle.Data(),400,-Getd0HistRange(i),Getd0HistRange(i));
-    d0ClustertypeSPD13rphiSkip->Sumw2();
-    d0ClustertypeSPD13rphiSkip->SetMinimum(0);
-    fOutputclusterTypeSPD13Skip->Add(d0ClustertypeSPD13rphiSkip);
-    d0ClustertypeSPD13zSkip = new TH1F(named0clusterTypeSPD13zSkip.Data(),d0clusterTypeSPD13zTitle.Data(),400,-Getd0HistRange(i),Getd0HistRange(i));
-    d0ClustertypeSPD13zSkip->Sumw2();
-    d0ClustertypeSPD13zSkip->SetMinimum(0);
-    fOutputclusterTypeSPD13Skip->Add(d0ClustertypeSPD13zSkip);
-
-    named0pionPIDrphiRec = "d0pionPIDrphiRec_";
-    named0pionPIDrphiRec += i;
-    named0pionPIDzRec = "d0pionPIDzRec_";
-    named0pionPIDzRec += i;
-    d0PionPIDrphiRec = new TH1F(named0pionPIDrphiRec.Data(), d0rphiParticlPID.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0PionPIDrphiRec->Sumw2();
-    d0PionPIDrphiRec->SetMinimum(0);  
-    fOutputparticlePID->Add(d0PionPIDrphiRec);
-    d0PionPIDzRec = new TH1F(named0pionPIDzRec.Data(), d0zPrtilePID.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0PionPIDzRec->Sumw2();
-    d0PionPIDzRec->SetMinimum(0);  
-    fOutputparticlePID->Add(d0PionPIDzRec);
-
-    named0pionPIDrphiSkip = "d0pionPIDrphiSkip_";
-    named0pionPIDrphiSkip += i;
-    named0pionPIDzSkip = "d0pionPIDzSkip_";
-    named0pionPIDzSkip += i;
-    d0PionPIDrphiSkip = new TH1F(named0pionPIDrphiSkip.Data(), d0rphiParticlPID.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0PionPIDrphiSkip->Sumw2();
-    d0PionPIDrphiSkip->SetMinimum(0);  
-    fOutputparticlePID->Add(d0PionPIDrphiSkip);
-    d0PionPIDzSkip = new TH1F(named0pionPIDzSkip.Data(), d0zPrtilePID.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0PionPIDzSkip->Sumw2();
-    d0PionPIDzSkip->SetMinimum(0);  
-    fOutputparticlePID->Add(d0PionPIDzSkip);
-
-    named0kaonPIDrphiRec = "d0kaonPIDrphiRec_";
-    named0kaonPIDrphiRec += i;
-    named0kaonPIDzRec = "d0kaonPIDzRec_";
-    named0kaonPIDzRec += i;
-    d0KaonPIDrphiRec = new TH1F(named0kaonPIDrphiRec.Data(), d0rphiParticlPID.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0KaonPIDrphiRec->Sumw2();
-    d0KaonPIDrphiRec->SetMinimum(0);  
-    fOutputparticlePID->Add(d0KaonPIDrphiRec);
-    d0KaonPIDzRec = new TH1F(named0kaonPIDzRec.Data(), d0zPrtilePID.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0KaonPIDzRec->Sumw2();
-    d0KaonPIDzRec->SetMinimum(0);  
-    fOutputparticlePID->Add(d0KaonPIDzRec);
-
-    named0kaonPIDrphiSkip = "d0kaonPIDrphiSkip_";
-    named0kaonPIDrphiSkip += i;
-    named0kaonPIDzSkip = "d0kaonPIDzSkip_";
-    named0kaonPIDzSkip += i;
-    d0KaonPIDrphiSkip = new TH1F(named0kaonPIDrphiSkip.Data(), d0rphiParticlPID.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0KaonPIDrphiSkip->Sumw2();
-    d0KaonPIDrphiSkip->SetMinimum(0);  
-    fOutputparticlePID->Add(d0KaonPIDrphiSkip);
-    d0KaonPIDzSkip = new TH1F(named0kaonPIDzSkip.Data(), d0zPrtilePID.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0KaonPIDzSkip->Sumw2();
-    d0KaonPIDzSkip->SetMinimum(0);  
-    fOutputparticlePID->Add(d0KaonPIDzSkip);
-
-    named0protonPIDrphiRec = "d0protonPIDrphiRec_";
-    named0protonPIDrphiRec += i;
-    named0protonPIDzRec = "d0protonPIDzRec_";
-    named0protonPIDzRec += i;
-    d0ProtonPIDrphiRec = new TH1F(named0protonPIDrphiRec.Data(), d0rphiParticlPID.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0ProtonPIDrphiRec->Sumw2();
-    d0ProtonPIDrphiRec->SetMinimum(0);  
-    fOutputparticlePID->Add(d0ProtonPIDrphiRec);
-    d0ProtonPIDzRec = new TH1F(named0protonPIDzRec.Data(), d0zPrtilePID.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0ProtonPIDzRec->Sumw2();
-    d0ProtonPIDzRec->SetMinimum(0);  
-    fOutputparticlePID->Add(d0ProtonPIDzRec);
-
-    named0protonPIDrphiSkip = "d0protonPIDrphiSkip_";
-    named0protonPIDrphiSkip += i;
-    named0protonPIDzSkip = "d0protonPIDzSkip_";
-    named0protonPIDzSkip += i;
-    d0ProtonPIDrphiSkip = new TH1F(named0protonPIDrphiSkip.Data(), d0rphiParticlPID.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0ProtonPIDrphiSkip->Sumw2();
-    d0ProtonPIDrphiSkip->SetMinimum(0);  
-    fOutputparticlePID->Add(d0ProtonPIDrphiSkip);
-    d0ProtonPIDzSkip = new TH1F(named0protonPIDzSkip.Data(), d0zPrtilePID.Data(), 400, -Getd0HistRange(i), Getd0HistRange(i));
-    d0ProtonPIDzSkip->Sumw2();
-    d0ProtonPIDzSkip->SetMinimum(0);  
-    fOutputparticlePID->Add(d0ProtonPIDzSkip);
-
-    named0pt = "d0pt_";
-    named0pt += i;
-    d0Pt = new TH1F(named0pt.Data(), d0ptTitle.Data(), 100, 0, 35.);
-    d0Pt->Sumw2();
-    d0Pt->SetMinimum(0);  
-    fOutputPt->Add(d0Pt);
-  }
-
-  
-  if (!fOutputSinThetaRec){
-    fOutputSinThetaRec = new TList();
-    fOutputSinThetaRec->SetOwner();
-    fOutputSinThetaRec->SetName("thetaRec");
-  }
-  
-  if (!fOutputSinThetaSkip){
-    fOutputSinThetaSkip = new TList();
-    fOutputSinThetaSkip->SetOwner();
-    fOutputSinThetaSkip->SetName("thetaSkip");
-  }
-  
-  if (!fOutputphiAllpointSkip) {
-    fOutputphiAllpointSkip = new TList();
-    fOutputphiAllpointSkip->SetOwner();
-    fOutputphiAllpointSkip->SetName("phiallpointSkip");
-  }
-  
-  if (!fOutputphiPostvtracSkip) {
-    fOutputphiPostvtracSkip = new TList();
-    fOutputphiPostvtracSkip->SetOwner();
-    fOutputphiPostvtracSkip->SetName("postvtracSkip");
-  }
-  
-  if (!fOutputphiNegtvtracSkip) {
-    fOutputphiNegtvtracSkip = new TList();
-    fOutputphiNegtvtracSkip->SetOwner();
-    fOutputphiNegtvtracSkip->SetName("negtvtracSkip");
-  }
-  
-  
-  const TString d0sinThetarphiTitle ="d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0sinThetazTitle ="d_{0} Distribution_z; d_{0} [#mum]; Entries";  
-  const TString d0phiAllpointrphiTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0phiAllpointzTitle  = "d_{0} Distribution_z; d_{0} [#mum]; Entries";    
-  const TString  d0phiPostvtracrphiTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0phiPostvtraczTitle  = "d_{0} Distribution_z; d_{0} [#mum]; Entries";  
-  const TString  d0phiNegtvtracrphiTitle = "d_{0} Distribution_rphi; d_{0} [#mum]; Entries";
-  const TString d0phiNegtvtraczTitle  = "d_{0} Distribution_z; d_{0} [#mum]; Entries";   
-  TString named0sinThetaonerphiRec,named0sinThetaonezRec,named0sinThetatworphiRec,named0sinThetatwozRec,named0sinThetathreerphiRec,named0sinThetathreezRec,named0sinThetafourrphiRec,named0sinThetafourzRec,named0thetaForwardrphiRec,named0thetaForwardzRec,named0thetaBackwardrphiRec,named0thetaBackwardzRec;
-  
-  TH1F *d0SinThetaonerphiRec,*d0SinThetaonezRec,*d0SinThetatworphiRec,*d0SinThetatwozRec,*d0SinThetathreerphiRec,*d0SinThetathreezRec,*d0SinThetafourrphiRec,*d0SinThetafourzRec,*d0ThetaforwardrphiRec,*d0ThetaforwardzRec,*d0ThetabackwardrphiRec,*d0ThetabackwardzRec;
-  
-  TString  named0sinThetaonerphiSkip,named0sinThetaonezSkip,named0sinThetatworphiSkip,named0sinThetatwozSkip,named0sinThetathreerphiSkip,named0sinThetathreezSkip,named0sinThetafourrphiSkip,named0sinThetafourzSkip,named0phiAllpointrphiSkip, named0phiAllpointzSkip,named0phiPostvtracrphiSkip, named0phiPostvtraczSkip,named0phiNegtvtracrphiSkip,named0phiNegtvtraczSkip,named0thetaForwardrphiSkip,named0thetaForwardzSkip,named0thetaBackwardrphiSkip,named0thetaBackwardzSkip;
-  
-  TH1F*d0SinThetaonerphiSkip,*d0SinThetaonezSkip,*d0SinThetatworphiSkip,*d0SinThetatwozSkip,*d0SinThetathreerphiSkip,*d0SinThetathreezSkip,*d0SinThetafourrphiSkip,*d0SinThetafourzSkip, *d0PhiAllpointrphiSkip,*d0PhiAllpointzSkip,*d0PhiPostvtracrphiSkip,*d0PhiPostvtraczSkip,*d0PhiNegtvtracrphiSkip,*d0PhiNegtvtraczSkip,*d0ThetaforwardrphiSkip,*d0ThetaforwardzSkip,*d0ThetabackwardrphiSkip,*d0ThetabackwardzSkip;
-  
-  const Int_t nhistm=10;
-  for(Int_t i=0; i<=nhistm; i++) {
-    named0sinThetaonerphiRec = "d0sinthetaonerphiRec_";
-    named0sinThetaonerphiRec += i;
-    named0sinThetaonezRec ="d0sinthetaonezRec_";
-    named0sinThetaonezRec += i;
-    d0SinThetaonerphiRec = new TH1F(named0sinThetaonerphiRec.Data(),d0sinThetarphiTitle.Data(),400,-2000,2000);
-    d0SinThetaonerphiRec->Sumw2();
-    d0SinThetaonerphiRec->SetMinimum(0);
-    fOutputSinThetaRec->Add(d0SinThetaonerphiRec);
-    d0SinThetaonezRec = new TH1F(named0sinThetaonezRec.Data(),d0sinThetazTitle.Data(),400,-2000,2000);
-    d0SinThetaonezRec->Sumw2();
-    d0SinThetaonezRec->SetMinimum(0);
-    fOutputSinThetaRec->Add(d0SinThetaonezRec);
-    
-    named0sinThetatworphiRec = "d0sinthetatworphiRec_";
-    named0sinThetatworphiRec += i;
-    named0sinThetatwozRec ="d0sinthetatwozRec_";
-    named0sinThetatwozRec += i;
-    d0SinThetatworphiRec = new TH1F(named0sinThetatworphiRec.Data(),d0sinThetarphiTitle.Data(),400,-2000,2000);
-    d0SinThetatworphiRec->Sumw2();
-    d0SinThetatworphiRec->SetMinimum(0);
-    fOutputSinThetaRec->Add(d0SinThetatworphiRec);
-    d0SinThetatwozRec = new TH1F(named0sinThetatwozRec.Data(),d0sinThetazTitle.Data(),400,-2000,2000);
-    d0SinThetatwozRec->Sumw2();
-    d0SinThetatwozRec->SetMinimum(0);
-    fOutputSinThetaRec->Add(d0SinThetatwozRec);
-    
-    named0sinThetathreerphiRec = "d0sinthetathreerphiRec_";
-    named0sinThetathreerphiRec += i;
-    named0sinThetathreezRec ="d0sinthetathreezRec_";
-    named0sinThetathreezRec += i;
-    
-    d0SinThetathreerphiRec = new TH1F(named0sinThetathreerphiRec.Data(),d0sinThetarphiTitle.Data(),400,-2000,2000);
-    d0SinThetathreerphiRec->Sumw2();
-    d0SinThetathreerphiRec->SetMinimum(0);
-    fOutputSinThetaRec->Add(d0SinThetathreerphiRec);
-    d0SinThetathreezRec = new TH1F(named0sinThetathreezRec.Data(),d0sinThetazTitle.Data(),400,-2000,2000);
-    d0SinThetathreezRec->Sumw2();
-    d0SinThetathreezRec->SetMinimum(0);
-    fOutputSinThetaRec->Add(d0SinThetathreezRec);
-    
-    named0sinThetafourrphiRec = "d0sinthetafourrphiRec_";
-    named0sinThetafourrphiRec += i;
-    named0sinThetafourzRec ="d0sinthetafourzRec_";
-    named0sinThetafourzRec += i;
-    d0SinThetafourrphiRec = new TH1F(named0sinThetafourrphiRec.Data(),d0sinThetarphiTitle.Data(),400,-2000,2000);
-    d0SinThetafourrphiRec->Sumw2();
-    d0SinThetafourrphiRec->SetMinimum(0);
-    fOutputSinThetaRec->Add(d0SinThetafourrphiRec);
-    d0SinThetafourzRec = new TH1F(named0sinThetafourzRec.Data(),d0sinThetazTitle.Data(),400,-2000,2000);
-    d0SinThetafourzRec->Sumw2();
-    d0SinThetafourzRec->SetMinimum(0);
-    fOutputSinThetaRec->Add(d0SinThetafourzRec);
-
-    named0thetaForwardrphiRec = "d0thetaforwardrphiRec_";
-    named0thetaForwardrphiRec += i;
-    named0thetaForwardzRec ="d0thetaforwardzRec_";
-    named0thetaForwardzRec += i;
-    d0ThetaforwardrphiRec = new TH1F(named0thetaForwardrphiRec.Data(),d0sinThetarphiTitle.Data(),400,-2000,2000);
-    d0ThetaforwardrphiRec->Sumw2();
-    d0ThetaforwardrphiRec->SetMinimum(0);
-    fOutputSinThetaRec->Add(d0ThetaforwardrphiRec);
-    d0ThetaforwardzRec = new TH1F(named0thetaForwardzRec.Data(),d0sinThetazTitle.Data(),400,-2000,2000);
-    d0ThetaforwardzRec->Sumw2();
-    d0ThetaforwardzRec->SetMinimum(0);
-    fOutputSinThetaRec->Add(d0ThetaforwardzRec);
-
-    named0thetaBackwardrphiRec = "d0thetabackwardrphiRec_";
-    named0thetaBackwardrphiRec += i;
-    named0thetaBackwardzRec ="d0thetabackwardzRec_";
-    named0thetaBackwardzRec += i;
-    d0ThetabackwardrphiRec = new TH1F(named0thetaBackwardrphiRec.Data(),d0sinThetarphiTitle.Data(),400,-2000,2000);
-    d0ThetabackwardrphiRec->Sumw2();
-    d0ThetabackwardrphiRec->SetMinimum(0);
-    fOutputSinThetaRec->Add(d0ThetabackwardrphiRec);
-    d0ThetabackwardzRec = new TH1F(named0thetaBackwardzRec.Data(),d0sinThetazTitle.Data(),400,-2000,2000);
-    d0ThetabackwardzRec->Sumw2();
-    d0ThetabackwardzRec->SetMinimum(0);
-    fOutputSinThetaRec->Add(d0ThetabackwardzRec);
-    
-    named0sinThetaonerphiSkip = "d0sinthetaonerphiSkip_";
-    named0sinThetaonerphiSkip += i;
-    named0sinThetaonezSkip ="d0sinthetaonezSkip_";
-    named0sinThetaonezSkip += i;
-    d0SinThetaonerphiSkip = new TH1F(named0sinThetaonerphiSkip.Data(),d0sinThetarphiTitle.Data(),400,-2000,2000);
-    d0SinThetaonerphiSkip->Sumw2();
-    d0SinThetaonerphiSkip->SetMinimum(0);
-    fOutputSinThetaSkip->Add(d0SinThetaonerphiSkip);
-    d0SinThetaonezSkip = new TH1F(named0sinThetaonezSkip.Data(),d0sinThetazTitle.Data(),400,-2000,2000);
-    d0SinThetaonezSkip->Sumw2();
-    d0SinThetaonezSkip->SetMinimum(0);
-    fOutputSinThetaSkip->Add(d0SinThetaonezSkip);
-    
-    named0sinThetatworphiSkip = "d0sinthetatworphiSkip_";
-    named0sinThetatworphiSkip += i;
-    named0sinThetatwozSkip ="d0sinthetatwozSkip_";
-    named0sinThetatwozSkip += i;
-    d0SinThetatworphiSkip = new TH1F(named0sinThetatworphiSkip.Data(),d0sinThetarphiTitle.Data(),400,-2000,2000);
-    d0SinThetatworphiSkip->Sumw2();
-    d0SinThetatworphiSkip->SetMinimum(0);
-    fOutputSinThetaSkip->Add(d0SinThetatworphiSkip);
-    d0SinThetatwozSkip = new TH1F(named0sinThetatwozSkip.Data(),d0sinThetazTitle.Data(),400,-2000,2000);
-    d0SinThetatwozSkip->Sumw2();
-    d0SinThetatwozSkip->SetMinimum(0);
-    fOutputSinThetaSkip->Add(d0SinThetatwozSkip);
-    
-    named0sinThetathreerphiSkip = "d0sinthetathreerphiSkip_";
-    named0sinThetathreerphiSkip += i;
-    named0sinThetathreezSkip ="d0sinthetathreezSkip_";
-    named0sinThetathreezSkip += i;
-    
-    d0SinThetathreerphiSkip = new TH1F(named0sinThetathreerphiSkip.Data(),d0sinThetarphiTitle.Data(),400,-2000,2000);
-    d0SinThetathreerphiSkip->Sumw2();
-    d0SinThetathreerphiSkip->SetMinimum(0);
-    fOutputSinThetaSkip->Add(d0SinThetathreerphiSkip);
-    d0SinThetathreezSkip = new TH1F(named0sinThetathreezSkip.Data(),d0sinThetazTitle.Data(),400,-2000,2000);
-    d0SinThetathreezSkip->Sumw2();
-    d0SinThetathreezSkip->SetMinimum(0);
-    fOutputSinThetaSkip->Add(d0SinThetathreezSkip);
-    
-    named0sinThetafourrphiSkip = "d0sinthetafourrphiSkip_";
-    named0sinThetafourrphiSkip += i;
-    named0sinThetafourzSkip ="d0sinthetafourzSkip_";
-    named0sinThetafourzSkip += i;
-    d0SinThetafourrphiSkip = new TH1F(named0sinThetafourrphiSkip.Data(),d0sinThetarphiTitle.Data(),400,-2000,2000);
-    d0SinThetafourrphiSkip->Sumw2();
-    d0SinThetafourrphiSkip->SetMinimum(0);
-    fOutputSinThetaSkip->Add(d0SinThetafourrphiSkip);
-    d0SinThetafourzSkip = new TH1F(named0sinThetafourzSkip.Data(),d0sinThetazTitle.Data(),400,-2000,2000);
-    d0SinThetafourzSkip->Sumw2();
-    d0SinThetafourzSkip->SetMinimum(0);
-    fOutputSinThetaSkip->Add(d0SinThetafourzSkip);
-
-    named0thetaForwardrphiSkip = "d0thetaforwardrphiSkip_";
-    named0thetaForwardrphiSkip += i;
-    named0thetaForwardzSkip ="d0thetaforwardzSkip_";
-    named0thetaForwardzSkip += i;
-    d0ThetaforwardrphiSkip = new TH1F(named0thetaForwardrphiSkip.Data(),d0sinThetarphiTitle.Data(),400,-2000,2000);
-    d0ThetaforwardrphiSkip->Sumw2();
-    d0ThetaforwardrphiSkip->SetMinimum(0);
-    fOutputSinThetaSkip->Add(d0ThetaforwardrphiSkip);
-    d0ThetaforwardzSkip = new TH1F(named0thetaForwardzSkip.Data(),d0sinThetazTitle.Data(),400,-2000,2000);
-    d0ThetaforwardzSkip->Sumw2();
-    d0ThetaforwardzSkip->SetMinimum(0);
-    fOutputSinThetaSkip->Add(d0ThetaforwardzSkip);
-
-    named0thetaBackwardrphiSkip = "d0thetabackwardrphiSkip_";
-    named0thetaBackwardrphiSkip += i;
-    named0thetaBackwardzSkip ="d0thetabackwardzSkip_";
-    named0thetaBackwardzSkip += i;
-    d0ThetabackwardrphiSkip = new TH1F(named0thetaBackwardrphiSkip.Data(),d0sinThetarphiTitle.Data(),400,-2000,2000);
-    d0ThetabackwardrphiSkip->Sumw2();
-    d0ThetabackwardrphiSkip->SetMinimum(0);
-    fOutputSinThetaSkip->Add(d0ThetabackwardrphiSkip);
-    d0ThetabackwardzSkip = new TH1F(named0thetaBackwardzSkip.Data(),d0sinThetazTitle.Data(),400,-2000,2000);
-    d0ThetabackwardzSkip->Sumw2();
-    d0ThetabackwardzSkip->SetMinimum(0);
-    fOutputSinThetaSkip->Add(d0ThetabackwardzSkip);
-
-  }
-
-  const Int_t nhistphi=20;
-  for(Int_t i=0; i<=nhistphi; i++) {
-
-    named0phiAllpointrphiSkip = "d0phiallpointrphiSkip_";
-    named0phiAllpointrphiSkip += i;
-    named0phiAllpointzSkip ="d0phiallpointzSkip_";
-    named0phiAllpointzSkip += i;
-    d0PhiAllpointrphiSkip = new TH1F(named0phiAllpointrphiSkip.Data(),d0phiAllpointrphiTitle.Data(),400,-2000,2000);
-    d0PhiAllpointrphiSkip->Sumw2();
-    d0PhiAllpointrphiSkip->SetMinimum(0);
-    fOutputphiAllpointSkip->Add(d0PhiAllpointrphiSkip);
-    d0PhiAllpointzSkip = new TH1F(named0phiAllpointzSkip.Data(),d0phiAllpointzTitle.Data(),400,-2000,2000);
-    d0PhiAllpointzSkip->Sumw2();
-    d0PhiAllpointzSkip->SetMinimum(0);
-    fOutputphiAllpointSkip->Add(d0PhiAllpointzSkip);
-
-
-    named0phiPostvtracrphiSkip = "d0phipostvtracrphiSkip_";
-    named0phiPostvtracrphiSkip += i;
-    named0phiPostvtraczSkip ="d0phipostvtraczSkip_";
-    named0phiPostvtraczSkip += i;
-    d0PhiPostvtracrphiSkip = new TH1F(named0phiPostvtracrphiSkip.Data(),d0phiPostvtracrphiTitle.Data(),400,-2000,2000);
-    d0PhiPostvtracrphiSkip->Sumw2();
-    d0PhiPostvtracrphiSkip->SetMinimum(0);
-    fOutputphiPostvtracSkip->Add(d0PhiPostvtracrphiSkip);
-    d0PhiPostvtraczSkip = new TH1F(named0phiPostvtraczSkip.Data(),d0phiPostvtraczTitle.Data(),400,-2000,2000);
-    d0PhiPostvtraczSkip->Sumw2();
-    d0PhiPostvtraczSkip->SetMinimum(0);
-    fOutputphiPostvtracSkip->Add(d0PhiPostvtraczSkip);
-
-
-    named0phiNegtvtracrphiSkip = "d0phinegtvtracrphiSkip_";
-    named0phiNegtvtracrphiSkip += i;
-    named0phiNegtvtraczSkip ="d0phinegtvtraczSkip_";
-    named0phiNegtvtraczSkip += i;
-    d0PhiNegtvtracrphiSkip = new TH1F(named0phiNegtvtracrphiSkip.Data(),d0phiNegtvtracrphiTitle.Data(),400,-2000,2000);
-    d0PhiNegtvtracrphiSkip->Sumw2();
-    d0PhiNegtvtracrphiSkip->SetMinimum(0);
-    fOutputphiNegtvtracSkip->Add(d0PhiNegtvtracrphiSkip);
-    d0PhiNegtvtraczSkip = new TH1F(named0phiNegtvtraczSkip.Data(),d0phiNegtvtraczTitle.Data(),400,-2000,2000);
-    d0PhiNegtvtraczSkip->Sumw2();
-    d0PhiNegtvtraczSkip->SetMinimum(0);
-    fOutputphiNegtvtracSkip->Add(d0PhiNegtvtraczSkip);
-  }
-
-  if(!fNentries) fNentries = new TH1F("hNentries", "number of entries", 26, 0., 40.);
-  if(!fEstimVtx) fEstimVtx = new TH1F("vtxRes","Resolution of vertex",1000,-5000.,5000);
-  PostData(1, fOutputitspureSARec);
-  PostData(2, fOutputitspureSASkip);
-  PostData(3, fOutputallPointRec);
-  PostData(4, fOutputallPointSkip);
-  PostData(5, fOutputpartPointRec);
-  PostData(6, fOutputpartPointSkip);
-  PostData(7, fOutputonepointSPDRec);
-  PostData(8, fOutputonepointSPDSkip);
-  PostData(9, fOutputpostvTracRec);
-  PostData(10, fOutputpostvTracSkip);
-  PostData(11, fOutputnegtvTracRec);
-  PostData(12, fOutputnegtvTracSkip);
-  PostData(13, fOutputpullAllpointRec);
-  PostData(14, fOutputpullAllpointSkip);
-  PostData(15, fOutputOnlyRefitRec);
-  PostData(16, fOutputOnlyRefitSkip);
-  PostData(17, fOutputSinThetaRec);
-  PostData(18, fOutputSinThetaSkip);
-  PostData(19, fOutputallPointTrue);
-  PostData(20, fOutputpostvTracTrue);
-  PostData(21, fOutputnegtvTracTrue);
-  PostData(22, fOutputpullAllpointTrue);
-  PostData(23, fOutputphiAllpointSkip);
-  PostData(24, fOutputphiPostvtracSkip);
-  PostData(25, fOutputphiNegtvtracSkip);
-  PostData(26, fOutputclusterTypeSPD01Skip);
-  PostData(27, fOutputclusterTypeSPD02Skip);
-  PostData(28, fOutputclusterTypeSPD03Skip);
-  PostData(29, fOutputclusterTypeSPD11Skip);
-  PostData(30, fOutputclusterTypeSPD12Skip);
-  PostData(31, fOutputclusterTypeSPD13Skip);
-  PostData(32, fOutputparticlePID);
-  PostData(33, fOutputPt);
-  PostData(34, fNentries);
-  PostData(35, fEstimVtx);  
-
-  return;
-}
-
-//________________________________________________________________________
-void AliAnalysisTaskSEImpParRes::UserExec(Option_t */*option*/)
-{
-  //
-  // Track selection and filling of d0 histograms
-  //
-  AliESDEvent *esd = dynamic_cast<AliESDEvent*>(InputEvent());
-  if (!esd) {
-    AliError("ESD event not found. Nothing done!");
-    return;
-  }
-
-  // only events in the requested multiplicity range
-  if(!IsSelectedCentrality(esd)) return;
-
-  fNentries->Fill(1);
-
-
-  Int_t nTrks = esd->GetNumberOfTracks();
-  Bool_t highMult=(nTrks>500 ? kTRUE : kFALSE);
-
-  
-  // diamond constraint
-  Float_t diamondcovxy[3];
-  esd->GetDiamondCovXY(diamondcovxy);
-  Double_t pos[3]={esd->GetDiamondX(),esd->GetDiamondY(),0.};
-  Double_t cov[6]={diamondcovxy[0],diamondcovxy[1],diamondcovxy[2],0.,0.,10.};
-  AliESDVertex diamond(pos,cov,1.,1);
-  
-  Double_t vtxTrue[3];
-  AliStack *stack=0;
-  AliESDVertex *vtxESDTrue=0;
-  AliESDVertex *vtxESDSkip=0;
-  AliESDVertex *vtxESDRec=0;  
-
-  // event primary vertex
-  AliVertexerTracks vertexer0(esd->GetMagneticField());
-  vertexer0.SetITSMode();
-  vertexer0.SetMinClusters(3);  
-  if(highMult) vertexer0.SetITSMode(0.1,0.1,0.5,5,1,3.,100.,1000.,3.,30.,1,1); 
-  if(fUseDiamond) vertexer0.SetVtxStart(&diamond);
-  vtxESDRec = (AliESDVertex*)vertexer0.FindPrimaryVertex(esd);
-  if(vtxESDRec->GetNContributors()<1) {
-    delete vtxESDRec; vtxESDRec=NULL;
-    return;
-  }
-
-  if (fReadMC) { 
-    AliMCEventHandler *eventHandler = dynamic_cast<AliMCEventHandler*>(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()); 
-    if (!eventHandler) { 
-      Printf("ERROR: Could not retrieve MC event handler"); 
-      return; 
-    } 
-    
-    AliMCEvent* mcEvent = eventHandler->MCEvent(); 
-    if (!mcEvent) { 
-      Printf("ERROR: Could not retrieve MC event"); 
-      return; 
-    } 
-    
-    stack = mcEvent->Stack(); 
-    if (!stack) { 
-      AliDebug(AliLog::kError, "Stack not available"); 
-      return; 
-    } 
-
-    //load MC header for ESD;//see $ALICE_ROOT/PWG1/global/AliAnalysisTaskSEVertexESD.cxx
-    AliHeader *mcHeader = eventHandler->MCEvent()->Header();
-    if (!mcHeader) {
-      AliDebug(AliLog::kError, "Header not available");
-      return;
-    }
-
-    AliGenEventHeader* genHeader = mcHeader->GenEventHeader();   
-    TArrayF mcVertex(3);
-    mcVertex[0]=9999.; mcVertex[1]=9999.; mcVertex[2]=9999.;
-    genHeader->PrimaryVertex(mcVertex);
-    vtxTrue[0]=mcVertex[0];vtxTrue[1]=mcVertex[1];vtxTrue[2]=mcVertex[2];
-    Double_t sigmaTrue[3]={0., 0., 0.,};
-    //mcHeader->GetVertex(vtxTrue);//note the vtxTrue is void here,so must need the next line.
-    //AliESDVertex *vtxESDTrue = new AliESDVertex(vtxTrue,sigmaTrue);
-    vtxESDTrue = new AliESDVertex(vtxTrue,sigmaTrue);
-  }
-  Double_t beampiperadius=3.;
-  AliESDtrack *esdtrack = 0;
-  Int_t pdgCode=0; 
-  Int_t trkLabel;
-  TParticle  *part =0;
-  Int_t npointsITS=0,npointsSPD=0;
-  Int_t ilayer;
-  Int_t skipped[2];
-  Double_t dzRec[2], covdzRec[3], dzRecSkip[2], covdzRecSkip[3],dzTrue[2], covdzTrue[3];
-  Double_t pt;
-  Int_t bin;
-
-  for (Int_t it=0; it<nTrks; it++) {  // loop over tracks
-    // read track
-    esdtrack = esd->GetTrack(it);
-
-    // ask for ITS refit
-    if (!(esdtrack->GetStatus()&AliESDtrack::kITSrefit)) {
-      continue;
-    }
-    
-    pdgCode=0;
-    if(fReadMC && stack) { 
-      trkLabel = esdtrack->GetLabel(); 
-      if(trkLabel<0) continue;
-      part = (TParticle*)stack->Particle(trkLabel);
-      pdgCode = TMath::Abs(part->GetPdgCode()); 
-      //printf("pdgCode===%d\n", pdgCode);
-      if(fSelectedPdg>0 && pdgCode!=fSelectedPdg) continue;
-    }
-
-    npointsITS=0; npointsSPD=0;
-    for (ilayer=0; ilayer<6; ilayer++){ 
-      if (ilayer<2 && esdtrack->HasPointOnITSLayer(ilayer)) npointsSPD++;
-      if (esdtrack->HasPointOnITSLayer(ilayer)) npointsITS++;  
-    }
-
-    //Get specific primary vertex--Reconstructed primary vertex do not include the track considering.
-    AliVertexerTracks vertexer(esd->GetMagneticField());
-    vertexer.SetITSMode();
-    vertexer.SetMinClusters(3);
-    if(fUseDiamond) vertexer.SetVtxStart(&diamond);
-    skipped[0] = (Int_t)esdtrack->GetID();
-    vertexer.SetSkipTracks(1,skipped);      
-    // create vertex with new!
-    if(!highMult && fSkipTrack) {
-      vtxESDSkip = (AliESDVertex*)vertexer.FindPrimaryVertex(esd);
-      if(vtxESDSkip->GetNContributors()<1) {
-       delete vtxESDSkip; vtxESDSkip=NULL;
-       continue;
-      }
-    } else {
-      vtxESDSkip = new AliESDVertex(); // dummy
-    }
-
-    //pt= esdtrack->P();
-    pt = esdtrack->Pt();
-    bin = PtBin(pt);
-
-    if(bin==-1) {
-      delete vtxESDSkip; vtxESDSkip=NULL;
-      continue;
-    }
-
-   
-    // Select primary particle if MC event (for ESD event), Rprod < 1 micron 
-    if(fReadMC){
-      if((part->Vx()-vtxTrue[0])*(part->Vx()-vtxTrue[0])+
-        (part->Vy()-vtxTrue[1])*(part->Vy()-vtxTrue[1])
-        > 0.0001*0.0001) {
-       delete vtxESDSkip; vtxESDSkip=NULL;
-       continue;
-      }
-    }
-
-    // compute impact patameters
-    // wrt event vertex
-    esdtrack->PropagateToDCA(vtxESDRec, esd->GetMagneticField(), beampiperadius, dzRec, covdzRec);
-    // wrt event vertex without this track
-    if(!highMult && fSkipTrack) {
-      esdtrack->PropagateToDCA(vtxESDSkip, esd->GetMagneticField(), beampiperadius, dzRecSkip, covdzRecSkip);
-    } else if(!fSkipTrack) {
-      dzRecSkip[0]=dzRec[0]; 
-      dzRecSkip[1]=dzRec[1];
-      covdzRecSkip[0]=covdzRec[0];
-      covdzRecSkip[1]=covdzRec[1];
-      covdzRecSkip[2]=covdzRec[2];
-    } else {
-      dzRecSkip[0]=0; 
-      dzRecSkip[1]=0;
-      covdzRecSkip[0]=0;
-      covdzRecSkip[1]=0;
-      covdzRecSkip[2]=0;
-    }
-    delete vtxESDSkip; vtxESDSkip=NULL; // not needed anymore
-    // wrt MC vertex
-    if(fReadMC) esdtrack->PropagateToDCA(vtxESDTrue, esd->GetMagneticField(), beampiperadius, dzTrue, covdzTrue);
-
-    if(covdzRec[0]<1.e-13 || covdzRec[2]<1.e-13 || covdzRecSkip[0]<1.e-13 || covdzRecSkip[2]<1.e-13) continue;
-    if(fReadMC && (covdzTrue[0]<1.e-13 || covdzTrue[2]<1.e-13)) continue;
-      
-    //printf("Pt: %f GeV/c; Impact parameter: rphi %f cm  z %f cm\n", pt, dzRec[0], dzRec[1]);
-
-    /*
-    // RUBEN'S METHOD, NOT FULLY IMPLEMENTED YET    
-    Double_t      fIPCenIni[3], xyzDCA[3];
-    for (int i=3;i--;) fIPCenIni[i] = 0.;
-    //Int_t nTracks = nTrks - 1;
-    esdtrack->GetXYZ(xyzDCA);
-    //double pTrack = esdtrack->GetP();
-    double phiTrack = esdtrack->Phi();
-    double cs = TMath::Cos(phiTrack);
-    double sn = TMath::Sin(phiTrack);
-    double trDCA = (xyzDCA[0]-fIPCenIni[0])         *sn - (xyzDCA[1]-fIPCenIni[1])         *cs;  // track signed DCA to origin
-    double vtDCA = (vtxESDSkip->GetXv()-fIPCenIni[0])*sn - (vtxESDSkip->GetYv()-fIPCenIni[1])*cs;  // vertex signed DCA to origin
-    
-    // update the estimator values
-    //double estIP  = rvD*rtD;
-    double estVtx = vtDCA*( vtDCA- trDCA);
-    //double estTrc = rtD*(rtD - rvD);
-    //
-    //if (nTracks >= fMinTracksForIP) fEstimIP->Fill(phiTrack, estIP);
-    fEstimVtx->Fill(10000*estVtx);
-    //if (pTrack<1e-6) pTrack = GetTrackMinP()+1e6;
-    //fEstimTrc->Fill(1./pTrack,estTrc);
-    */
-
-
-    //fill the histgram with all particle 
-    //-------------------------------------------1----------------------------------------------
-    
-    /*
-    TString named0AllrphiRec=" ",named0AllzRec =" ";//named0AllrphiTrue=" ",named0AllzTrue =" ";
-      //named0AllrphiSkip=" ",named0AllzSkip =" ";
-      
-      named0AllrphiRec ="d0allrphiRec_";
-      named0AllrphiRec += bin;
-      named0AllzRec = "d0allzRec_";
-      named0AllzRec += bin;
-      ((TH1F*)(fOutputallRec->FindObject(named0AllrphiRec)))->Fill(10000*dzRec[0]);
-      ((TH1F*)(fOutputallRec->FindObject(named0AllzRec)))->Fill(10000*dzRec[1]);
-    */
-
-    //-------------------------------------------2----------------------------------------------
-    //TSting named0AllrphiRec = "d0allrphiRec_" + bin;
-    //TSting named0AllzRec = "d0allzRec_" + bin;
-    //((TH1F*)(fOutputallRec->FindObject(named0AllrphiRec.Data())))->Fill(10000.*dzRec[0]);
-    //((TH1F*)(fOutputallRec->FindObject(named0AllzRec.Data())))->Fill(10000.*dzRec[1]);
-
-    //-------------------------------------------3------------------------------------------------
-
-
-    // ITS standalone
-    if (esdtrack->GetNcls(1)==0 && 
-       (esdtrack->GetStatus()&AliESDtrack::kITSrefit)
-       && npointsSPD>0 && npointsITS>=4) {
-      char *named0ITSpureSArphiRec = Form("d0itspureSArphiRec_%d", bin);
-      char *named0ITSpureSArphiSkip = Form("d0itspureSArphiSkip_%d", bin);
-      char *named0ITSpureSAzRec = Form("d0itspureSAzRec_%d", bin); 
-      char *named0ITSpureSAzSkip = Form("d0itspureSAzSkip_%d", bin); 
-      ((TH1F*)(fOutputitspureSARec->FindObject(named0ITSpureSArphiRec)))->Fill(10000.*dzRec[0]);
-      ((TH1F*)(fOutputitspureSARec->FindObject(named0ITSpureSAzRec)))->Fill(10000.*dzRec[1]);
-      ((TH1F*)(fOutputitspureSASkip->FindObject(named0ITSpureSArphiSkip)))->Fill(10000.*dzRecSkip[0]);
-      ((TH1F*)(fOutputitspureSASkip->FindObject(named0ITSpureSAzSkip)))->Fill(10000.*dzRecSkip[1]);
-    }
-
-    
-    // ask for TPC refit
-    if (!(esdtrack->GetStatus()&AliESDtrack::kTPCrefit) || 
-       esdtrack->GetNcls(1)<70) continue;
-
-    // only ITS and TPC refit
-    char *named0OnlyrefitrphiRec = Form("d0onlyrefitrphiRec_%d", bin);
-    char *named0OnlyrefitrphiSkip = Form("d0onlyrefitrphiSkip_%d", bin);
-    char *named0OnlyrefitzRec = Form("d0onlyrefitzRec_%d", bin);
-    char *named0OnlyrefitzSkip = Form("d0onlyrefitzSkip_%d", bin); 
-    ((TH1F*)(fOutputOnlyRefitRec->FindObject(named0OnlyrefitrphiRec)))->Fill(10000.*dzRec[0]);
-    ((TH1F*)(fOutputOnlyRefitRec->FindObject(named0OnlyrefitzRec)))->Fill(10000.*dzRec[1]);
-    ((TH1F*)(fOutputOnlyRefitSkip->FindObject(named0OnlyrefitrphiSkip)))->Fill(10000.*dzRecSkip[0]);
-    ((TH1F*)(fOutputOnlyRefitSkip->FindObject(named0OnlyrefitzSkip)))->Fill(10000.*dzRecSkip[1]);  
-   
-
-    if(npointsITS>=4 && npointsSPD>0) {
-      char *named0PartpointrphiRec = Form("d0partpointrphiRec_%d", bin);
-      char *named0PartpointrphiSkip = Form("d0partpointrphiSkip_%d", bin);
-      char *named0PartpointzRec = Form("d0partpointzRec_%d", bin); 
-      char *named0PartpointzSkip = Form("d0partpointzSkip_%d", bin); 
-      ((TH1F*)(fOutputpartPointRec->FindObject(named0PartpointrphiRec)))->Fill(10000.*dzRec[0]);
-      ((TH1F*)(fOutputpartPointRec->FindObject(named0PartpointzRec)))->Fill(10000.*dzRec[1]);
-      ((TH1F*)(fOutputpartPointSkip->FindObject(named0PartpointrphiSkip)))->Fill(10000.*dzRecSkip[0]);
-      ((TH1F*)(fOutputpartPointSkip->FindObject(named0PartpointzSkip)))->Fill(10000.*dzRecSkip[1]);
-    }
-
-    if(npointsSPD>0) {
-      char *named0OnepointSPDrphiRec = Form("d0onepointSPDrphiRec_%d", bin);
-      char *named0OnepointSPDrphiSkip = Form("d0onepointSPDrphiSkip_%d", bin);
-      char *named0OnepointSPDzRec = Form("d0onepointSPDzRec_%d", bin); 
-      char *named0OnepointSPDzSkip = Form("d0onepointSPDzSkip_%d", bin); 
-      ((TH1F*)(fOutputonepointSPDRec->FindObject(named0OnepointSPDrphiRec)))->Fill(10000.*dzRec[0]);
-      ((TH1F*)(fOutputonepointSPDRec->FindObject(named0OnepointSPDzRec)))->Fill(10000.*dzRec[1]);
-      ((TH1F*)(fOutputonepointSPDSkip->FindObject(named0OnepointSPDrphiSkip)))->Fill(10000.*dzRecSkip[0]);
-      ((TH1F*)(fOutputonepointSPDSkip->FindObject(named0OnepointSPDzSkip)))->Fill(10000.*dzRecSkip[1]);
-    }
-
-    // with 6 ITS points (including different selection)
-    if(npointsITS==6) {
-      //pt 
-      char *named0Pt = Form("d0pt_%d",bin);
-      ((TH1F*)(fOutputPt->FindObject(named0Pt)))->Fill(pt);
-     
-      // allpoint
-      char *named0AllpointrphiRec = Form("d0allpointrphiRec_%d", bin);
-      char *named0AllpointrphiSkip = Form("d0allpointrphiSkip_%d", bin);
-      char *named0AllpointrphiTrue = Form("d0allpointrphiTrue_%d", bin);
-      char *named0AllpointzRec = Form("d0allpointzRec_%d", bin);
-      char *named0AllpointzSkip = Form("d0allpointzSkip_%d", bin); 
-      char *named0AllpointzTrue = Form("d0allpointzTrue_%d", bin);
-      ((TH1F*)(fOutputallPointRec->FindObject(named0AllpointrphiRec)))->Fill(10000.*dzRec[0]);
-      ((TH1F*)(fOutputallPointRec->FindObject(named0AllpointzRec)))->Fill(10000.*dzRec[1]);
-      ((TH1F*)(fOutputallPointSkip->FindObject(named0AllpointrphiSkip)))->Fill(10000.*dzRecSkip[0]);
-      ((TH1F*)(fOutputallPointSkip->FindObject(named0AllpointzSkip)))->Fill(10000.*dzRecSkip[1]);
-      if(fReadMC) {
-       ((TH1F*)(fOutputallPointTrue->FindObject(named0AllpointrphiTrue)))->Fill(10000.*dzTrue[0]);
-       ((TH1F*)(fOutputallPointTrue->FindObject(named0AllpointzTrue)))->Fill(10000.*dzTrue[1]);
-      }
-      
-      // pulls
-      char *named0PullAllpointrphiRec = Form("d0pullAllpointrphiRec_%d", bin);
-      char *named0PullAllpointrphiSkip = Form("d0pullAllpointrphiSkip_%d", bin);
-      char *named0PullAllpointrphiTrue = Form("d0pullAllpointrphiTrue_%d", bin);
-      char *named0PullAllpointzRec = Form("d0pullAllpointzRec_%d", bin);
-      char *named0PullAllpointzSkip = Form("d0pullAllpointzSkip_%d", bin); 
-      char *named0PullAllpointzTrue = Form("d0pullAllpointzTrue_%d", bin);
-      ((TH1F*)(fOutputpullAllpointRec->FindObject(named0PullAllpointrphiRec)))->Fill(dzRec[0]/TMath::Sqrt(covdzRec[0]));     
-      ((TH1F*)(fOutputpullAllpointRec->FindObject(named0PullAllpointzRec)))->Fill(dzRec[1]/TMath::Sqrt(covdzRec[2]));
-      ((TH1F*)(fOutputpullAllpointSkip->FindObject(named0PullAllpointrphiSkip)))->Fill(dzRecSkip[0]/TMath::Sqrt(covdzRecSkip[0]));
-      ((TH1F*)(fOutputpullAllpointSkip->FindObject(named0PullAllpointzSkip)))->Fill(dzRecSkip[1]/TMath::Sqrt(covdzRecSkip[2]));
-      if(fReadMC) {
-       ((TH1F*)(fOutputpullAllpointTrue->FindObject(named0PullAllpointrphiTrue)))->Fill(dzTrue[0]/TMath::Sqrt(covdzTrue[0]));
-       ((TH1F*)(fOutputpullAllpointTrue->FindObject(named0PullAllpointzTrue)))->Fill(dzTrue[1]/TMath::Sqrt(covdzTrue[2]));
-      }
-      //postive and negative track
-      Int_t charge=esdtrack->Charge();
-      if(charge==1) {
-       char *named0PostvtracrphiRec = Form("d0postvtracrphiRec_%d", bin);
-       char *named0PostvtracrphiSkip = Form("d0postvtracrphiSkip_%d", bin);
-       char *named0PostvtracrphiTrue = Form("d0postvtracrphiTrue_%d", bin);
-       char *named0PostvtraczRec = Form("d0postvtraczRec_%d", bin); 
-       char *named0PostvtraczSkip = Form("d0postvtraczSkip_%d", bin);
-       char *named0PostvtraczTrue = Form("d0postvtraczTrue_%d", bin);
-       ((TH1F*)(fOutputpostvTracRec->FindObject(named0PostvtracrphiRec)))->Fill(10000.*dzRec[0]);
-       ((TH1F*)(fOutputpostvTracRec->FindObject(named0PostvtraczRec)))->Fill(10000.*dzRec[1]);
-       ((TH1F*)(fOutputpostvTracSkip->FindObject(named0PostvtracrphiSkip)))->Fill(10000.*dzRecSkip[0]);
-       ((TH1F*)(fOutputpostvTracSkip->FindObject(named0PostvtraczSkip)))->Fill(10000.*dzRecSkip[1]);
-       if(fReadMC) {
-         ((TH1F*)(fOutputpostvTracTrue->FindObject(named0PostvtracrphiTrue)))->Fill(10000.*dzTrue[0]);
-         ((TH1F*)(fOutputpostvTracTrue->FindObject(named0PostvtraczTrue)))->Fill(10000.*dzTrue[1]);
-       }
-      }
-      
-      if(charge==-1) {
-       char *named0NegtvtracrphiRec = Form("d0negtvtracrphiRec_%d", bin);
-       char *named0NegtvtracrphiSkip = Form("d0negtvtracrphiSkip_%d", bin);
-       char *named0NegtvtracrphiTrue = Form("d0negtvtracrphiTrue_%d", bin);
-       char *named0NegtvtraczRec = Form("d0negtvtraczRec_%d", bin); 
-       char *named0NegtvtraczSkip = Form("d0negtvtraczSkip_%d", bin);
-       char *named0NegtvtraczTrue = Form("d0negtvtraczTrue_%d", bin);
-       ((TH1F*)(fOutputnegtvTracRec->FindObject(named0NegtvtracrphiRec)))->Fill(10000.*dzRec[0]);
-       ((TH1F*)(fOutputnegtvTracRec->FindObject(named0NegtvtraczRec)))->Fill(10000.*dzRec[1]);
-       ((TH1F*)(fOutputnegtvTracSkip->FindObject(named0NegtvtracrphiSkip)))->Fill(10000.*dzRecSkip[0]);
-       ((TH1F*)(fOutputnegtvTracSkip->FindObject(named0NegtvtraczSkip)))->Fill(10000.*dzRecSkip[1]);
-       if(fReadMC) {
-         ((TH1F*)(fOutputnegtvTracTrue->FindObject(named0NegtvtracrphiTrue)))->Fill(10000.*dzTrue[0]);
-         ((TH1F*)(fOutputnegtvTracTrue->FindObject(named0NegtvtraczTrue)))->Fill(10000.*dzTrue[1]);    
-       }    
-      }
-      
-      // SinTheta 
-      Double_t theta=esdtrack->Theta(); 
-      Double_t Sintheta=TMath::Sin(theta);
-      Double_t pi=TMath::Pi();
-      Double_t halfpi=0.5*pi;
-      Int_t thetabin = SinThetaBin(Sintheta);
-      if(thetabin<0) continue;
-      if(bin==4 && theta<halfpi){
-       char *named0ThetaforwardrphiRec = Form("d0thetaforwardrphiRec_%d", thetabin);
-       char *named0ThetaforwardzRec = Form("d0thetaforwardzRec_%d", thetabin);
-       char *named0ThetaforwardrphiSkip = Form("d0thetaforwardrphiSkip_%d", thetabin);
-       char *named0ThetaforwardzSkip = Form("d0thetaforwardzSkip_%d", thetabin);
-       ((TH1F*)(fOutputSinThetaRec->FindObject(named0ThetaforwardrphiRec)))->Fill(10000*dzRec[0]);
-       ((TH1F*)(fOutputSinThetaRec->FindObject(named0ThetaforwardzRec)))->Fill(10000*dzRec[1]);
-       ((TH1F*)(fOutputSinThetaSkip->FindObject(named0ThetaforwardrphiSkip)))->Fill(10000*dzRecSkip[0]);
-       ((TH1F*)(fOutputSinThetaSkip->FindObject(named0ThetaforwardzSkip)))->Fill(10000*dzRecSkip[1]);
-      }
-
-      if(bin==4 && theta>halfpi){
-       char *named0ThetabackwardrphiRec = Form("d0thetabackwardrphiRec_%d", thetabin);
-       char *named0ThetabackwardzRec = Form("d0thetabackwardzRec_%d", thetabin);
-       char *named0ThetabackwardrphiSkip = Form("d0thetabackwardrphiSkip_%d", thetabin);
-       char *named0ThetabackwardzSkip = Form("d0thetabackwardzSkip_%d", thetabin);
-       ((TH1F*)(fOutputSinThetaRec->FindObject(named0ThetabackwardrphiRec)))->Fill(10000*dzRec[0]);
-       ((TH1F*)(fOutputSinThetaRec->FindObject(named0ThetabackwardzRec)))->Fill(10000*dzRec[1]);
-       ((TH1F*)(fOutputSinThetaSkip->FindObject(named0ThetabackwardrphiSkip)))->Fill(10000*dzRecSkip[0]);
-       ((TH1F*)(fOutputSinThetaSkip->FindObject(named0ThetabackwardzSkip)))->Fill(10000*dzRecSkip[1]);
-      }
-      
-      if(bin==1) {
-       char *named0SinthetaonerphiRec = Form("d0sinthetaonerphiRec_%d", thetabin);
-       char *named0SinthetaonezRec = Form("d0sinthetaonezRec_%d", thetabin);
-       char *named0SinthetaonerphiSkip = Form("d0sinthetaonerphiSkip_%d", thetabin);
-       char *named0SinthetaonezSkip = Form("d0sinthetaonezSkip_%d", thetabin);
-       ((TH1F*)(fOutputSinThetaRec->FindObject(named0SinthetaonerphiRec)))->Fill(10000*dzRec[0]);
-       ((TH1F*)(fOutputSinThetaRec->FindObject(named0SinthetaonezRec)))->Fill(10000*dzRec[1]);
-       ((TH1F*)(fOutputSinThetaSkip->FindObject(named0SinthetaonerphiSkip)))->Fill(10000*dzRecSkip[0]);
-       ((TH1F*)(fOutputSinThetaSkip->FindObject(named0SinthetaonezSkip)))->Fill(10000*dzRecSkip[1]);
-      }
-      
-      if(bin==5) {
-       char *named0SinthetatworphiRec = Form("d0sinthetatworphiRec_%d", thetabin);
-       char *named0SinthetatwozRec = Form("d0sinthetatwozRec_%d", thetabin);
-       char *named0SinthetatworphiSkip = Form("d0sinthetatworphiSkip_%d", thetabin);
-       char *named0SinthetatwozSkip = Form("d0sinthetatwozSkip_%d", thetabin);
-       ((TH1F*)(fOutputSinThetaRec->FindObject(named0SinthetatworphiRec)))->Fill(10000*dzRec[0]);
-       ((TH1F*)(fOutputSinThetaRec->FindObject(named0SinthetatwozRec)))->Fill(10000*dzRec[1]);
-       ((TH1F*)(fOutputSinThetaSkip->FindObject(named0SinthetatworphiSkip)))->Fill(10000*dzRecSkip[0]);
-       ((TH1F*)(fOutputSinThetaSkip->FindObject(named0SinthetatwozSkip)))->Fill(10000*dzRecSkip[1]);
-      }
-      
-      if(bin==10) {
-       char *named0SinthetathreerphiRec = Form("d0sinthetathreerphiRec_%d", thetabin);
-       char *named0SinthetathreezRec = Form("d0sinthetathreezRec_%d", thetabin);
-       char *named0SinthetathreerphiSkip = Form("d0sinthetathreerphiSkip_%d", thetabin);
-       char *named0SinthetathreezSkip = Form("d0sinthetathreezSkip_%d", thetabin);
-       ((TH1F*)(fOutputSinThetaRec->FindObject(named0SinthetathreerphiRec)))->Fill(10000*dzRec[0]);
-       ((TH1F*)(fOutputSinThetaRec->FindObject(named0SinthetathreezRec)))->Fill(10000*dzRec[1]);
-       ((TH1F*)(fOutputSinThetaSkip->FindObject(named0SinthetathreerphiSkip)))->Fill(10000*dzRecSkip[0]);
-       ((TH1F*)(fOutputSinThetaSkip->FindObject(named0SinthetathreezSkip)))->Fill(10000*dzRecSkip[1]);
-      }
-      
-      if(bin==15) {
-       char *named0SinthetafourrphiRec = Form("d0sinthetafourrphiRec_%d", thetabin);
-       char *named0SinthetafourzRec = Form("d0sinthetafourzRec_%d", thetabin);
-       char *named0SinthetafourrphiSkip = Form("d0sinthetafourrphiSkip_%d", thetabin);
-       char *named0SinthetafourzSkip = Form("d0sinthetafourzSkip_%d", thetabin);
-       ((TH1F*)(fOutputSinThetaRec->FindObject(named0SinthetafourrphiRec)))->Fill(10000*dzRec[0]);
-       ((TH1F*)(fOutputSinThetaRec->FindObject(named0SinthetafourzRec)))->Fill(10000*dzRec[1]);
-       ((TH1F*)(fOutputSinThetaSkip->FindObject(named0SinthetafourrphiSkip)))->Fill(10000*dzRecSkip[0]);
-       ((TH1F*)(fOutputSinThetaSkip->FindObject(named0SinthetafourzSkip)))->Fill(10000*dzRecSkip[1]);
-      }
-      
-      //Phi
-      Double_t phi=esdtrack->Phi(); 
-      //Double_t pi=TMath::Pi();
-      Int_t phibin=PhiBin(phi);
-      if(phibin<0) continue;
-      if(pt>0.34 && pt<0.5) {
-       char *named0PhiallpointrphiSkip =Form("d0phiallpointrphiSkip_%d",phibin);
-       char *named0PhiallpointzSkip = Form("d0phiallpointzSkip_%d",phibin);
-       char *named0PhipostvtracrphiSkip =Form("d0phipostvtracrphiSkip_%d",phibin);
-       char *named0PhipostvtraczSkip = Form("d0phipostvtraczSkip_%d",phibin);
-       char *named0PhinegtvtracrphiSkip =Form("d0phinegtvtracrphiSkip_%d",phibin);
-       char *named0PhinegtvtraczSkip = Form("d0phinegtvtraczSkip_%d",phibin);
-       ((TH1F*)(fOutputphiAllpointSkip->FindObject(named0PhiallpointrphiSkip)))->Fill(10000*dzRecSkip[0]);
-       ((TH1F*)(fOutputphiAllpointSkip->FindObject(named0PhiallpointzSkip)))->Fill(10000*dzRecSkip[1]);
-       if(charge==+1) {
-         ((TH1F*)(fOutputphiPostvtracSkip->FindObject(named0PhipostvtracrphiSkip)))->Fill(10000*dzRecSkip[0]);
-         ((TH1F*)(fOutputphiPostvtracSkip->FindObject(named0PhipostvtraczSkip)))->Fill(10000*dzRecSkip[1]);
-       } 
-       if(charge==-1) {
-         ((TH1F*)(fOutputphiNegtvtracSkip->FindObject(named0PhinegtvtracrphiSkip)))->Fill(10000*dzRecSkip[0]);
-         ((TH1F*)(fOutputphiNegtvtracSkip->FindObject(named0PhinegtvtraczSkip)))->Fill(10000*dzRecSkip[1]);
-       }
-      }
-
-      //cluster type
-      Int_t ctypeSPD0 = ClusterTypeOnITSLayer(esdtrack,0);
-      if(ctypeSPD0==-1) continue;
-      Int_t ctypeSPD1 = ClusterTypeOnITSLayer(esdtrack,1);
-      if(ctypeSPD1==-1) continue;
-
-      if(ctypeSPD0==1) {
-       char *named0ClustertypeSPD01rphiSkip = Form("d0clustertypeSPD01rphiSkip_%d",phibin);
-       char *named0ClustertypeSPD01zSkip = Form("d0clustertypeSPD01rphiSkip_%d",phibin);
-       ((TH1F*)(fOutputclusterTypeSPD01Skip->FindObject(named0ClustertypeSPD01rphiSkip)))->Fill(10000*dzRecSkip[0]);
-       ((TH1F*)(fOutputclusterTypeSPD01Skip->FindObject(named0ClustertypeSPD01zSkip)))->Fill(10000*dzRecSkip[1]);
-      }
-      
-      if(ctypeSPD0==2) {
-       char *named0ClustertypeSPD02rphiSkip = Form("d0clustertypeSPD02rphiSkip_%d",phibin);
-       char *named0ClustertypeSPD02zSkip = Form("d0clustertypeSPD02rphiSkip_%d",phibin);
-       ((TH1F*)(fOutputclusterTypeSPD02Skip->FindObject(named0ClustertypeSPD02rphiSkip)))->Fill(10000*dzRecSkip[0]);
-       ((TH1F*)(fOutputclusterTypeSPD02Skip->FindObject(named0ClustertypeSPD02zSkip)))->Fill(10000*dzRecSkip[1]);
-      }
-      
-      if(ctypeSPD0==3) {
-       char *named0ClustertypeSPD03rphiSkip = Form("d0clustertypeSPD03rphiSkip_%d",phibin);
-       char *named0ClustertypeSPD03zSkip = Form("d0clustertypeSPD03zSkip_%d",phibin);
-       ((TH1F*)(fOutputclusterTypeSPD03Skip->FindObject(named0ClustertypeSPD03rphiSkip)))->Fill(10000*dzRecSkip[0]);
-       ((TH1F*)(fOutputclusterTypeSPD03Skip->FindObject(named0ClustertypeSPD03zSkip)))->Fill(10000*dzRecSkip[1]);
-      }
-      
-      if(ctypeSPD1==1) {
-       char *named0ClustertypeSPD11rphiSkip = Form("d0clustertypeSPD11rphiSkip_%d",phibin);
-       char *named0ClustertypeSPD11zSkip = Form("d0clustertypeSPD11rphiSkip_%d",phibin);
-       ((TH1F*)(fOutputclusterTypeSPD11Skip->FindObject(named0ClustertypeSPD11rphiSkip)))->Fill(10000*dzRecSkip[0]);
-       ((TH1F*)(fOutputclusterTypeSPD11Skip->FindObject(named0ClustertypeSPD11zSkip)))->Fill(10000*dzRecSkip[1]);
-      } 
-      if(ctypeSPD1==2) {
-       char *named0ClustertypeSPD12rphiSkip = Form("d0clustertypeSPD12rphiSkip_%d",phibin);
-       char *named0ClustertypeSPD12zSkip = Form("d0clustertypeSPD12rphiSkip_%d",phibin);
-       ((TH1F*)(fOutputclusterTypeSPD12Skip->FindObject(named0ClustertypeSPD12rphiSkip)))->Fill(10000*dzRecSkip[0]);
-       ((TH1F*)(fOutputclusterTypeSPD12Skip->FindObject(named0ClustertypeSPD12zSkip)))->Fill(10000*dzRecSkip[1]);
-      } 
-      
-      if(ctypeSPD1==3) {
-       char *named0ClustertypeSPD13rphiSkip = Form("d0clustertypeSPD13rphiSkip_%d",phibin);
-       char *named0ClustertypeSPD13zSkip = Form("d0clustertypeSPD13rphiSkip_%d",phibin);
-       ((TH1F*)(fOutputclusterTypeSPD13Skip->FindObject(named0ClustertypeSPD13rphiSkip)))->Fill(10000*dzRecSkip[0]);
-       ((TH1F*)(fOutputclusterTypeSPD13Skip->FindObject(named0ClustertypeSPD13zSkip)))->Fill(10000*dzRecSkip[1]);
-      }  
-     
-      // Bayesian PID
-      Double_t prob[AliPID::kSPECIES];
-      esdtrack->GetESDpid(prob);
-      Double_t priors[5] = {0.01, 0.01, 0.85, 0.10, 0.05};
-      
-      //Int_t charge = track->Charge();
-      //Int_t esdPid = -1;
-      
-      AliPID pid;
-      pid.SetPriors(priors);
-      pid.SetProbabilities(prob);
-      
-      // identify particle as the most probable     
-      Double_t pelectron = pid.GetProbability(AliPID::kElectron);
-      Double_t pmuon = pid.GetProbability(AliPID::kMuon);
-      Double_t ppion = pid.GetProbability(AliPID::kPion);
-      Double_t pkaon = pid.GetProbability(AliPID::kKaon);
-      Double_t pproton = pid.GetProbability(AliPID::kProton);  
-  
-      if (ppion > pelectron && 
-         ppion >pmuon  && 
-         ppion > pkaon && 
-         ppion > pproton ) {
-       //esdPid =-kPDGelectron;
-       char *named0PionPIDrphiRec = Form("d0pionPIDrphiRec_%d", bin);
-       char *named0PionPIDzRec = Form("d0pionPIDzRec_%d", bin);
-       char *named0PionPIDrphiSkip = Form("d0pionPIDrphiSkip_%d", bin);
-       char *named0PionPIDzSkip = Form("d0pionPIDzSkip_%d", bin);
-       ((TH1F*)(fOutputparticlePID->FindObject(named0PionPIDrphiRec)))->Fill(10000.*dzRec[0]);
-       ((TH1F*)(fOutputparticlePID->FindObject(named0PionPIDzRec)))->Fill(10000.*dzRec[1]);
-       ((TH1F*)(fOutputparticlePID->FindObject(named0PionPIDrphiSkip)))->Fill(10000.*dzRecSkip[0]);
-       ((TH1F*)(fOutputparticlePID->FindObject(named0PionPIDzSkip)))->Fill(10000.*dzRecSkip[1]);
-      }
-      
-      
-      if (pkaon > pelectron && 
-         pkaon >pmuon  && 
-         pkaon > ppion && 
-         pkaon > pproton ) {
-       //esdPid =-kPDGelectron;
-       char *named0KaonPIDrphiRec = Form("d0kaonPIDrphiRec_%d", bin);
-       char *named0KaonPIDzRec = Form("d0kaonPIDzRec_%d", bin);
-       char *named0KaonPIDrphiSkip = Form("d0kaonPIDrphiSkip_%d", bin);
-       char *named0KaonPIDzSkip = Form("d0kaonPIDzSkip_%d", bin);
-       ((TH1F*)(fOutputparticlePID->FindObject(named0KaonPIDrphiRec)))->Fill(10000.*dzRec[0]);
-       ((TH1F*)(fOutputparticlePID->FindObject(named0KaonPIDzRec)))->Fill(10000.*dzRec[1]);
-       ((TH1F*)(fOutputparticlePID->FindObject(named0KaonPIDrphiSkip)))->Fill(10000.*dzRecSkip[0]);
-       ((TH1F*)(fOutputparticlePID->FindObject(named0KaonPIDzSkip)))->Fill(10000.*dzRecSkip[1]);
-      }
-
-
-      if (pproton > pelectron && 
-         pproton >pmuon  && 
-         pproton > ppion && 
-         pproton > pkaon ) {
-       //esdPid =-kPDGelectron;
-       //if(p<0.5 && fReadMC){fEstimVtx->Fill(pdgCode);}
-       char *named0ProtonPIDrphiRec = Form("d0protonPIDrphiRec_%d", bin);
-       char *named0ProtonPIDzRec = Form("d0protonPIDzRec_%d", bin);
-       char *named0ProtonPIDrphiSkip = Form("d0protonPIDrphiSkip_%d", bin);
-       char *named0ProtonPIDzSkip = Form("d0protonPIDzSkip_%d", bin);
-       ((TH1F*)(fOutputparticlePID->FindObject(named0ProtonPIDrphiRec)))->Fill(10000.*dzRec[0]);
-       ((TH1F*)(fOutputparticlePID->FindObject(named0ProtonPIDzRec)))->Fill(10000.*dzRec[1]);
-       ((TH1F*)(fOutputparticlePID->FindObject(named0ProtonPIDrphiSkip)))->Fill(10000.*dzRecSkip[0]);
-       ((TH1F*)(fOutputparticlePID->FindObject(named0ProtonPIDzSkip)))->Fill(10000.*dzRecSkip[1]);
-      }
-      
-    }
-
-     
-  }  // end loop of tracks
-  
-  delete vtxESDRec;  vtxESDRec=NULL;
-  delete vtxESDTrue; vtxESDTrue=NULL;
-  PostData(1, fOutputitspureSARec);
-  PostData(2, fOutputitspureSASkip);
-  PostData(3, fOutputallPointRec);
-  PostData(4, fOutputallPointSkip);
-  PostData(5, fOutputpartPointRec);
-  PostData(6, fOutputpartPointSkip);
-  PostData(7, fOutputonepointSPDRec);
-  PostData(8, fOutputonepointSPDSkip);
-  PostData(9, fOutputpostvTracRec);
-  PostData(10, fOutputpostvTracSkip);
-  PostData(11, fOutputnegtvTracRec);
-  PostData(12, fOutputnegtvTracSkip);
-  PostData(13, fOutputpullAllpointRec);
-  PostData(14, fOutputpullAllpointSkip);
-  PostData(15, fOutputOnlyRefitRec);
-  PostData(16, fOutputOnlyRefitSkip);
-  PostData(17, fOutputSinThetaRec);
-  PostData(18, fOutputSinThetaSkip);
-  PostData(19, fOutputallPointTrue);
-  PostData(20, fOutputpostvTracTrue);
-  PostData(21, fOutputnegtvTracTrue);
-  PostData(22, fOutputpullAllpointTrue);
-  PostData(23, fOutputphiAllpointSkip);
-  PostData(24, fOutputphiPostvtracSkip);
-  PostData(25, fOutputphiNegtvtracSkip);
-  PostData(26, fOutputclusterTypeSPD01Skip);
-  PostData(27, fOutputclusterTypeSPD02Skip);
-  PostData(28, fOutputclusterTypeSPD03Skip);
-  PostData(29, fOutputclusterTypeSPD11Skip);
-  PostData(30, fOutputclusterTypeSPD12Skip);
-  PostData(31, fOutputclusterTypeSPD13Skip);
-  PostData(32, fOutputparticlePID);
-  PostData(33, fOutputPt);
-  PostData(34, fNentries);
-  PostData(35, fEstimVtx);  
-
-  return;
-}
-
-//________________________________________________________________________
-Int_t AliAnalysisTaskSEImpParRes::PtBin(Double_t pt) const {
-  //
-  // return the number of the pt bin
-  //
-
-  if (pt>0.22 && pt<0.23) return 1;
-  if (pt>0.26 && pt<0.27) return 2; 
-  if (pt>0.345 && pt<0.355) return 3;
-  if (pt>0.45 && pt<0.46) return 4; 
-  if (pt>0.55 && pt<0.56) return 5;
-  if (pt>0.65 && pt<0.66) return 6; 
-  if (pt>0.75 && pt<0.76) return 7; 
-  if (pt>0.85 && pt<0.865) return 8; 
-  if (pt>1.05 && pt<1.07) return 9;
-  if (pt>1.25 && pt<1.30) return 10; 
-  if (pt>1.4 && pt<1.55) return 11; 
-  if (pt>1.6 && pt<1.8) return 12; 
-  if (pt>1.8 && pt<2.0) return 13; 
-  if (pt>2.1 && pt<2.3) return 14; 
-  if (pt>2.34 && pt<2.64) return 15; 
-  if (pt>2.65 && pt<3.0) return 16; 
-  if (pt>3.1 && pt<4.) return 17; 
-  if (pt>4.1 && pt<5.2) return 18; 
-  if (pt>5.3 && pt<6.8)  return 19; 
-  if (pt>7.0 && pt<8.8) return 20; 
-  if (pt>9. && pt<11.) return 21;
-  if (pt>11.1 && pt<14.) return 22; 
-  if (pt>14.1  && pt<17.)  return 23;
-  if (pt>17.2  && pt<21.8) return 24; 
-  if (pt>22.1  && pt<29.)  return 25;
-  if (pt>29.05  && pt<35.)  return 26;
-  /*
-  if (pt>0.22 && pt<0.23) return 1 ;
-  if (pt>0.26 && pt<0.27) return 2 ; 
-  if (pt>0.35 && pt<0.36) return 3 ;
-  if (pt>0.45 && pt<0.46) return 4 ; 
-  if (pt>0.55 && pt<0.56) return 5 ;
-  if (pt>0.65 && pt<0.66) return 6 ; 
-  if (pt>0.75 && pt<0.76) return 7 ; 
-  if (pt>0.85 && pt<0.86) return 8 ; 
-  if (pt>1.05 && pt<1.06) return 9 ;
-  if (pt>1.25 && pt<1.27) return 10; 
-  if (pt>1.45 && pt<1.47) return 11; 
-  if (pt>1.65 && pt<1.67) return 12; 
-  if (pt>1.85 && pt<1.87) return 13; 
-  if (pt>2.15 && pt<2.17) return 14; 
-  if (pt>2.45 && pt<2.48) return 15; 
-  if (pt>2.65 && pt<2.67) return 16; 
-  if (pt>2.85 && pt<2.87) return 17; 
-  if (pt>3.25 && pt<3.27) return 18; 
-  if (pt>3.75 && pt<3.8)  return 19; 
-  if (pt>4.15 && pt<4.20) return 20; 
-  if (pt>4.95 && pt<5.15) return 21;
-  if (pt>5.35 && pt<5.55) return 22; 
-  if (pt>6.0  && pt<6.8)  return 23;
-  if (pt>8.5  && pt<10.5) return 24; 
-  if (pt>12.  && pt<19.)  return 25;
-  if (pt>21.  && pt<32.)  return 26;
-  */  
-  return -1; 
-}
-
-//________________________________________________________________________
-Double_t AliAnalysisTaskSEImpParRes::Getd0HistRange(Int_t i) const {
-  //
-  // Return the range of the d0 histograms for each pt bin
-  //
-  if (i==1) return  2500.; 
-  if (i==2) return  1800.;
-  if (i==3) return  1750.;
-  if (i==4) return  1200.;
-  if (i==5) return  1000.;
-  if (i==6) return  900.;
-  if (i==7) return  850.;
-  if (i==8) return  700.;
-  if (i==9) return  650.;
-  if (i==10) return 600.;
-  if (i==11) return 550.;
-  if (i==12) return 500.;
-  if (i==13) return 450.;
-  if (i==14) return 400.;
-  if (i==15) return 390.;
-  if (i==16) return 380.;
-  if (i==17) return 380.;
-  if (i==18) return 350.;
-  if (i==19) return 320.;
-  if (i==20) return 300.;
-  if (i==21) return 290.;
-  if (i==22) return 270.;
-  if (i==23) return 250.;
-  if (i==24) return 270.;
-  if (i==25) return 279.;
-  if (i==26) return 270.;
-
-  return 2000.;
-}
-
-//________________________________________________________________________
-Int_t AliAnalysisTaskSEImpParRes::SinThetaBin(Double_t sintheta) const {  
-  //
-  // Return the number of the sinTheta bin
-  // 
-  if(sintheta>0.7 && sintheta<0.73) return 1;
-  if(sintheta>0.73 && sintheta<0.76) return 2; 
-  if(sintheta>0.76 && sintheta<0.79) return 3; 
-  if(sintheta>0.79 && sintheta<0.82) return 4;
-  if(sintheta>0.82 && sintheta<0.85) return 5;       
-  if(sintheta>0.85 && sintheta<0.88) return 6; 
-  if(sintheta>0.88 && sintheta<0.91) return 7;
-  if(sintheta>0.91 && sintheta<0.94) return 8;       
-  if(sintheta>0.94 && sintheta<0.97) return 9; 
-  if(sintheta>0.97 && sintheta<1.0) return 10;  
-  return -1;
-}
-
-//___________________________________________________________________________
-Int_t AliAnalysisTaskSEImpParRes::PhiBin(Double_t phi) const { 
-  Double_t pi=TMath::Pi();
-  if(phi>2.*pi || phi<0.) return -1;
-  if(phi<0.1*pi) return 1;
-  if(phi<0.2*pi) return 2;
-  if(phi<0.3*pi) return 3;
-  if(phi<0.4*pi) return 4;
-  if(phi<0.5*pi) return 5;
-  if(phi<0.6*pi) return 6;
-  if(phi<0.7*pi) return 7;
-  if(phi<0.8*pi) return 8;
-  if(phi<0.9*pi) return 9;
-  if(phi<1.0*pi) return 10;
-  if(phi<1.1*pi) return 11;
-  if(phi<1.2*pi) return 12;
-  if(phi<1.3*pi) return 13;
-  if(phi<1.4*pi) return 14;
-  if(phi<1.5*pi) return 15;
-  if(phi<1.6*pi) return 16;
-  if(phi<1.7*pi) return 17;
-  if(phi<1.8*pi) return 18;
-  if(phi<1.9*pi) return 19;
-  if(phi<2.0*pi) return 20;
-  return -1;
-}
-//___________________________________________________________________________
-void AliAnalysisTaskSEImpParRes::Terminate(Option_t */*option*/) {
-  //
-  // Terminate analysis
-  //
-
-  if (fDebug>1) printf("AnalysisTaskSEImpParRes: Terminate() \n");
-
-  return;
-}
-//__________________________________________________________________________
-Int_t AliAnalysisTaskSEImpParRes::ClusterTypeOnITSLayer(AliESDtrack *track,
-                                                       Int_t layer) const {
-//
-// Returns cluster type on ITS layer. Returns -1 if no cluster on this layer
-//
-  Int_t ctype=-1;
-
-  if(layer<0 || layer>5) return ctype;
-  if(!track->HasPointOnITSLayer(layer)) return ctype;
-  
-  const AliTrackPointArray *array = track->GetTrackPointArray();
-  if(!array) {
-//    printf("No tracks points avaialble: check ESDfriends\n");
-    return ctype;
-  }
-  AliTrackPoint point;
-  Int_t ipt,volId,modId,layerId;
-  for(ipt=0; ipt<array->GetNPoints(); ipt++) {
-    array->GetPoint(point,ipt);
-    volId = point.GetVolumeID();
-    if(volId<=0) continue;
-    layerId = AliGeomManager::VolUIDToLayer(volId,modId);
-    if(layerId==layer+1 && !point.IsExtra()) {
-      ctype = point.GetClusterType();
-      break;
-    }
-  }
-  return ctype;
-}
-//---------------------------------------------------------------------------
-Bool_t AliAnalysisTaskSEImpParRes::IsSelectedCentrality(AliESDEvent *esd) const
-{
-  //
-  // check if events is in the required multiplicity range
-  //
-
-  const AliMultiplicity *alimult = esd->GetMultiplicity();
-  Int_t ntrklets=1;
-  Int_t nclsSPDouter=0;
-  if(alimult) {
-    ntrklets = alimult->GetNumberOfTracklets();
-    nclsSPDouter = alimult->GetNumberOfITSClusters(1);
-  }
-
-  if(nclsSPDouter<fMinMult || nclsSPDouter>fMaxMult) return kFALSE;
-
-
-  return kTRUE;
-}
diff --git a/PWG1/ITS/AliITSQAchecks.C b/PWG1/ITS/AliITSQAchecks.C
deleted file mode 100644 (file)
index bd56f53..0000000
+++ /dev/null
@@ -1,1260 +0,0 @@
-#if !defined(__CINT__) || defined(__MAKECINT__)
-#include <TCanvas.h>
-#include <TGrid.h>
-#include <TFile.h>
-#include <TList.h>
-#include <TGridResult.h>
-#include <TPaveStats.h>
-#include <TGraph.h>
-#include <TMath.h>
-#include <TGraphErrors.h>
-#include <TH1.h>
-#include <TF1.h>
-#include <TH2.h>
-#include <TLegend.h>
-#include <TLegendEntry.h>
-#include <TLatex.h>
-#include <TString.h>
-#include <TStyle.h>
-#include <TSystem.h>
-#include <TROOT.h>
-#endif
-
-void PlotGeneral(TFile* fildat, TCanvas**& clist, Int_t& cnum);
-void PlotITSsa(TFile* fildat, TCanvas**& clist, Int_t& cnum);
-void PlotSDD(TFile* fildat, TCanvas**& clist, Int_t& cnum);
-void GetGainModuleLevelSSD(TFile* fildat, TCanvas**& clist, Int_t& cnum);
-void VertexQAMacro(TFile *fildat, TCanvas **&clist, Int_t &cnum);
-void PlotSPD(TFile* fildat, TFile* filMC, TCanvas**& clist, Int_t& cnum);
-Bool_t PlotITSTPCMatchingEff(TFile *f, TCanvas**& clist,Int_t& cnum);
-void SetDrawAtt(Int_t markerstyle,Int_t markercolor,Int_t markersize,Int_t linecolor,Int_t linewidth,TH1 *h1);
-Double_t LangausFun(Double_t *x, Double_t *par);
-void SaveC(TFile &fout, TCanvas**& clist, Int_t cnum);
-TString GetRunNumber();
-
-//  the run number is available to all the functions. Its value is set by AliITSQAchecks
-  Int_t gRunNumber = 0;
-  Int_t gRunNumberMC = 0;
-  TString pdfFileNames="";
-
-
-//_______________________________________________________________________
-void AliITSQAchecks(TString option="grid",
-                         Int_t nRun=170389,
-                         TString period="LHC11h_2",
-                         TString qaTrain="",
-                   TString filenamedata="QAresults.root", TString filenameMC="alien:///alice/data/2011/LHC11h_2/000170546/ESDs/pass2/QAresults.root",Int_t nRunMC=0){
-  // THIS MACRO SHOULD BE COMPILED. IT DOES NOT WORK WITH THE INTERPRETER
-  // option:  "local" if filenamedata is the name of a local file
-  //          "grid" if on alien
-  // nRun:    run number
-  // period:  LHC period (e.g. LHC11h)
-  // qaTrain: QA train specifier  
-  //          Empty string if QAresults.root is in the ESDs/pass1_HLT directory 
-  // filenamedata: QAresults.root is by default the file name with the results
-  // filenameMC: file name for MC comparison. If the names begins with alien:
-  //             the file is accessed through alien, otherwise is taken as local
-  // nRunMC:  run number for comparison. If filenamMC begings with "alien:" 
-  //          the run number is taken from the path. Otherwise, in case of a 
-  //          local filenameMC, the run number must be specified here
-  // Select here what you want to display
-  // the complete selection string is
-  // "general ITSSA SPD SDD SSD vertex ITSTPC"
-  // Contact:  Stefania Beole': beole@to.infn.it  
-
-/* $Id$ */
-
-  gRunNumber = nRun;
-  TString aux(filenameMC);
-  if(aux.BeginsWith("alien:")){
-    Int_t pl=aux.Index("/000",4)+4;
-    aux=aux.Remove(0,pl);
-    aux=aux.Remove(6,aux.Length()-6);  
-    gRunNumberMC = atoi(aux.Data());
-  }
-  else {
-    gRunNumber = nRunMC;
-  }
-
-  TString selection("general ITSSA SPD SDD SSD vertex ITSTPC"); 
-  //  TString selection("SPD"); 
-  gROOT->SetStyle("Plain");
-  gStyle->SetOptStat(1111);
-  TFile *fildat;
-  TString path;
-  Int_t year=2011;
-  if(period.Contains("LHC10")) year=2010;
-  else if(period.Contains("LHC09")) year=2009;
-
-  if(option.Contains("local")){
-    fildat=new TFile(filenamedata.Data());
-    printf("Opened file %s\n",fildat->GetName());
-  }else{
-    TGrid::Connect("alien:");
-    if(qaTrain.Contains("QA")){
-      path=Form("/alice/data/%d/%s/%09d/ESDs/pass2/%s/",year,period.Data(),nRun,qaTrain.Data());
-    } else {
-      path=Form("/alice/data/%d/%s/%09d/ESDs/pass2/",year,period.Data(),nRun);
-    }
-    filenamedata = "alien://"+path+"QAresults.root";
-    fildat=TFile::Open(filenamedata.Data());
-  }
-  if(option.Contains("local") && filenameMC.Contains("alien"))TGrid::Connect("alien:");
-  TFile* filMC=TFile::Open(filenameMC.Data());
-  TCanvas** clist;
-  Int_t cnum;
-  char rn[10];
-  sprintf(rn,"%d",gRunNumber);
-  TString strRN(rn);
-  TString founame="Outfil"+strRN+".root";
-  TFile fout(founame,"recreate");
-  if(selection.Contains("general")){
-    PlotGeneral(fildat,clist,cnum); 
-    printf("GENERAL - cnum = %d\n",cnum);
-    SaveC(fout,clist,cnum);
-
-  }
-  if(selection.Contains("ITSSA")){
-    PlotITSsa(fildat,clist,cnum); 
-    printf("ITSSA - cnum = %d\n",cnum);
-    SaveC(fout,clist,cnum);
-  }
-  if(selection.Contains("SDD")){
-    PlotSDD(fildat,clist,cnum); 
-    printf("SDD - cnum = %d\n",cnum);
-    SaveC(fout,clist,cnum);
-  }
-  if(selection.Contains("SSD")){
-    GetGainModuleLevelSSD(fildat,clist,cnum);
-    printf("SSD - cnum = %d\n",cnum);
-    SaveC(fout,clist,cnum);
-  }
-  if(selection.Contains("vertex")){
-    VertexQAMacro(fildat,clist,cnum);
-    printf("VERTEX - cnum = %d\n",cnum);
-    SaveC(fout,clist,cnum);
-  }
-  if(selection.Contains("SPD")){
-    PlotSPD(fildat,filMC,clist,cnum);
-    printf("SPD - cnum = %d\n",cnum);
-    SaveC(fout,clist,cnum);
-  }
-  if(selection.Contains("ITSTPC")){
-    PlotITSTPCMatchingEff(fildat,clist,cnum);
-    printf("ITSTPC - cnum = %d\n",cnum);
-    SaveC(fout,clist,cnum);
-  }
-
-  fout.Close();
-
-  // merge the pdf files
-  TString command("gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged");
-  command=command+strRN+".pdf "+pdfFileNames;
-  gSystem->Exec(command.Data());
-  printf(" Merging the pdf file:  %s \n",command.Data());
-  
-}
-
-//_______________________________________________________________________
-void PlotGeneral(TFile* fildat, TCanvas**& clist, Int_t& cnum){
-  TDirectoryFile* df=(TDirectoryFile*)fildat->Get("SDD_Performance");
-  if(!df){
-    printf("SDD_Performance MISSING -> Exit\n");
-    return;
-  }
-  TList* l=(TList*)df->Get("coutputRP");
-  if(!df){
-    printf("coutputRP TList MISSING -> Exit\n");
-    return;
-  }
-  cnum=1; // number of canvases 
-  clist= new TCanvas* [1];//array of pointers to TCanvases
-  gROOT->SetStyle("Plain");
-  gStyle->SetOptStat(1111);
-  TH1F* hcllay=(TH1F*)l->FindObject("hCluInLay");
-  TH1F* hev=(TH1F*)l->FindObject("hNEvents");
-  Int_t nTotEvents=hev->GetBinContent(2);
-  Int_t nTrigEvents=hev->GetBinContent(3);
-  Int_t nEvents=nTotEvents;
-  printf("---- Statistics ----\n");
-  printf("Number of Events = %d\n",nTotEvents);
-  if(nTrigEvents>0){ 
-    printf("Number of Triggered Events = %d\n",nTrigEvents);
-    nEvents=nTrigEvents;
-  }else{
-    printf("No request on the trigger done when running the task\n");
-  }
-  if(hcllay){
-    Double_t norm=hcllay->GetBinContent(1);
-    if(norm>0.){
-      hcllay->Scale(1./norm);
-      hcllay->SetTitle("");
-      hcllay->GetXaxis()->SetRange(2,7);
-      hcllay->SetMinimum(0.);
-      hcllay->SetMaximum(1.1);
-      hcllay->SetMarkerStyle(23);
-      TString ctitle=GetRunNumber()+"General checks: PointPerLayer";
-      TCanvas* ceffL=new TCanvas("ceffL",ctitle,1000,800);
-      clist[0]=ceffL;
-      // ceffL->Divide(1,2);
-      // ceffL->cd(1);
-      ceffL->SetGridy();
-      hcllay->Draw();