Fix for TOF matching + lego_train update
authorfbellini <fbellini@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 26 Apr 2012 07:50:04 +0000 (07:50 +0000)
committerfbellini <fbellini@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 26 Apr 2012 07:50:04 +0000 (07:50 +0000)
PWGLF/RESONANCES/AliRsnCutPIDNSigma.cxx
PWGLF/RESONANCES/macros/lego_train/AddAMRsn.C
PWGLF/RESONANCES/macros/lego_train/AddRsnPairsKStar.C
PWGLF/RESONANCES/macros/lego_train/AddRsnPairsPhi.C
PWGLF/RESONANCES/macros/lego_train/RsnGridPlugin.C

index 3213317..0bc4a3c 100644 (file)
@@ -29,7 +29,7 @@ AliRsnCutPIDNSigma::AliRsnCutPIDNSigma() :
    AliRsnCut("cut", AliRsnTarget::kDaughter),
    fSpecies(AliPID::kUnknown),
    fDetector(kDetectors),
-   fRejectUnmatched(kFALSE),
+   fRejectUnmatched(kTRUE),
    fTrackNSigma(0.0),
    fTrackMom(0.0),
    fMyPID(0x0),
@@ -46,7 +46,7 @@ AliRsnCutPIDNSigma::AliRsnCutPIDNSigma
    AliRsnCut(name, AliRsnTarget::kDaughter),
    fSpecies(species),
    fDetector(det),
-   fRejectUnmatched(kFALSE),
+   fRejectUnmatched(kTRUE),
    fTrackNSigma(0.0),
    fTrackMom(0.0),
    fMyPID(0x0),
index e723288..41d9201 100644 (file)
@@ -82,7 +82,7 @@ Bool_t AddAMRsn(TString analysisSource = "proof", TString analysisMode = "test",
       // maybe we can put it in $ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C
       if (multiInputHandler) {
          AliInputEventHandler *ih = multiInputHandler->GetFirstInputEventHandler();
-         ih->SetEventSelection(multiIH->GetEventSelection());
+         ih->SetEventSelection(multiInputHandler->GetEventSelection());
       }
    }
 
@@ -97,7 +97,7 @@ Bool_t AddAMRsn(TString analysisSource = "proof", TString analysisMode = "test",
    if (!RsnLoadMacro("AddMixingHandler.C")) return kFALSE;
    if (!analysisSource.CompareTo("grid")) {
       if (!RsnLoadMacro("RsnGridPlugin.C")) return kFALSE;
-      RsnGridPlugin();
+      RsnGridPlugin(analysisMode);
    }
 
    if (splitMgrByTask) {
index 92497fe..cda357c 100644 (file)
@@ -31,13 +31,21 @@ void AddPairOutputKStar(AliRsnLoopPair *pair)
 {
    Bool_t valid;
    Int_t isFullOutput = AliAnalysisManager::GetGlobalInt("rsnOutputFull",valid);
-
+   Int_t isPP = AliAnalysisManager::GetGlobalInt("rsnIsPP",valid);
+   
    // axes
    AliRsnValuePair *axisIM = new AliRsnValuePair("IM", AliRsnValuePair::kInvMass);
-   AliRsnValuePair *axisPt = new AliRsnValuePair("PT", AliRsnValuePair::kPt);
    axisIM     ->SetBins(900, 0.6, 1.5);
+
+   AliRsnValuePair *axisPt = new AliRsnValuePair("PT", AliRsnValuePair::kPt);
    axisPt     ->SetBins(120, 0.0, 12.0);
 
+   AliRsnValuePair *axisEta = new AliRsnValuePair("ETA", AliRsnValuePair::kEta);
+   axisEta    ->SetBins(400, -0.5, 0.5);
+
+   AliRsnValueEvent *axisCentrality = 0;
+   if (!isPP) axisCentrality = new AliRsnValueEvent("MULTI",AliRsnValueEvent::kCentralityV0);
+
    // output: 2D histogram of inv. mass vs. pt
    AliRsnListOutput *outPair = 0;
    if (!isFullOutput) {
@@ -47,6 +55,8 @@ void AddPairOutputKStar(AliRsnLoopPair *pair)
       outPair = new AliRsnListOutput("pair", AliRsnListOutput::kHistoSparse);
       outPair->AddValue(axisIM);
       outPair->AddValue(axisPt);
+      outPair->AddValue(axisEta);
+      if (axisCentrality) axisCentrality->SetBins(20,0,100);
    }
    // add outputs to loop
    pair->AddOutput(outPair);
@@ -57,11 +67,14 @@ void AddPairOutputMiniKStar(AliAnalysisTaskSE *task,Bool_t isMC,Bool_t isMixing,
    Bool_t valid;
    Int_t isFullOutput = AliAnalysisManager::GetGlobalInt("rsnOutputFull",valid);
    Int_t useMixing = AliAnalysisManager::GetGlobalInt("rsnUseMixing",valid);
+   Int_t isPP = AliAnalysisManager::GetGlobalInt("rsnIsPP",valid);
+   
    AliRsnMiniAnalysisTask *taskRsnMini =  (AliRsnMiniAnalysisTask *)task;
    /* invariant mass   */ Int_t imID   = taskRsnMini->CreateValue(AliRsnMiniValue::kInvMass, kFALSE);
    /* IM resolution    */ Int_t resID  = taskRsnMini->CreateValue(AliRsnMiniValue::kInvMassRes, kTRUE);
    /* transv. momentum */ Int_t ptID   = taskRsnMini->CreateValue(AliRsnMiniValue::kPt, kFALSE);
    /* centrality       */ Int_t centID = taskRsnMini->CreateValue(AliRsnMiniValue::kMult, kFALSE);
+   /* eta              */ Int_t etaID = taskRsnMini->CreateValue(AliRsnMiniValue::kEta, kFALSE);
 
    //
    // -- Create all needed outputs -----------------------------------------------------------------
@@ -112,8 +125,9 @@ void AddPairOutputMiniKStar(AliAnalysisTaskSE *task,Bool_t isMC,Bool_t isMixing,
       if (isFullOutput) {
          // axis Y: transverse momentum
          out->AddAxis(ptID, 100, 0.0, 10.0);
+         out->AddAxis(etaID, 400, -0.5, 0.5);
          // axis Z: centrality
-         out->AddAxis(centID, 100, 0.0, 100.0);
+         if (!isPP) out->AddAxis(centID, 100, 0.0, 100.0);
       }
    }
 
index 0af4d4b..f39e81f 100644 (file)
@@ -1,5 +1,8 @@
 #ifndef __CINT__
-#include <RESONANCES/AliRsnValuePair.h>
+#include <AliRsnListOutput.h>
+#include <AliRsnValuePair.h>
+#include <AliRsnValueEvent.h>
+#include <AliRsnMiniAnalysisTask.h>
 #endif
 
 void AddRsnPairsPhi(AliAnalysisTaskSE *task,
@@ -35,14 +38,25 @@ void AddPairOutputPhi(AliRsnLoopPair *pair)
 {
    Bool_t valid;
    Int_t isFullOutput = AliAnalysisManager::GetGlobalInt("rsnOutputFull",valid);
+   Int_t isPP = AliAnalysisManager::GetGlobalInt("rsnIsPP",valid);
+
+
    // axes
    AliRsnValuePair *axisIM = new AliRsnValuePair("IM", AliRsnValuePair::kInvMass);
    AliRsnValuePair *axisPt = new AliRsnValuePair("PT", AliRsnValuePair::kPt);
    AliRsnValuePair *axisEta = new AliRsnValuePair("ETA", AliRsnValuePair::kEta);
+
+   AliRsnValueEvent *axisCentrality = 0;
+   if (!isPP) axisCentrality = new AliRsnValueEvent("MULTI",AliRsnValueEvent::kCentralityV0);
+
    axisIM     ->SetBins(300, 0.9, 1.2);
 //   axisIM     ->SetBins(1000, 0.9, 1.9);
    axisPt     ->SetBins(120, 0.0, 12.0);
-   axisEta    ->SetBins(400, -2.0, 2.0);
+//    axisEta    ->SetBins(400, -2.0, 2.0);
+   axisEta    ->SetBins(400, -0.5, 0.5);
+
+
+   if (axisCentrality) axisCentrality->SetBins(20,0,100);
 
    // output: 2D histogram of inv. mass vs. pt
    AliRsnListOutput *outPair = 0;
@@ -54,6 +68,7 @@ void AddPairOutputPhi(AliRsnLoopPair *pair)
       outPair->AddValue(axisIM);
       outPair->AddValue(axisPt);
       outPair->AddValue(axisEta);
+      if (axisCentrality) outPair->AddValue(axisCentrality);
    }
    // add outputs to loop
    pair->AddOutput(outPair);
@@ -68,6 +83,10 @@ void AddPairOutputMiniPhi(AliAnalysisTaskSE *task, Bool_t isMC,Bool_t isMixing,
 
    AliRsnMiniAnalysisTask *taskRsnMini =  (AliRsnMiniAnalysisTask *)task;
 
+   if (isPP) taskRsnMini->UseMultiplicity("QUALITY");
+   else taskRsnMini->UseCentrality("V0M");
+   
+
    /* invariant mass   */ Int_t imID   = taskRsnMini->CreateValue(AliRsnMiniValue::kInvMass, kFALSE);
    /* IM resolution    */ Int_t resID  = taskRsnMini->CreateValue(AliRsnMiniValue::kInvMassDiff, kTRUE);
    /* transv. momentum */ Int_t ptID   = taskRsnMini->CreateValue(AliRsnMiniValue::kPt, kFALSE);
@@ -91,10 +110,11 @@ void AddPairOutputMiniPhi(AliAnalysisTaskSE *task, Bool_t isMC,Bool_t isMixing,
    if (isFullOutput) outputType = "SPARSE";
 
    Int_t nIM   = 300; Double_t minIM   = 0.9, maxIM =  1.2;
-   Int_t nEta   = 400; Double_t minEta   = -2.0, maxEta =  2.0;
+//    Int_t nEta   = 400; Double_t minEta   = -2.0, maxEta =  2.0;
+   Int_t nEta   = 400; Double_t minEta   = -0.5, maxEta =  0.5;
 //   Int_t nIM   = 1000; Double_t minIM   = 0.9, maxIM =  1.9;
    Int_t nPt   = 120; Double_t minPt   = 0.0, maxPt = 12.0;
-   Int_t nCent = 100; Double_t minCent = 0.0, maxCent = 100.0;
+   Int_t nCent = 20; Double_t minCent = 0.0, maxCent = 100.0;
    Int_t nRes  = 200; Double_t maxRes  = 0.01;
 
    // retrieve mass from PDG database
index a4dc19d..36fce45 100755 (executable)
@@ -3,7 +3,7 @@
 #include <TGrid.h>
 #include <TGridResult.h>
 #endif
-void RsnGridPlugin() {
+void RsnGridPlugin(TString analysisMode) {
 
    Bool_t valid = kTRUE;
    TString dsConfig = AliAnalysisManager::GetGlobalStr("rsnTrainDSConfig",valid);
@@ -26,7 +26,8 @@ void RsnGridPlugin() {
       TString s = r->GetKey(r->GetSize()-1,"lfn");
       s.ReplaceAll("/analysis.root","");
       s = gSystem->BaseName(s);
-      if (!s.IsNull()) idRsnTrain = s.Atoi()+1;
+      if (!s.IsNull()) idRsnTrain = s.Atoi();
+      if (!analysisMode.CompareTo("full")) idRsnTrain++;
    }
    rsnTrainName.Append(Form("/%03d",idRsnTrain));