]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Changes for configurability in pA executions: better switching between
authorddobrigk <ddobrigk@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 29 Jan 2013 21:24:32 +0000 (21:24 +0000)
committerddobrigk <ddobrigk@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 29 Jan 2013 21:24:32 +0000 (21:24 +0000)
centrality estimator, better implementation of rapidity shifts
throughout the framework.

PWGLF/STRANGENESS/LambdaK0/AliAnalysisTaskExtractPerformanceV0.cxx
PWGLF/STRANGENESS/LambdaK0/AliAnalysisTaskExtractPerformanceV0.h
PWGLF/STRANGENESS/LambdaK0/AliAnalysisTaskExtractV0.cxx
PWGLF/STRANGENESS/LambdaK0/AliAnalysisTaskExtractV0.h

index cdbba3abc1253d65930ce9ca95bae5fcd5c107dc..dc89707278730f2cf2579de9a65964976465c54f 100644 (file)
@@ -102,6 +102,7 @@ AliAnalysisTaskExtractPerformanceV0::AliAnalysisTaskExtractPerformanceV0()
    fkUseOnTheFly ( kFALSE ),
    fkTakeAllTracks ( kFALSE ),
    fpArapidityShift ( 0.465 ),
+  fCentralityEstimator("V0M"),
 //------------------------------------------------
 // Tree Variables 
 
@@ -259,6 +260,14 @@ AliAnalysisTaskExtractPerformanceV0::AliAnalysisTaskExtractPerformanceV0()
    f3dHistGenSelectedPtVsYVsMultXiPlus(0),
    f3dHistGenSelectedPtVsYVsMultOmegaMinus(0),
    f3dHistGenSelectedPtVsYVsMultOmegaPlus(0),
+   f3dHistGenPtVsYCMSVsMultXiMinus(0),
+   f3dHistGenPtVsYCMSVsMultXiPlus(0),
+   f3dHistGenPtVsYCMSVsMultOmegaMinus(0),
+   f3dHistGenPtVsYCMSVsMultOmegaPlus(0),
+   f3dHistGenSelectedPtVsYCMSVsMultXiMinus(0),
+   f3dHistGenSelectedPtVsYCMSVsMultXiPlus(0),
+   f3dHistGenSelectedPtVsYCMSVsMultOmegaMinus(0),
+   f3dHistGenSelectedPtVsYCMSVsMultOmegaPlus(0),
    fHistPVx(0),
    fHistPVy(0),
    fHistPVz(0),
@@ -280,6 +289,7 @@ AliAnalysisTaskExtractPerformanceV0::AliAnalysisTaskExtractPerformanceV0(const c
    fkUseOnTheFly ( kFALSE ),
    fkTakeAllTracks ( kFALSE ),
    fpArapidityShift ( 0.465 ),
+  fCentralityEstimator("V0M"),
 //------------------------------------------------
 // Tree Variables 
 
@@ -438,6 +448,14 @@ AliAnalysisTaskExtractPerformanceV0::AliAnalysisTaskExtractPerformanceV0(const c
    f3dHistGenSelectedPtVsYVsMultXiPlus(0),
    f3dHistGenSelectedPtVsYVsMultOmegaMinus(0),
    f3dHistGenSelectedPtVsYVsMultOmegaPlus(0),
+   f3dHistGenPtVsYCMSVsMultXiMinus(0),
+   f3dHistGenPtVsYCMSVsMultXiPlus(0),
+   f3dHistGenPtVsYCMSVsMultOmegaMinus(0),
+   f3dHistGenPtVsYCMSVsMultOmegaPlus(0),
+   f3dHistGenSelectedPtVsYCMSVsMultXiMinus(0),
+   f3dHistGenSelectedPtVsYCMSVsMultXiPlus(0),
+   f3dHistGenSelectedPtVsYCMSVsMultOmegaMinus(0),
+   f3dHistGenSelectedPtVsYCMSVsMultOmegaPlus(0),
    fHistPVx(0),
    fHistPVy(0),
    fHistPVz(0),
@@ -909,6 +927,29 @@ void AliAnalysisTaskExtractPerformanceV0::UserCreateOutputObjects()
       fListHistV0->Add(f3dHistGenPtVsYVsMultOmegaPlus);
    }
 
+//CASCADEs, Y CMS 
+
+   if(! f3dHistGenPtVsYCMSVsMultXiMinus) {
+      f3dHistGenPtVsYCMSVsMultXiMinus = new TH3F( "f3dHistGenPtVsYCMSVsMultXiMinus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+      fListHistV0->Add(f3dHistGenPtVsYCMSVsMultXiMinus);
+   }
+   if(! f3dHistGenPtVsYCMSVsMultXiPlus) {
+      f3dHistGenPtVsYCMSVsMultXiPlus = new TH3F( "f3dHistGenPtVsYCMSVsMultXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+      fListHistV0->Add(f3dHistGenPtVsYCMSVsMultXiPlus);
+   }
+//--- 3D Histo (Pt, Y, Multiplicity) for generated OmegaMinus/Plus
+
+   if(! f3dHistGenPtVsYCMSVsMultOmegaMinus) {
+      f3dHistGenPtVsYCMSVsMultOmegaMinus = new TH3F( "f3dHistGenPtVsYCMSVsMultOmegaMinus", "Pt_{#Omega} Vs Y_{#Omega} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Omega} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+      fListHistV0->Add(f3dHistGenPtVsYCMSVsMultOmegaMinus);
+   }
+   if(! f3dHistGenPtVsYCMSVsMultOmegaPlus) {
+      f3dHistGenPtVsYCMSVsMultOmegaPlus = new TH3F( "f3dHistGenPtVsYCMSVsMultOmegaPlus", "Pt_{#Omega} Vs Y_{#Omega} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Omega} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+      fListHistV0->Add(f3dHistGenPtVsYCMSVsMultOmegaPlus);
+   }
+
+
+
 //--------------------------------------------------------------------------------------
 //--- 3D Histo (Pt, Y, Multiplicity) for generated XiMinus/Plus, at selected analysis evts
 
@@ -931,6 +972,30 @@ void AliAnalysisTaskExtractPerformanceV0::UserCreateOutputObjects()
       fListHistV0->Add(f3dHistGenSelectedPtVsYVsMultOmegaPlus);
    }
 
+//CASCADES, analysis level, y CMS
+
+//--------------------------------------------------------------------------------------
+//--- 3D Histo (Pt, Y, Multiplicity) for generated XiMinus/Plus, at selected analysis evts
+
+   if(! f3dHistGenSelectedPtVsYCMSVsMultXiMinus) {
+      f3dHistGenSelectedPtVsYCMSVsMultXiMinus = new TH3F( "f3dHistGenSelectedPtVsYCMSVsMultXiMinus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+      fListHistV0->Add(f3dHistGenSelectedPtVsYCMSVsMultXiMinus);
+   }
+   if(! f3dHistGenSelectedPtVsYCMSVsMultXiPlus) {
+      f3dHistGenSelectedPtVsYCMSVsMultXiPlus = new TH3F( "f3dHistGenSelectedPtVsYCMSVsMultXiPlus", "Pt_{#Xi} Vs Y_{#Xi} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Xi} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+      fListHistV0->Add(f3dHistGenSelectedPtVsYCMSVsMultXiPlus);
+   }
+//--- 3D Histo (Pt, Y, Multiplicity) for generated OmegaMinus/Plus
+
+   if(! f3dHistGenSelectedPtVsYCMSVsMultOmegaMinus) {
+      f3dHistGenSelectedPtVsYCMSVsMultOmegaMinus = new TH3F( "f3dHistGenSelectedPtVsYCMSVsMultOmegaMinus", "Pt_{#Omega} Vs Y_{#Omega} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Omega} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+      fListHistV0->Add(f3dHistGenSelectedPtVsYCMSVsMultOmegaMinus);
+   }
+   if(! f3dHistGenSelectedPtVsYCMSVsMultOmegaPlus) {
+      f3dHistGenSelectedPtVsYCMSVsMultOmegaPlus = new TH3F( "f3dHistGenSelectedPtVsYCMSVsMultOmegaPlus", "Pt_{#Omega} Vs Y_{#Omega} Vs Multiplicity; Pt_{cascade} (GeV/c); Y_{#Omega} ; Mult", lCustomNBins, 0., lCustomPtUpperLimit, 48, -1.2,1.2,lCustomNBinsMultiplicity,0,lCustomNBinsMultiplicity);
+      fListHistV0->Add(f3dHistGenSelectedPtVsYCMSVsMultOmegaPlus);
+   }
+
 
 //----------------------------------
 // Histos at analysis level 
@@ -1104,7 +1169,7 @@ void AliAnalysisTaskExtractPerformanceV0::UserExec(Option_t *)
    if(fkIsNuclear == kTRUE){ 
       AliCentrality* centrality;
       centrality = lESDevent->GetCentrality();
-      lMultiplicity = ( ( Int_t ) ( centrality->GetCentralityPercentile( "V0M" ) ) );
+      lMultiplicity = ( ( Int_t ) ( centrality->GetCentralityPercentile(   fCentralityEstimator.Data() ) ) );
       if (centrality->GetQuality()>1) {
         PostData(1, fListHistV0);
         PostData(2, fTree);
@@ -1172,19 +1237,23 @@ void AliAnalysisTaskExtractPerformanceV0::UserExec(Option_t *)
          if( lCurrentParticlePrimary->GetPdgCode() == 3312 ){ 
             lPtCurrentPart    = lCurrentParticlePrimary->Pt();
             f3dHistGenPtVsYVsMultXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicity);
+            f3dHistGenPtVsYCMSVsMultXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicity);
          }
          if( lCurrentParticlePrimary->GetPdgCode() == -3312 ){ 
             lPtCurrentPart    = lCurrentParticlePrimary->Pt();
             f3dHistGenPtVsYVsMultXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicity);
+            f3dHistGenPtVsYCMSVsMultXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicity);
          }
          // Omega Histograms
          if( lCurrentParticlePrimary->GetPdgCode() == 3334 ){ 
             lPtCurrentPart    = lCurrentParticlePrimary->Pt();
             f3dHistGenPtVsYVsMultOmegaMinus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicity);
+            f3dHistGenPtVsYCMSVsMultOmegaMinus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicity);
          }
          if( lCurrentParticlePrimary->GetPdgCode() == -3334 ){ 
             lPtCurrentPart    = lCurrentParticlePrimary->Pt();
             f3dHistGenPtVsYVsMultOmegaPlus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicity);
+            f3dHistGenPtVsYCMSVsMultOmegaPlus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicity);
          }
       } 
    }
@@ -1517,19 +1586,23 @@ void AliAnalysisTaskExtractPerformanceV0::UserExec(Option_t *)
          if( lCurrentParticlePrimary->GetPdgCode() == 3312 ){ 
             lPtCurrentPart    = lCurrentParticlePrimary->Pt();
             f3dHistGenSelectedPtVsYVsMultXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicity);
+            f3dHistGenSelectedPtVsYCMSVsMultXiMinus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicity);
          }
          if( lCurrentParticlePrimary->GetPdgCode() == -3312 ){ 
             lPtCurrentPart    = lCurrentParticlePrimary->Pt();
             f3dHistGenSelectedPtVsYVsMultXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicity);
+            f3dHistGenSelectedPtVsYCMSVsMultXiPlus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicity);
          }
          // Omega Histograms
          if( lCurrentParticlePrimary->GetPdgCode() == 3334 ){ 
             lPtCurrentPart    = lCurrentParticlePrimary->Pt();
             f3dHistGenSelectedPtVsYVsMultOmegaMinus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicity);
+            f3dHistGenSelectedPtVsYCMSVsMultOmegaMinus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicity);
          }
          if( lCurrentParticlePrimary->GetPdgCode() == -3334 ){ 
             lPtCurrentPart    = lCurrentParticlePrimary->Pt();
             f3dHistGenSelectedPtVsYVsMultOmegaPlus->Fill(lPtCurrentPart, lRapXiMCPrimary, lMultiplicity);
+            f3dHistGenSelectedPtVsYCMSVsMultOmegaPlus->Fill(lPtCurrentPart, lRapXiMCPrimary+fpArapidityShift, lMultiplicity);
          }
       } 
    }
index 3222053f2474d061f270d9ac16aa3b0bf61c2a81..f5c087b0ba7876b189351ccd5f92b3f0b6c67e92 100644 (file)
@@ -59,6 +59,7 @@ class AliAnalysisTaskExtractPerformanceV0 : public AliAnalysisTaskSE {
   void SetUseOnTheFly         (Bool_t lUseOnTheFly = kTRUE ) { fkUseOnTheFly = lUseOnTheFly; }
   void SetTakeAllTracks       (Bool_t lTakeAllTracks = kTRUE ) { fkTakeAllTracks = lTakeAllTracks; }
   void SetpARapidityShift     (Double_t lRapShift = 0.465 ) { fpArapidityShift = lRapShift; }
+  void SetCentralityEstimator (TString lCentralityEstimator = "V0M" ) { fCentralityEstimator = lCentralityEstimator; }
   
  private:
         // Note : In ROOT, "//!" means "do not stream the data from Master node to Worker node" ...
@@ -78,6 +79,7 @@ class AliAnalysisTaskExtractPerformanceV0 : public AliAnalysisTaskSE {
   Bool_t fkUseOnTheFly; //if true, will use On-the-fly V0s instead of Offline V0s (default FALSE)
   Bool_t fkTakeAllTracks; // if true, no TPC crossed rows and ratio cut
   Double_t fpArapidityShift; //pA rapidity shift (should be 0.465, usually)
+  TString fCentralityEstimator; //Centrality Estimator String value (default V0M)
 
 //===========================================================================================
 //   Variables for Tree, V0s
@@ -254,6 +256,16 @@ class AliAnalysisTaskExtractPerformanceV0 : public AliAnalysisTaskSE {
    TH3F      *f3dHistGenSelectedPtVsYVsMultOmegaMinus;      //! Generated Omega- Distrib, at event selection level
    TH3F      *f3dHistGenSelectedPtVsYVsMultOmegaPlus;       //! Generated Omega+ Distrib, at event selection level
 
+   TH3F      *f3dHistGenPtVsYCMSVsMultXiMinus;      //! Generated Xi- Distrib
+   TH3F      *f3dHistGenPtVsYCMSVsMultXiPlus;       //! Generated Xi+ Distrib
+   TH3F      *f3dHistGenPtVsYCMSVsMultOmegaMinus;      //! Generated Omega- Distrib
+   TH3F      *f3dHistGenPtVsYCMSVsMultOmegaPlus;       //! Generated Omega+ Distrib
+
+   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultXiMinus;      //! Generated Xi- Distrib, at event selection level
+   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultXiPlus;       //! Generated Xi+ Distrib, at event selection level
+   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultOmegaMinus;      //! Generated Omega- Distrib, at event selection level
+   TH3F      *f3dHistGenSelectedPtVsYCMSVsMultOmegaPlus;       //! Generated Omega+ Distrib, at event selection level
+
    TH1F      *fHistPVx;                      //! PVx distrib
    TH1F      *fHistPVy;                      //! PVy distrib
    TH1F      *fHistPVz;                      //! PVz distrib
index 47670bccfb63a6d660dd5937cb34fa62a48339d1..77923c5be4ef58c3180a56e770654360b9203115 100644 (file)
@@ -95,6 +95,7 @@ AliAnalysisTaskExtractV0::AliAnalysisTaskExtractV0()
    fkSwitchINT7    ( kFALSE ),
    fkUseOnTheFly   ( kFALSE ),
    fkTakeAllTracks ( kFALSE ),
+   fCentralityEstimator("V0M"),
 //------------------------------------------------
 // Initialize 
        fTreeVariableChi2V0(0),
@@ -183,7 +184,7 @@ AliAnalysisTaskExtractV0::AliAnalysisTaskExtractV0(const char *name)
    fkSwitchINT7    ( kFALSE ),
    fkUseOnTheFly   ( kFALSE ),
    fkTakeAllTracks ( kFALSE ),
-     
+   fCentralityEstimator("V0M"),
 //------------------------------------------------
 // Initialize 
        fTreeVariableChi2V0(0),
@@ -574,7 +575,7 @@ void AliAnalysisTaskExtractV0::UserExec(Option_t *)
    if(fkIsNuclear == kTRUE){ 
       AliCentrality* centrality;
       centrality = lESDevent->GetCentrality();
-      lMultiplicity = ( ( Int_t ) ( centrality->GetCentralityPercentile( "V0M" ) ) );
+      lMultiplicity = ( ( Int_t ) ( centrality->GetCentralityPercentile(   fCentralityEstimator.Data() ) ) );
       if (centrality->GetQuality()>1) {
         PostData(1, fListHistV0);
         PostData(2, fTree);
index 41c3f4fbaa8506479792ab54e64fae693feb0f66..fc8fa8538e8ea0d10009a84c828b21ff821f5e4f 100644 (file)
@@ -62,6 +62,7 @@ class AliAnalysisTaskExtractV0 : public AliAnalysisTaskSE {
   void SetINT7Trigger         (Bool_t lSwitchINT7  = kTRUE ) { fkSwitchINT7  = lSwitchINT7; }
   void SetUseOnTheFly         (Bool_t lUseOnTheFly = kTRUE ) { fkUseOnTheFly = lUseOnTheFly; }
   void SetTakeAllTracks       (Bool_t lTakeAllTracks = kTRUE ) { fkTakeAllTracks = lTakeAllTracks; }
+  void SetCentralityEstimator (TString lCentralityEstimator = "V0M" ) { fCentralityEstimator = lCentralityEstimator; }
 
  private:
                                // Note : In ROOT, "//!" means "do not stream the data from Master node to Worker node" ...
@@ -79,6 +80,7 @@ class AliAnalysisTaskExtractV0 : public AliAnalysisTaskSE {
   Bool_t fkSwitchINT7; // if true, skip FASTOnly (default FALSE)
   Bool_t fkUseOnTheFly; // if true, will use On-the-fly V0s instead of Offline V0s (default FALSE)
   Bool_t fkTakeAllTracks; // if true, no TPC crossed rows and ratio cut
+  TString fCentralityEstimator; //Centrality Estimator String value (default V0M)
 
   //Variables for Tree
        Float_t fTreeVariableChi2V0;         //!