]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG/muon/AliAnalysisTaskFlowSingleMu.cxx
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWG / muon / AliAnalysisTaskFlowSingleMu.cxx
index ab1674907ccb5d9c52a24c550a17936330a8dbd6..5453ade5852546598474ed932a0662040fb9ed62 100644 (file)
@@ -284,15 +284,16 @@ void AliAnalysisTaskFlowSingleMu::ProcessEvent(TString physSel, const TObjArray&
   //
   Double_t containerInput[kNvars];
   AliVParticle* track = 0x0;
-  for ( Int_t istep = 0; istep<2; ++istep ) {
-    Int_t nTracks = ( istep == kStepReconstructed ) ? AliAnalysisMuonUtility::GetNTracks(InputEvent()) : AliAnalysisMuonUtility::GetNMCTracks(InputEvent(),MCEvent());
+  Int_t nSteps = MCEvent() ? 2 : 1;
+  for ( Int_t istep = 0; istep<nSteps; ++istep ) {
+    Int_t nTracks = ( istep == kStepReconstructed ) ? AliAnalysisMuonUtility::GetNTracks(InputEvent()) : MCEvent()->GetNumberOfTracks();
     for (Int_t itrack = 0; itrack < nTracks; itrack++) {
-      track = ( istep == kStepReconstructed ) ? AliAnalysisMuonUtility::GetTrack(itrack,InputEvent()) : AliAnalysisMuonUtility::GetMCTrack(itrack,InputEvent(),MCEvent());
+      track = ( istep == kStepReconstructed ) ? AliAnalysisMuonUtility::GetTrack(itrack,InputEvent()) : MCEvent()->GetTrack(itrack);
       
       Bool_t isSelected = ( istep == kStepReconstructed ) ? fMuonTrackCuts->IsSelected(track) : ( TMath::Abs(track->PdgCode()) == 13 );
       if ( ! isSelected ) continue;
       
-      Int_t trackSrc = ( istep == kStepReconstructed ) ? GetParticleType(track) : RecoTrackMother(track);
+      Int_t trackSrc = GetParticleType(track);
  
 
       containerInput[kHvarPt]         = track->Pt();
@@ -653,7 +654,7 @@ void AliAnalysisTaskFlowSingleMu::Terminate(Option_t *) {
   TString graphTypeName[3] = {"raw","correctStat","correctSyst"};
   Int_t drawOrder[3] = {0, 2, 1};
   TString drawOpt[3] = {"apz","pz","a2"};
-  Int_t nTypes = ( hasResolution ) ? 3 : 1;
+  const Int_t kNtypes = ( hasResolution ) ? 3 : 1;
 
   TString histoName = "", histoPattern = "";
   ///////////
@@ -671,8 +672,8 @@ void AliAnalysisTaskFlowSingleMu::Terminate(Option_t *) {
   for ( Int_t istep=0; istep<kNsteps; istep++ ) {
     for ( Int_t isrc = firstSrc; isrc <= lastSrc; ++isrc ) {
       TString baseName = Form("%s_%s", stepName[istep].Data(), fSrcKeys->At(isrc)->GetName());
-      TGraphErrors* flowVsCentrality[3];
-      for ( Int_t itype=0; itype<nTypes; itype++ ) {
+      TGraphErrors* flowVsCentrality[kNtypes];
+      for ( Int_t itype=0; itype<kNtypes; itype++ ) {
         histoName = Form("v2VsCentrality_%s_%s", baseName.Data(), graphTypeName[itype].Data());
         flowVsCentrality[itype] = new TGraphErrors();
         flowVsCentrality[itype]->SetName(histoName.Data());
@@ -687,8 +688,8 @@ void AliAnalysisTaskFlowSingleMu::Terminate(Option_t *) {
         TAxis* ptAxis = histo2D->GetYaxis();
         
         Int_t ipad = 0;
-        TGraphErrors* flowVsPt[3];
-        for ( Int_t itype=0; itype<nTypes; itype++ ) {
+        TGraphErrors* flowVsPt[kNtypes];
+        for ( Int_t itype=0; itype<kNtypes; itype++ ) {
           histoName = Form("v2VsPt_%s_%s", baseNameCent.Data(), graphTypeName[itype].Data());
           flowVsPt[itype] = new TGraphErrors();
           flowVsPt[itype]->SetName(histoName.Data());
@@ -719,7 +720,7 @@ void AliAnalysisTaskFlowSingleMu::Terminate(Option_t *) {
             func->FixParameter(1,0.);
           }
           projHisto->Fit(func,"R");
-          for ( Int_t itype=0; itype<nTypes; itype++ ) {
+          for ( Int_t itype=0; itype<kNtypes; itype++ ) {
             TGraphErrors* currGraph = ( ipt == 0 ) ? flowVsCentrality[itype] : flowVsPt[itype];
             Double_t resoVal = ( itype == 0 ) ? 1. : wgtReso[0][idx];
             Double_t resoErr = ( itype == 0 ) ? 0. : wgtReso[itype][idx];
@@ -747,7 +748,7 @@ void AliAnalysisTaskFlowSingleMu::Terminate(Option_t *) {
             currGraph->SetPointError(ipoint,xErr,yErr);
           } // loop on type
         } // loop on pt bins
-        for ( Int_t itype=0; itype<nTypes; itype++ ) {
+        for ( Int_t itype=0; itype<kNtypes; itype++ ) {
           Int_t currType = drawOrder[itype];
           if ( itype < 2 ) {
             currName = flowVsPt[currType]->GetName();
@@ -764,7 +765,7 @@ void AliAnalysisTaskFlowSingleMu::Terminate(Option_t *) {
           outList.Add(flowVsPt[currType]);
         } // loop on types
       } // loop on centrality
-      for ( Int_t itype=0; itype<nTypes; itype++ ) {
+      for ( Int_t itype=0; itype<kNtypes; itype++ ) {
         Int_t currType = drawOrder[itype];
         if ( flowVsCentrality[currType]->GetN() == 0 ) continue;
         if ( itype < 2 ) {
@@ -960,6 +961,7 @@ void AliAnalysisTaskFlowSingleMu::Terminate(Option_t *) {
     } // loop on track sources
   } // loop on steps
 
+  delete centralityClasses;
 
   //////////////////////
   // Event statistics //