new class for mu-hadron analysis libraries (Tim Schuster <Tim.Schuster@cern.ch>)
authormiweber <miweber@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 23 Sep 2013 13:24:46 +0000 (13:24 +0000)
committermiweber <miweber@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 23 Sep 2013 13:24:46 +0000 (13:24 +0000)
PWGCF/CMakelibPWGCFCorrelationsDPhi.pkg
PWGCF/Correlations/DPhi/FourierDecomposition/AliMuonEffMC.cxx
PWGCF/Correlations/DPhi/FourierDecomposition/AliMuonEffMC.h
PWGCF/Correlations/macros/fd/AddTaskPicoTracksDhc.C
PWGCF/PWGCFCorrelationsDPhiLinkDef.h

index e0d5186..40a48ce 100644 (file)
@@ -44,6 +44,7 @@ set ( SRCS
     Correlations/DPhi/FourierDecomposition/AliPool.cxx
     Correlations/DPhi/FourierDecomposition/AliDhcTask.cxx
     Correlations/DPhi/FourierDecomposition/AliMuonEffMC.cxx
+    Correlations/DPhi/FourierDecomposition/AliMCTruthTrackMaker.cxx
     Correlations/DPhi/AliLeadingV0Correlation.cxx 
     Correlations/DPhi/AliAnalysisTaskLongRangeCorrelations.cxx 
     Correlations/DPhi/MuonHadron/AliAnalysisTaskMuonHadronCorrelations.cxx 
index 675db1c..07858ea 100644 (file)
@@ -50,6 +50,7 @@ AliMuonEffMC::AliMuonEffMC() :
   {
     fHMuonDetGen[i] = NULL;
     fHMuonDetRec[i] = NULL;
+    fHMuonDetRecT[i] = NULL;
     fHHadDetRec[i] = NULL;
     fHSecDetRec[i] = NULL;
   }
@@ -110,6 +111,7 @@ AliMuonEffMC::AliMuonEffMC(const char *name) :
   {
     fHMuonDetGen[i] = NULL;
     fHMuonDetRec[i] = NULL;
+    fHMuonDetRecT[i] = NULL;
     fHHadDetRec[i] = NULL;
     fHSecDetRec[i] = NULL;
   }
@@ -311,6 +313,10 @@ void AliMuonEffMC::UserCreateOutputObjects()
        fHMuonDetRec[i]->Sumw2();
        fOutputList->Add(fHMuonDetRec[i]);
        
+       fHMuonDetRecT[i] = (THnF*) fHMuonParGen->Clone(Form("fHMuonDetRecT_%s",cutlabel[i]));
+       fHMuonDetRecT[i]->Sumw2();
+       fOutputList->Add(fHMuonDetRecT[i]);
+
        fHHadDetRec[i] = (THnF*) fHMuonParGen->Clone(Form("fHHadDetRec_%s",cutlabel[i]));
        fHHadDetRec[i]->Sumw2();
        fOutputList->Add(fHHadDetRec[i]);
@@ -329,7 +335,11 @@ void AliMuonEffMC::UserCreateOutputObjects()
       fHMuonDetRec[0] = (THnF*) fHMuonParGen->Clone(Form("fHMuonDetRec"));
       fHMuonDetRec[0]->Sumw2();
       fOutputList->Add(fHMuonDetRec[0]);
-      
+
+      fHMuonDetRecT[0] = (THnF*) fHMuonParGen->Clone(Form("fHMuonDetRecT"));
+      fHMuonDetRecT[0]->Sumw2();
+      fOutputList->Add(fHMuonDetRecT[0]);
+
       fHHadDetRec[0] = (THnF*) fHMuonParGen->Clone(Form("fHHadDetRec"));
       fHHadDetRec[0]->Sumw2();
       fOutputList->Add(fHHadDetRec[0]);
@@ -500,6 +510,15 @@ void AliMuonEffMC::UserCreateOutputObjects()
     fHMuonDetRec[0]->Sumw2();
     fOutputList->Add(fHMuonDetRec[0]);
 
+    fHMuonDetRecT[0] = new THnF(Form("fHMuonDetRecT_%s", cutlabel[0]), "", 6, iTrackBin, 0, 0);
+    for (Int_t i=0; i<6; i++)
+    {
+      fHMuonDetRecT[0]->SetBinEdges(i, trackBins[i]);
+      fHMuonDetRecT[0]->GetAxis(i)->SetTitle(trackAxisTitle[i]);
+    }
+    fHMuonDetRecT[0]->Sumw2();
+    fOutputList->Add(fHMuonDetRecT[0]);
+
     for(Int_t i=1; i<5; i++)
     {
       fHMuonDetRec[i] = (THnF*) fHMuonDetRec[0]->Clone(Form("fHMuonDetRec_%s",cutlabel[i]));
@@ -507,6 +526,13 @@ void AliMuonEffMC::UserCreateOutputObjects()
       fOutputList->Add(fHMuonDetRec[i]);
     }
 
+   for(Int_t i=1; i<5; i++)
+    {
+      fHMuonDetRecT[i] = (THnF*) fHMuonDetRecT[0]->Clone(Form("fHMuonDetRecT_%s",cutlabel[i]));
+      fHMuonDetRecT[i]->Sumw2();
+      fOutputList->Add(fHMuonDetRecT[i]);
+    }
+
    fHMuonDetRecP = new THnF("fHMuonDetRecP", "", 6, iTrackBinP, 0, 0);
     for (Int_t i=0; i<5; i++)
     {
@@ -736,7 +762,10 @@ void AliMuonEffMC::UserExec(Option_t *)
     Double_t fillArrayDetRec[6] = { tracketa, trackpt, fCentrality, fZVertex, trackphi, trackcharge }; 
     Double_t fillArrayDetRecP[6] = { tracketa, trackp, fCentrality, fZVertex, trackphi, trackcharge };
     if(fIsCutStudy) fHMuonDetRec[cutNum]->Fill(fillArrayDetRec);
-    else { if(cutNum==2 || cutNum==3) fHMuonDetRec[0]->Fill(fillArrayDetRec); }
+    else { 
+      if(cutNum==2 || cutNum==3) fHMuonDetRec[0]->Fill(fillArrayDetRec); 
+      if(cutNum==3) fHMuonDetRecT[0]->Fill(fillArrayDetRec);
+    }
     if(cutNum==2 || cutNum==3) fHMuonDetRecP->Fill(fillArrayDetRecP);
 
     if(fIsMc)
index e7631dd..0e1bd46 100644 (file)
@@ -103,6 +103,7 @@ class AliMuonEffMC : public AliAnalysisTaskSE {
   THn         *fHMuonParGenFPM;
   THn         *fHMuonDetGen[5];    //! detector level muon track generated eta, p_T, Centrality, Z-vertex, phi, charge
   THn         *fHMuonDetRec[5];    //! reconstructed muon track eta, p_T, Centrality, Z-vertex, phi, charge
+  THn         *fHMuonDetRecT[5];
   THn         *fHHadDetRec[5];     //! particle reconstructed at MUON detector, but not muon
   THn         *fHSecDetRec[5];     //! particle reconstructed at MUON detector, but secondary muon
   THn         *fHMuonParGenV[4];
@@ -149,7 +150,7 @@ class AliMuonEffMC : public AliAnalysisTaskSE {
   AliMuonEffMC(const AliMuonEffMC&);            // not implemented
   AliMuonEffMC &operator=(const AliMuonEffMC&); // not implemented
 
-  ClassDef(AliMuonEffMC, 11);
+  ClassDef(AliMuonEffMC, 12);
 };
 
 #endif
index 2349633..1695de4 100644 (file)
@@ -2,9 +2,8 @@
 \r
 void AddTaskPicoTracksDhc(\r
   TString chNOutTracks   = "PicoTracks",\r
-  TString period         = "LHC11h",\r
-  Bool_t includeNoITS    = kFALSE\r
-) \r
+  TString period         = "LHC11h"\r
+)\r
 {\r
   // Get the analysis manager\r
   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r
@@ -24,14 +23,14 @@ void AddTaskPicoTracksDhc(
     Info("AddTaskPicoTracksDhc","adding ESD track selection task ...");\r
     // ESD Track Cuts\r
     gROOT->LoadMacro("$ALICE_ROOT/PWG/EMCAL/macros/AddTaskEmcalEsdTpcTrack.C");\r
-    AliEmcalEsdTpcTrackTask *hybTask = AddTaskEmcalEsdTpcTrack("HybridTracks", cuts.Data(), includeNoITS);\r
+    AliEmcalEsdTpcTrackTask *hybTask = AddTaskEmcalEsdTpcTrack("HybridTracks", cuts.Data());\r
     hybTask->SelectCollisionCandidates(AliVEvent::kAny);\r
     // Pico Tracks\r
     pTrackTask = AddTaskEmcalPicoTrackMaker(chNOutTracks.Data(), "HybridTracks", period);\r
     pTrackTask->SelectCollisionCandidates(AliVEvent::kAny);\r
   } else {\r
     Info("AddTaskPicoTracksDhc","AOD analysis, adding PicoTrack maker ...");\r
-    pTrackTask = AddTaskEmcalPicoTrackMaker(chNOutTracks.Data(),"tracks", period, includeNoITS);\r
+    pTrackTask = AddTaskEmcalPicoTrackMaker(chNOutTracks.Data(),"tracks", period);\r
     pTrackTask->SelectCollisionCandidates(AliVEvent::kAny);\r
   }\r
 }\r
index f4273fd..4b69004 100644 (file)
@@ -24,6 +24,7 @@
 #pragma link C++ class AliMiniTrack+;
 #pragma link C++ class AliDhcTask+;
 #pragma link C++ class AliMuonEffMC+;
+#pragma link C++ class AliMCTruthTrackMaker+;
 #pragma link C++ class AliLeadingV0Correlation+;
 #pragma link C++ class V0Correlationparticle+;
 #pragma link C++ class AliAnalysisTaskLongRangeCorrelations+;