Updated D0 macros from Massimo
authorfbellini <fbellini@cern.ch>
Fri, 17 Oct 2014 12:02:35 +0000 (14:02 +0200)
committerfbellini <fbellini@cern.ch>
Fri, 17 Oct 2014 12:03:41 +0000 (14:03 +0200)
PWGLF/RESONANCES/macros/mini/AddAnalysisTaskD0.C
PWGLF/RESONANCES/macros/mini/ConfigD0.C

index 8fb4039..779bdd6 100644 (file)
@@ -21,22 +21,22 @@ AliRsnMiniAnalysisTask * AddAnalysisTaskD0
    Bool_t      isPP,
    Bool_t      ispPb,
    Bool_t      monitor = kTRUE,
+   Bool_t      centortracklets = kTRUE,
+   Bool_t      sanityhistos = kTRUE,
    TString     centrality = "V0M",
    Int_t       aodFilterBit = 5,  
    Float_t     nsigmaTPCPi = 3.0,
    Float_t     nsigmaTPCKa = 3.0,
    Float_t     nsigmaTOFPi = 2.0,
    Float_t     nsigmaTOFKa = 2.0,
-   Float_t     trackDCAcutMax = 7.0,
-   Float_t     trackDCAcutMin = 0.0,
+   Float_t     trackDCAcutMax = 7.0,   
    Float_t     trackDCAZcutMax = 2.0,
    Int_t       NTPCcluster = 70,
    Double_t    NTPCcrratio = 0.8,
    Int_t       minSPDclt = 0,
    Double_t    minpt = 0.15,
    TString     triggerMask = AliVEvent::kMB,
-   Bool_t      useNTPCclt = kTRUE,
-   Bool_t      minDCAcutFixed = kFALSE,
+   Bool_t      useNTPCclt = kTRUE,   
    Bool_t      maxDCAcutFixed = kFALSE,
    Bool_t      ptdepPIDcut = kFALSE,
    Bool_t      fixedYcut = kTRUE,
@@ -52,7 +52,6 @@ AliRsnMiniAnalysisTask * AddAnalysisTaskD0
    Float_t     min_inv_mass = 0.6,
    Float_t     max_inv_mass = 2.2,
    Int_t       bins = 320,
-   Double_t    dcaProduct = -1E-4,
    Float_t     maxDiffVzMix = 1.0,
    Float_t     maxDiffMultMix = 10.0,
    Float_t     maxDiffAngleMixDeg = 20.0,
@@ -63,6 +62,9 @@ AliRsnMiniAnalysisTask * AddAnalysisTaskD0
   // -- INITIALIZATION ----------------------------------------------------------------------------
   // retrieve analysis manager
   //
+  Float_t     trackDCAcutMin = 0.0;
+  Bool_t      minDCAcutFixed = kTRUE;
+  Double_t    dcaProduct = 100.0;
   Float_t     cutV = 10.0;
   Short_t     maxSisters = 2;
   Bool_t      checkP = kTRUE;
@@ -88,7 +90,7 @@ AliRsnMiniAnalysisTask * AddAnalysisTaskD0
    } 
 
    // create the task and configure 
-   TString taskName = Form("D0%s%s_%.1f_%d_%.2f_%d_%.1f_%.1f_%.1f_%.1f_%.1f_%.4f_%.1f_%.5f_%.2f_%d_%s", (isPP? "pp" : ispPb? "pPB": "PbPb"), (isMC ? "MC" : "Data"), cutV, NTPCcluster, NTPCcrratio, minSPDclt, nsigmaTPCPi, nsigmaTPCKa, nsigmaTOFPi, nsigmaTOFKa, trackDCAcutMax, trackDCAcutMin, trackDCAZcutMax, dcaProduct, minpt, originDselection, eventType.Data());
+   TString taskName = Form("D0%s%s_%.1f_%d_%.2f_%d_%.1f_%.1f_%.1f_%.1f_%.1f_%.1f_%.2f_%d_%s", (isPP? "pp" : ispPb? "pPB": "PbPb"), (isMC ? "MC" : "Data"), cutV, NTPCcluster, NTPCcrratio, minSPDclt, nsigmaTPCPi, nsigmaTPCKa, nsigmaTOFPi, nsigmaTOFKa, trackDCAcutMax, trackDCAZcutMax, minpt, originDselection, eventType.Data());
    AliRsnMiniAnalysisTask *task = new AliRsnMiniAnalysisTask(taskName.Data(), isMC);
    if (!isMC && !isPP){
      Printf(Form("========== SETTING USE CENTRALITY PATCH AOD049 : %s", (aodN==49)? "yes" : "no"));
@@ -244,7 +246,7 @@ AliRsnMiniAnalysisTask * AddAnalysisTaskD0
        Printf("========================== MC analysis - PID cuts used");
    } else 
      Printf("========================== DATA analysis - PID cuts used");
-   if (!ConfigD0(task, isPP, isMC, monitor, nsigmaTPCPi, nsigmaTPCKa, nsigmaTOFPi, nsigmaTOFKa, aodFilterBit, trackDCAcutMax, trackDCAcutMin, trackDCAZcutMax, NTPCcluster, NTPCcrratio, minSPDclt, minpt, maxSisters, checkP, useNTPCclt, minDCAcutFixed, maxDCAcutFixed, ptdepPIDcut, checkFeedDown, checkQuark, doCalculationInMC, originDselection, mineta, maxeta, min_inv_mass, max_inv_mass, bins, "", cutsPairY, cutsPair)) return 0x0;
+   if (!ConfigD0(task, isPP, isMC, monitor, centortracklets, sanityhistos, nsigmaTPCPi, nsigmaTPCKa, nsigmaTOFPi, nsigmaTOFKa, aodFilterBit, trackDCAcutMax, trackDCAcutMin, trackDCAZcutMax, NTPCcluster, NTPCcrratio, minSPDclt, minpt, maxSisters, checkP, useNTPCclt, minDCAcutFixed, maxDCAcutFixed, ptdepPIDcut, checkFeedDown, checkQuark, doCalculationInMC, originDselection, mineta, maxeta, min_inv_mass, max_inv_mass, bins, "", cutsPairY, cutsPair)) return 0x0;
    
    //
    // -- CONTAINERS --------------------------------------------------------------------------------
@@ -252,7 +254,7 @@ AliRsnMiniAnalysisTask * AddAnalysisTaskD0
    TString outputFileName = AliAnalysisManager::GetCommonFileName();
    Printf("AddAnalysisTaskD0 - Set OutputFileName : \n %s\n", outputFileName.Data() );
    
-   AliAnalysisDataContainer *output = mgr->CreateContainer(Form("%s_%.1f_%d_%.2f_%d_%.1f_%.1f_%.1f_%.1f_%.1f_%.4f_%.1f_%.5f_%.2f_%d_%s",outNameSuffix.Data(),cutV,NTPCcluster,NTPCcrratio,minSPDclt,nsigmaTPCPi,nsigmaTPCKa,nsigmaTOFPi,nsigmaTOFKa,trackDCAcutMax,trackDCAcutMin,trackDCAZcutMax,dcaProduct,minpt,originDselection,eventType.Data()), 
+   AliAnalysisDataContainer *output = mgr->CreateContainer(Form("%s_%.1f_%d_%.2f_%d_%.1f_%.1f_%.1f_%.1f_%.1f_%.1f_%.2f_%d_%s",outNameSuffix.Data(),cutV,NTPCcluster,NTPCcrratio,minSPDclt,nsigmaTPCPi,nsigmaTPCKa,nsigmaTOFPi,nsigmaTOFKa,trackDCAcutMax,trackDCAZcutMax,minpt,originDselection,eventType.Data()), 
                                                           TList::Class(), 
                                                           AliAnalysisManager::kOutputContainer, 
                                                           outputFileName);
index ff724e8..481ec61 100644 (file)
@@ -13,7 +13,9 @@ Bool_t ConfigD0
    AliRsnMiniAnalysisTask *task, 
    Bool_t                  isPP,
    Bool_t                  isMC,
-   Bool_t                  monitor = kTRUE,  
+   Bool_t                  monitor = kTRUE,
+   Bool_t                         centortracklets = kTRUE, 
+   Bool_t                         sanityhistos = kTRUE, 
    Float_t                nsigmaTPCPi = 3.0,
    Float_t                nsigmaTPCKa = 3.0,
    Float_t                nsigmaTOFPi = 2.0,
@@ -151,6 +153,7 @@ Bool_t ConfigD0
   /* first daughter dca */ Int_t daug1dcaID = task->CreateValue(AliRsnMiniValue::kFirstDaughterDCA, kFALSE);
   /* second daughter dca*/ Int_t daug2dcaID = task->CreateValue(AliRsnMiniValue::kSecondDaughterDCA, kFALSE);
   /* number of Sisters  */ Int_t nsistID    = task->CreateValue(AliRsnMiniValue::kNSisters, kFALSE);
+  /* number of trackl.  */ Int_t trackletsID = task->CreateValue(AliRsnMiniValue::kTracklets, kFALSE);
    
    //
    // -- Create all needed outputs -----------------------------------------------------------------
@@ -165,16 +168,16 @@ Bool_t ConfigD0
    
    if(!isMC || doCalculationInMC == kTRUE){
    
-   Bool_t   use     [8] = { 1      ,  1       ,  1       ,  1       ,  1        ,  1        ,  1       ,  1      };
-   Bool_t   useIM   [8] = { 1      ,  1       ,  1       ,  1       ,  1        ,  1        ,  1       ,  1      };
+   Bool_t   use     [8] = { 1      ,  1       ,  1       ,  1       ,  1        ,  1        ,  1       ,  1      };
+   Bool_t   useIM   [8] = { 1      ,  1       ,  1       ,  1       ,  1        ,  1        ,  1       ,  1      };
    TString  name    [8] = {"Unlike1", "Unlike2", "Mixing1", "Mixing2", "RotateK1", "RotateK2", "LikePP" , "LikeMM"};
    TString  comp    [8] = {"PAIR"   , "PAIR"   , "MIX"   , "MIX"    , "ROTATE1" , "ROTATE1" , "PAIR"   , "PAIR"  };
    TString  output  [8] = {"SPARSE" , "SPARSE" , "SPARSE" , "SPARSE" , "SPARSE"  , "SPARSE"  , "SPARSE" , "SPARSE"};
-   Char_t   charge1 [8] = {'-'     , '+'      , '-'      , '+'      , '-'       , '+'       , '+'      , '-'     };
-   Char_t   charge2 [8] = {'+'     , '-'      , '+'      , '-'      , '+'       , '-'       , '+'      , '-'     };
-   Int_t    cutID1  [8] = { iCutK   ,  iCutK   ,  iCutK   ,  iCutK   ,  iCutK   ,  iCutK    ,  iCutK   ,  iCutK  };
-   Int_t    cutID2  [8] = { iCutPi  ,  iCutPi  ,  iCutPi  ,  iCutPi  ,  iCutPi  ,  iCutPi   ,  iCutPi  ,  iCutPi };
-   Int_t    ipdg    [8] = { 421     , -421     ,  421    , -421     ,  421      , -421      ,  421     , -421    };
+   Char_t   charge1 [8] = {'-'     , '+'      , '-'      , '+'      , '-'       , '+'       , '+'      , '-'     };
+   Char_t   charge2 [8] = {'+'     , '-'      , '+'      , '-'      , '+'       , '-'       , '+'      , '-'     };
+   Int_t    cutID1  [8] = { iCutK   ,  iCutK   ,  iCutK   ,  iCutK   ,  iCutK    ,  iCutK    ,  iCutK   ,  iCutK  };
+   Int_t    cutID2  [8] = { iCutPi  ,  iCutPi  ,  iCutPi  ,  iCutPi  ,  iCutPi   ,  iCutPi   ,  iCutPi  ,  iCutPi };
+   Int_t    ipdg    [8] = { 421     , -421     ,  421    , -421     ,  421      , -421      ,  421     , -421    };
    Double_t mass    [8] = { 1.86486 ,  1.86486 ,  1.86486 ,  1.86486 ,  1.86486  ,  1.86486  ,  1.86486 ,  1.86486};
    
    for (Int_t i = 0; i < 8; i++) {
@@ -202,19 +205,71 @@ Bool_t ConfigD0
       // axis Y: transverse momentum
       out->AddAxis(ptID, 200, 0.0, 20.0);
       
-      // axiz Z: rapidity
-      //out->AddAxis(yID, 100, -1, 1);
+      // axiz Z: pseudorapidity
+      if(sanityhistos==kTRUE) out->AddAxis(etaID, 100, -1, 1);
+         
       
-      // more axis: daughter's dca product and more
-      //out->AddAxis(dcapID, 100, -0.001, 0.001);      
-      //out->AddAxis(daug1ptID, 150, 0.0, 15.0);
-      //out->AddAxis(daug2ptID, 150, 0.0, 15.0);
-      //out->AddAxis(daug1dcaID, 200, -1.0, 1.0);
-      //out->AddAxis(daug2dcaID, 200, -1.0, 1.0);    
-      
-      if (!isPP) out->AddAxis(centID, 100, 0.0, 100.0);
+      if (!isPP)  {if(!centortracklets) out->AddAxis(centID, 100, 0.0, 100.0);
+                          else out->AddAxis(trackletsID, 400, 0.0, 400.0);}
       else out->AddAxis(centID, 400, 0.0, 400.0);
    }
+
+   if(sanityhistos==kTRUE){
+
+   // SANITY CHECK HISTOS
+   
+   TString mode = "SPARSE";
+   
+   // create output
+   AliRsnMiniOutput *out = task->CreateOutput("D0_MixingPP", mode.Data(), "MIX");
+   // selection settings
+   out->SetCutID(0, iCutK);
+   out->SetCutID(1, iCutPi);
+   out->SetDaughter(0, AliRsnDaughter::kKaon);
+   out->SetDaughter(1, AliRsnDaughter::kPion);
+   out->SetCharge(0, '+');
+   out->SetCharge(1, '+');
+   out->SetMotherPDG(421);
+   out->SetMotherMass(1.86486);
+   // pair cuts
+   out->SetPairCuts(cutsPair);
+  
+   // binnings
+   out->AddAxis(imID, bins, min_inv_mass, max_inv_mass);
+   out->AddAxis(ptID, 200, 0.0, 20.0);
+   out->AddAxis(etaID, 100, -1, 1);
+
+
+   if (!isPP)  {if(!centortracklets) out->AddAxis(centID, 100, 0.0, 100.0);
+                       else out->AddAxis(trackletsID, 400, 0.0, 400.0);}
+   else out->AddAxis(centID, 400, 0.0, 400.0);
+   
+   // create output
+   AliRsnMiniOutput *out = task->CreateOutput("D0_MixingMM", mode.Data(), "MIX");
+   // selection settings
+   out->SetCutID(0, iCutK);
+   out->SetCutID(1, iCutPi);
+   out->SetDaughter(0, AliRsnDaughter::kKaon);
+   out->SetDaughter(1, AliRsnDaughter::kPion);
+   out->SetCharge(0, '-');
+   out->SetCharge(1, '-');
+   out->SetMotherPDG(-421);
+   out->SetMotherMass(1.86486);
+   // pair cuts
+   out->SetPairCuts(cutsPair);
+   
+   // binnings
+   out->AddAxis(imID, bins, min_inv_mass, max_inv_mass);
+   out->AddAxis(ptID, 200, 0.0, 20.0);
+   out->AddAxis(etaID, 100, -1, 1);
+
+   if (!isPP)  {if(!centortracklets) out->AddAxis(centID, 100, 0.0, 100.0);
+                       else out->AddAxis(trackletsID, 400, 0.0, 400.0);}
+   else out->AddAxis(centID, 400, 0.0, 400.0);
+
+
+   }
+
    
    }
    
@@ -268,7 +323,8 @@ Bool_t ConfigD0
    //out->AddAxis(dcapID, 100, -0.001, 0.001);
    //out->AddAxis(nsistID, 10, 0, 5);
 
-   if (!isPP) out->AddAxis(centID, 100, 0.0, 100.0);
+   if (!isPP)  {if(!centortracklets) out->AddAxis(centID, 100, 0.0, 100.0);
+                       else out->AddAxis(trackletsID, 400, 0.0, 400.0);}
    else out->AddAxis(centID, 400, 0.0, 400.0);
    
    // create output
@@ -296,7 +352,8 @@ Bool_t ConfigD0
    //out->AddAxis(dcapID, 100, -0.001, 0.001);
    //out->AddAxis(nsistID, 10, 0, 5);
 
-   if (!isPP) out->AddAxis(centID, 100, 0.0, 100.0);
+   if (!isPP)  {if(!centortracklets) out->AddAxis(centID, 100, 0.0, 100.0);
+                       else out->AddAxis(trackletsID, 400, 0.0, 400.0);}
    else out->AddAxis(centID, 400, 0.0, 400.0);
    
    
@@ -318,7 +375,8 @@ Bool_t ConfigD0
    out->AddAxis(ptID, 200, 0.0, 20.0);
    //out->AddAxis(yID, 100, -1, 1);
 
-   if (!isPP) out->AddAxis(centID, 100, 0.0, 100.0);
+   if (!isPP)  {if(!centortracklets) out->AddAxis(centID, 100, 0.0, 100.0);
+                       else out->AddAxis(trackletsID, 400, 0.0, 400.0);}
    else out->AddAxis(centID, 400, 0.0, 400.0);
    
    // create output
@@ -335,7 +393,8 @@ Bool_t ConfigD0
    out->AddAxis(ptID, 200, 0.0, 20.0);
    //out->AddAxis(yID, 100, -1, 1);
 
-   if (!isPP) out->AddAxis(centID, 100, 0.0, 100.0);
+   if (!isPP)  {if(!centortracklets) out->AddAxis(centID, 100, 0.0, 100.0);
+                       else out->AddAxis(trackletsID, 400, 0.0, 400.0);}
    else out->AddAxis(centID, 400, 0.0, 400.0);
    
    
@@ -357,7 +416,8 @@ Bool_t ConfigD0
    out->AddAxis(ptID, 200, 0.0, 20.0);
    //out->AddAxis(yID, 100, -1, 1);
 
-   if (!isPP) out->AddAxis(centID, 100, 0.0, 100.0);
+  if (!isPP)  {if(!centortracklets) out->AddAxis(centID, 100, 0.0, 100.0);
+                      else out->AddAxis(trackletsID, 400, 0.0, 400.0);}
    else out->AddAxis(centID, 400, 0.0, 400.0);
    
    // create output
@@ -374,7 +434,8 @@ Bool_t ConfigD0
    out->AddAxis(ptID, 200, 0.0, 20.0);
    //out->AddAxis(yID, 100, -1, 1);
 
-   if (!isPP) out->AddAxis(centID, 100, 0.0, 100.0);
+   if (!isPP)  {if(!centortracklets) out->AddAxis(centID, 100, 0.0, 100.0);
+                       else out->AddAxis(trackletsID, 400, 0.0, 400.0);}
    else out->AddAxis(centID, 400, 0.0, 400.0);