]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/RESONANCES/macros/mini/ConfigD0.C
Some updates + 1 bug fix (thanks to Massimo):
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / macros / mini / ConfigD0.C
index 1512c846b8dcfd23c219e7adb81efd307339bc34..9a48f659306ac2d3fdf93d560173541061c597ee 100644 (file)
@@ -1,5 +1,5 @@
 //
-// *** Configuration script for phi->KK analysis with 2010 runs ***
+// *** Configuration script for D0 analysis ***
 // 
 // A configuration script for RSN package needs to define the followings:
 //
@@ -12,7 +12,8 @@ Bool_t ConfigD0
 (  
    AliRsnMiniAnalysisTask *task, 
    Bool_t                  isPP,
-   Bool_t                  isMC,  
+   Bool_t                  isMC,
+   Bool_t                  monitor = kTRUE,  
    Float_t                nsigmaTPCPi = 3.0,
    Float_t                nsigmaTPCKa = 3.0,
    Float_t                nsigmaTOFPi = 2.0,
@@ -20,13 +21,25 @@ Bool_t ConfigD0
    Int_t                   aodFilterBit = 5,
    Float_t                trackDCAcutMax = 7.0,
    Float_t                trackDCAcutMin = 0.0,
+   Float_t                trackDCAZcutMax = 2.0,
    Int_t                  NTPCcluster = 70,
+   Double_t                NTPCcrratio = 0.8,
+   Int_t                  minSPDclt = 0,
    Double_t                minpt = 0.15,
    Short_t                        maxSisters = 2,
    Bool_t                  checkP = kTRUE,
    Bool_t                  minDCAcutFixed = kFALSE,
    Bool_t                  maxDCAcutFixed = kFALSE,
    Bool_t                  ptdepPIDcut = kFALSE,
+   Bool_t                         checkFeedDown = kTRUE,
+   Bool_t                         checkQuark = kTRUE,
+   Bool_t                         doCalculationInMC = kTRUE,
+   UShort_t                       originDselection = 0,
+   Float_t                 mineta = -0.8,
+   Float_t                 maxeta = 0.8,
+   Float_t                min_inv_mass = 0.6,
+   Float_t                max_inv_mass = 2.2,
+   Int_t                   bins = 320,
    const char            *suffix,
    AliRsnCutSet           *cutsPairY,
    AliRsnCutSet           *cutsPair
@@ -50,6 +63,7 @@ Bool_t ConfigD0
    
    // integrated pion cut
    AliRsnCutDaughterD0 *cutPi = new AliRsnCutDaughterD0("cutPionForD0", AliPID::kPion);
+   //cutPi->SetNoPID(kTRUE);
    cutPi->SetTPCPionPIDCut(nsigmaTPCPi);
    cutPi->SetTOFPionPIDCut(nsigmaTOFPi);
    cutPi->SetPtDependentPIDCut(ptdepPIDcut);
@@ -59,15 +73,18 @@ Bool_t ConfigD0
    if(maxDCAcutFixed)cutQuality->SetDCARmax(trackDCAcutMax);            
    else cutQuality->SetDCARPtFormula(formula);
    if(minDCAcutFixed) cutQuality->SetDCARmin(trackDCAcutMin);
-   else cutQuality->SetDCARPtFormulaMin(formulaMin); 
-   cutQuality->SetTPCminNClusters(NTPCcluster);
+   else cutQuality->SetDCARPtFormulaMin(formulaMin);
+   cutQuality->SetTPCminNClusters(NTPCcluster); 
+   //if(!isPP)cutQuality->SetTPCminNClusters(NTPCcluster);
+   //if(isPP)cutQuality->SetMinNCrossedRowsTPC(NTPCcluster,kTRUE);
+   //if(isPP)cutQuality->SetMinNCrossedRowsOverFindableClsTPC(NTPCcrratio,kTRUE);
    cutQuality->SetPtRange(minpt,1E20);
-   cutQuality->SetEtaRange(-0.8, 0.8);
-   cutQuality->SetDCAZmax(2.0);
-   cutQuality->SetSPDminNClusters(1);
+   cutQuality->SetEtaRange(mineta, maxeta);
+   cutQuality->SetDCAZmax(trackDCAZcutMax);
+   cutQuality->SetSPDminNClusters(minSPDclt);
    cutQuality->SetITSminNClusters(0);
-   cutQuality->SetITSmaxChi2(1E+20);
-   cutQuality->SetTPCmaxChi2(4.0);
+   cutQuality->SetITSmaxChi2(1E20);
+   cutQuality->SetTPCmaxChi2(1E20);
    cutQuality->SetRejectKinkDaughters();
    cutQuality->Print();
                 
@@ -84,6 +101,7 @@ Bool_t ConfigD0
    
    // integrated kaon cut
    AliRsnCutDaughterD0 *cutK = new AliRsnCutDaughterD0("cutKaonForD0", AliPID::kKaon);
+   //cutK->SetNoPID(kTRUE);
    cutK->SetTPCKaonPIDCut(nsigmaTPCKa);
    cutK->SetTOFKaonPIDCut(nsigmaTOFKa);
    cutK->SetPtDependentPIDCut(ptdepPIDcut);    
@@ -95,13 +113,16 @@ Bool_t ConfigD0
    if(minDCAcutFixed) cutQuality->SetDCARmin(trackDCAcutMin);
    else cutQuality->SetDCARPtFormulaMin(formulaMin);
    cutQuality->SetTPCminNClusters(NTPCcluster);
+   //if(!isPP)cutQuality->SetTPCminNClusters(NTPCcluster);
+   //if(isPP)cutQuality->SetMinNCrossedRowsTPC(NTPCcluster,kTRUE);
+   //if(isPP)cutQuality->SetMinNCrossedRowsOverFindableClsTPC(NTPCcrratio,kTRUE);
    cutQuality->SetPtRange(minpt,1E20);
-   cutQuality->SetEtaRange(-0.8, 0.8);
-   cutQuality->SetDCAZmax(2.0);
-   cutQuality->SetSPDminNClusters(1);
+   cutQuality->SetEtaRange(mineta, maxeta);
+   cutQuality->SetDCAZmax(trackDCAZcutMax);
+   cutQuality->SetSPDminNClusters(minSPDclt);
    cutQuality->SetITSminNClusters(0);
-   cutQuality->SetITSmaxChi2(1E+20);
-   cutQuality->SetTPCmaxChi2(4.0);
+   cutQuality->SetITSmaxChi2(1E20);
+   cutQuality->SetTPCmaxChi2(1E20);
    cutQuality->SetRejectKinkDaughters();
    cutQuality->Print();
        
@@ -114,6 +135,84 @@ Bool_t ConfigD0
    // add to task
    Int_t iCutK = task->AddTrackCuts(cutSetK);
    
+   
+   
+   
+   
+   ////////////////////////////////////////////////////////////////////////////////////////////////
+   // Cut set for mothers -- To be used only for the efficiency evaluation when using the charm enriched sample
+   /*
+   AliRsnCutDaughterD0 *cutPi_mother = new AliRsnCutDaughterD0("cutPionForD0_MC", AliPID::kPion);
+   cutPi_mother->SetIsCheckOnMother(kTRUE);
+   cutPi_mother->SetNoPID(kTRUE);
+   cutPi_mother->SetTPCPionPIDCut(1E20);
+   cutPi_mother->SetTOFPionPIDCut(1E20);
+   cutPi_mother->SetPtDependentPIDCut(kFALSE);
+   AliRsnCutTrackQuality *cutQuality = (AliRsnCutTrackQuality*) cutPi_mother->CutQuality();
+   cutQuality->SetCheckOnlyFilterBit(kFALSE);
+   cutQuality->SetAODTestFilterBit(-1);
+   if(maxDCAcutFixed)cutQuality->SetDCARmax(1E20);              
+   else cutQuality->SetDCARPtFormula("");
+   if(minDCAcutFixed) cutQuality->SetDCARmin(0);
+   else cutQuality->SetDCARPtFormulaMin(""); 
+   if(!isPP)cutQuality->SetTPCminNClusters(0);
+   if(isPP)cutQuality->SetMinNCrossedRowsTPC(0,kTRUE);
+   if(isPP)cutQuality->SetMinNCrossedRowsOverFindableClsTPC(0,kTRUE);
+   cutQuality->SetPtRange(0,1E20);
+   cutQuality->SetEtaRange(-1E20, 1E20);
+   cutQuality->SetDCAZmax(1E20);
+   cutQuality->SetSPDminNClusters(0);
+   cutQuality->SetITSminNClusters(0);
+   cutQuality->SetITSmaxChi2(1E20);
+   cutQuality->SetTPCmaxChi2(1E20);
+   cutQuality->SetRejectKinkDaughters();
+   cutQuality->Print();
+   
+   
+   // cut set
+   AliRsnCutSet *cutSetPi_mother = new AliRsnCutSet("setPionD0_mother", AliRsnTarget::kDaughter);
+   cutSetPi_mother->AddCut(cutPi_mother);
+   cutSetPi_mother->SetCutScheme(cutPi_mother->GetName());
+   // add to task
+   Int_t iCutPi_mother = task->AddTrackCuts(cutSetPi_mother);
+   
+   
+   AliRsnCutDaughterD0 *cutK_mother = new AliRsnCutDaughterD0("cutKaonForD0_MC", AliPID::kKaon);
+   cutK_mother->SetIsCheckOnMother(kTRUE);
+   cutK_mother->SetNoPID(kTRUE);
+   cutK_mother->SetTPCKaonPIDCut(1E20);
+   cutK_mother->SetTOFKaonPIDCut(1E20);
+   cutK_mother->SetPtDependentPIDCut(kFALSE);  
+   AliRsnCutTrackQuality *cutQuality = (AliRsnCutTrackQuality*) cutK_mother->CutQuality();
+   cutQuality->SetCheckOnlyFilterBit(kFALSE);
+   cutQuality->SetAODTestFilterBit(-1);
+   if(maxDCAcutFixed)cutQuality->SetDCARmax(1E20);              
+   else cutQuality->SetDCARPtFormula("");
+   if(minDCAcutFixed) cutQuality->SetDCARmin(0);
+   else cutQuality->SetDCARPtFormulaMin("");
+   if(!isPP)cutQuality->SetTPCminNClusters(0);
+   if(isPP)cutQuality->SetMinNCrossedRowsTPC(0,kTRUE);
+   if(isPP)cutQuality->SetMinNCrossedRowsOverFindableClsTPC(0,kTRUE);
+   cutQuality->SetPtRange(0,1E20);
+   cutQuality->SetEtaRange(-1E20, 1E20);
+   cutQuality->SetDCAZmax(1E20);
+   cutQuality->SetSPDminNClusters(0);
+   cutQuality->SetITSminNClusters(0);
+   cutQuality->SetITSmaxChi2(1E20);
+   cutQuality->SetTPCmaxChi2(1E20);
+   cutQuality->SetRejectKinkDaughters();
+   cutQuality->Print();
+   
+   
+   // cut set
+   AliRsnCutSet *cutSetK_mother = new AliRsnCutSet("setKaonD0_mother", AliRsnTarget::kDaughter);
+   cutSetK_mother->AddCut(cutK_mother);
+   cutSetK_mother->SetCutScheme(cutK_mother->GetName());
+   // add to task
+   Int_t iCutK_mother = task->AddTrackCuts(cutSetK_mother);
+   */
+   
+   ////////////////////////////////////////////////////////////////////////////////////////////////
   
   // -- Values ------------------------------------------------------------------------------------
   /* invariant mass     */ Int_t imID       = task->CreateValue(AliRsnMiniValue::kInvMass, kFALSE);
@@ -138,17 +237,21 @@ Bool_t ConfigD0
    // [1] = mixing
    // [2] = like ++
    // [3] = like --
-   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     };
-   Double_t mass    [8] = { 1.86486 ,  1.86486 ,  1.86486 ,  1.86486 ,  1.86486  ,  1.86486  ,  1.86486 ,  1.86486 };
+   
+   
+   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      };
+   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    };
+   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++) {
       if (!use[i]) continue;
@@ -169,7 +272,7 @@ Bool_t ConfigD0
 
       // axis X: invmass (or resolution)
       //if (useIM[i]) 
-         out->AddAxis(imID, 1600, 0.6, 2.2);
+         out->AddAxis(imID, bins, min_inv_mass, max_inv_mass);
       //else
       //   out->AddAxis(resID, 200, -0.02, 0.02);
       // axis Y: transverse momentum
@@ -189,7 +292,9 @@ Bool_t ConfigD0
       else out->AddAxis(centID, 400, 0.0, 400.0);
    }
    
+   }
    
+   if(monitor == kTRUE){
    AddMonitorOutput_PionEta(cutSetPi->GetMonitorOutput());
    AddMonitorOutput_PionY(cutSetPi->GetMonitorOutput());
    AddMonitorOutput_PionMinPt(cutSetPi->GetMonitorOutput());
@@ -205,6 +310,8 @@ Bool_t ConfigD0
    AddMonitorOutput_KaonTPC_PIDCut(cutSetK->GetMonitorOutput());
    AddMonitorOutput_KaonTOF_PIDCut(cutSetK->GetMonitorOutput());
    AddMonitorOutput_KaonNTPC(cutSetK->GetMonitorOutput());
+   }
+   
    
    if (isMC) {
    
@@ -227,8 +334,11 @@ Bool_t ConfigD0
    out->SetPairCuts(cutsPair);
    out->SetMaxNSisters(maxSisters);
    out->SetCheckMomentumConservation(checkP);
+   out->SetCheckFeedDown(checkFeedDown);
+   out->SetRejectCandidateIfNotFromQuark(checkQuark);
+   out->SetDselection(originDselection);
    // binnings
-   out->AddAxis(imID, 1600, 0.6, 2.2);
+   out->AddAxis(imID, bins, min_inv_mass, max_inv_mass);
    out->AddAxis(ptID, 200, 0.0, 20.0);
    //out->AddAxis(yID, 100, -1, 1);
    //out->AddAxis(dcapID, 100, -0.001, 0.001);
@@ -240,18 +350,23 @@ Bool_t ConfigD0
    // create output
    AliRsnMiniOutput *out = task->CreateOutput("D0_True2", mode.Data(), "TRUE");
    // selection settings
-   out->SetCharge(0, '+');
-   out->SetCharge(1, '-');
+   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);
    out->SetMaxNSisters(maxSisters);
    out->SetCheckMomentumConservation(checkP);
+   out->SetCheckFeedDown(checkFeedDown);
+   out->SetRejectCandidateIfNotFromQuark(checkQuark);
+   out->SetDselection(originDselection);
    // binnings
-   out->AddAxis(imID, 1600, 0.6, 2.2);
+   out->AddAxis(imID, bins, min_inv_mass, max_inv_mass);
    out->AddAxis(ptID, 200, 0.0, 20.0);
    //out->AddAxis(yID, 100, -1, 1);
    //out->AddAxis(dcapID, 100, -0.001, 0.001);
@@ -261,72 +376,69 @@ Bool_t ConfigD0
    else out->AddAxis(centID, 400, 0.0, 400.0);
    
    
-   // INVARIANT RESOLUTION
+   // GENERATED MOTHERS
    
    TString mode = "SPARSE";
    
    // create output
-   AliRsnMiniOutput *out = task->CreateOutput("D0_Res1", mode.Data(), "TRUE");
+   AliRsnMiniOutput *out = task->CreateOutput("D0_TrueMC1", mode.Data(), "MOTHER");
    // selection settings
    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);
-   out->SetMaxNSisters(maxSisters);
-   out->SetCheckMomentumConservation(checkP);
+   out->SetPairCuts(cutsPairY);
    // binnings
-   out->AddAxis(resID, 200, -0.02, 0.02);
+   out->AddAxis(imID, bins, min_inv_mass, max_inv_mass);
    out->AddAxis(ptID, 200, 0.0, 20.0);
    //out->AddAxis(yID, 100, -1, 1);
-   //out->AddAxis(dcapID, 100, -0.001, 0.001);
-   //out->AddAxis(nsistID, 10, 0, 5);
 
    if (!isPP) out->AddAxis(centID, 100, 0.0, 100.0);
    else out->AddAxis(centID, 400, 0.0, 400.0);
    
    // create output
-   AliRsnMiniOutput *out = task->CreateOutput("D0_Res2", mode.Data(), "TRUE");
+   AliRsnMiniOutput *out = task->CreateOutput("D0_TrueMC2", mode.Data(), "MOTHER");
    // selection settings
    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);
-   out->SetMaxNSisters(maxSisters);
-   out->SetCheckMomentumConservation(checkP);
+   out->SetPairCuts(cutsPairY);
    // binnings
-   out->AddAxis(resID, 200, -0.02, 0.02);
+   out->AddAxis(imID, bins, min_inv_mass, max_inv_mass);
    out->AddAxis(ptID, 200, 0.0, 20.0);
    //out->AddAxis(yID, 100, -1, 1);
-   //out->AddAxis(dcapID, 100, -0.001, 0.001);
-   //out->AddAxis(nsistID, 10, 0, 5);
 
    if (!isPP) out->AddAxis(centID, 100, 0.0, 100.0);
    else out->AddAxis(centID, 400, 0.0, 400.0);
    
    
-   // GENERATED MOTHERS
-   
+   // GENERATED MOTHERS IN THE ACCEPTANCE
+   /*
    TString mode = "SPARSE";
    
    // create output
-   AliRsnMiniOutput *out = task->CreateOutput("D0_TrueMC1", mode.Data(), "MOTHER");
+   AliRsnMiniOutput *out = task->CreateOutput("D0_TrueMC1_Acc", mode.Data(), "TRUE");
    // selection settings
+   out->SetCutID(0, iCutK_mother);
+   out->SetCutID(1, iCutPi_mother);
    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(cutsPairY);
+   out->SetMaxNSisters(maxSisters);
+   out->SetCheckMomentumConservation(checkP);
+   out->SetCheckFeedDown(checkFeedDown);
+   out->SetRejectCandidateIfNotFromQuark(checkQuark);
+   out->SetDselection(originDselection);
    // binnings
-   out->AddAxis(imID, 1600, 0.6, 2.2);
+   out->AddAxis(imID, bins, min_inv_mass, max_inv_mass);
    out->AddAxis(ptID, 200, 0.0, 20.0);
    //out->AddAxis(yID, 100, -1, 1);
 
@@ -334,16 +446,25 @@ Bool_t ConfigD0
    else out->AddAxis(centID, 400, 0.0, 400.0);
    
    // create output
-   AliRsnMiniOutput *out = task->CreateOutput("D0_TrueMC2", mode.Data(), "MOTHER");
+   AliRsnMiniOutput *out = task->CreateOutput("D0_TrueMC2_Acc", mode.Data(), "TRUE");
    // selection settings
+   out->SetCutID(0, iCutK_mother);
+   out->SetCutID(1, iCutPi_mother);
    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(cutsPairY);
+   out->SetMaxNSisters(maxSisters);
+   out->SetCheckMomentumConservation(checkP);
+   out->SetCheckFeedDown(checkFeedDown);
+   out->SetRejectCandidateIfNotFromQuark(checkQuark);
+   out->SetDselection(originDselection);
    // binnings
-   out->AddAxis(imID, 1600, 0.6, 2.2);
+   out->AddAxis(imID, bins, min_inv_mass, max_inv_mass);
    out->AddAxis(ptID, 200, 0.0, 20.0);
    //out->AddAxis(yID, 100, -1, 1);
 
@@ -352,7 +473,7 @@ Bool_t ConfigD0
    
    
    }
-
+   */
 
    return kTRUE;
 }
@@ -363,7 +484,7 @@ void AddMonitorOutput_PionEta(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter
 
    // PionEta
    AliRsnValueDaughter *axisPionEta = new AliRsnValueDaughter("pion_eta", AliRsnValueDaughter::kEta);
-   axisPionEta->SetBins(-1.0,1.0,0.001);
+   axisPionEta->SetBins(-1.0,1.0,0.05);
 
    // output: 2D histogram
    AliRsnListOutput *outMonitorPionEta = new AliRsnListOutput("Pion_Eta", AliRsnListOutput::kHistoDefault);
@@ -380,7 +501,7 @@ void AddMonitorOutput_PionY(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *
 
    // PionY
    AliRsnValueDaughter *axisPionY = new AliRsnValueDaughter("pion_y", AliRsnValueDaughter::kY);
-   axisPionY->SetBins(-1.0,1.0,0.001);
+   axisPionY->SetBins(-1.0,1.0,0.05);
 
    // output: 2D histogram
    AliRsnListOutput *outMonitorPionY = new AliRsnListOutput("Pion_Y", AliRsnListOutput::kHistoDefault);
@@ -397,7 +518,7 @@ void AddMonitorOutput_PionMinPt(TObjArray *mon=0,TString opt="",AliRsnLoopDaught
 
    // PionMinPt
    AliRsnValueDaughter *axisPionMinPt = new AliRsnValueDaughter("pion_minpt", AliRsnValueDaughter::kPt);
-   axisPionMinPt->SetBins(0.0,1,0.001);
+   axisPionMinPt->SetBins(0.0,1,0.05);
 
    // output: 2D histogram
    AliRsnListOutput *outMonitorPionMinPt = new AliRsnListOutput("Pion_MinPt", AliRsnListOutput::kHistoDefault);
@@ -414,7 +535,7 @@ void AddMonitorOutput_PionDCA(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter
 
    // PionDCA
    AliRsnValueDaughter *axisPionDCA = new AliRsnValueDaughter("pion_dca", AliRsnValueDaughter::kDCAXY);
-   axisPionDCA->SetBins(-1.0,1,0.001);
+   axisPionDCA->SetBins(-1.0,1,0.05);
 
    // output: 2D histogram
    AliRsnListOutput *outMonitorPionDCA = new AliRsnListOutput("Pion_DCA", AliRsnListOutput::kHistoDefault);
@@ -431,7 +552,7 @@ void AddMonitorOutput_PionTPC_PIDCut(TObjArray *mon=0,TString opt="",AliRsnLoopD
 
    // Pion PID Cut
    AliRsnValueDaughter *axisPionTPCPIDCut = new AliRsnValueDaughter("pionTPCPID", AliRsnValueDaughter::kTPCnsigmaPi);
-   axisPionTPCPIDCut->SetBins(0.0,5,0.01);
+   axisPionTPCPIDCut->SetBins(0.0,5,0.1);
 
    // output: 2D histogram
    AliRsnListOutput *outMonitorPionTPCPIDCut = new AliRsnListOutput("Pion_TPC_PID_Cut", AliRsnListOutput::kHistoDefault);
@@ -448,7 +569,7 @@ void AddMonitorOutput_PionTOF_PIDCut(TObjArray *mon=0,TString opt="",AliRsnLoopD
 
    // Pion PID Cut
    AliRsnValueDaughter *axisPionTOFPIDCut = new AliRsnValueDaughter("pionTOFPID", AliRsnValueDaughter::kTOFnsigmaPi);
-   axisPionTOFPIDCut->SetBins(0.0,5,0.01);
+   axisPionTOFPIDCut->SetBins(0.0,5,0.1);
 
    // output: 2D histogram
    AliRsnListOutput *outMonitorPionTOFPIDCut = new AliRsnListOutput("Pion_TOF_PID_Cut", AliRsnListOutput::kHistoDefault);
@@ -482,7 +603,7 @@ void AddMonitorOutput_KaonEta(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter
 
    // KaonEta
    AliRsnValueDaughter *axisKaonEta = new AliRsnValueDaughter("kaon_eta", AliRsnValueDaughter::kEta);
-   axisKaonEta->SetBins(-1.0,1.0,0.001);
+   axisKaonEta->SetBins(-1.0,1.0,0.05);
 
    // output: 2D histogram
    AliRsnListOutput *outMonitorKaonEta = new AliRsnListOutput("Kaon_Eta", AliRsnListOutput::kHistoDefault);
@@ -499,7 +620,7 @@ void AddMonitorOutput_KaonY(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter *
 
    // KaonY
    AliRsnValueDaughter *axisKaonY = new AliRsnValueDaughter("kaon_y", AliRsnValueDaughter::kY);
-   axisKaonY->SetBins(-1.0,1.0,0.001);
+   axisKaonY->SetBins(-1.0,1.0,0.05);
 
    // output: 2D histogram
    AliRsnListOutput *outMonitorKaonY = new AliRsnListOutput("Kaon_Y", AliRsnListOutput::kHistoDefault);
@@ -516,7 +637,7 @@ void AddMonitorOutput_KaonMinPt(TObjArray *mon=0,TString opt="",AliRsnLoopDaught
 
    // KaonMinPt
    AliRsnValueDaughter *axisKaonMinPt = new AliRsnValueDaughter("kaon_minpt", AliRsnValueDaughter::kPt);
-   axisKaonMinPt->SetBins(0.0,1,0.001);
+   axisKaonMinPt->SetBins(0.0,1,0.05);
 
    // output: 2D histogram
    AliRsnListOutput *outMonitorKaonMinPt = new AliRsnListOutput("Kaon_MinPt", AliRsnListOutput::kHistoDefault);
@@ -533,7 +654,7 @@ void AddMonitorOutput_KaonDCA(TObjArray *mon=0,TString opt="",AliRsnLoopDaughter
 
    // KaonDCA
    AliRsnValueDaughter *axisKaonDCA = new AliRsnValueDaughter("kaon_dca", AliRsnValueDaughter::kDCAXY);
-   axisKaonDCA->SetBins(-1.0,1,0.001);
+   axisKaonDCA->SetBins(-1.0,1,0.05);
 
    // output: 2D histogram
    AliRsnListOutput *outMonitorKaonDCA = new AliRsnListOutput("Kaon_DCA", AliRsnListOutput::kHistoDefault);
@@ -550,7 +671,7 @@ void AddMonitorOutput_KaonTPC_PIDCut(TObjArray *mon=0,TString opt="",AliRsnLoopD
 
    // Kaon TPC PID Cut
    AliRsnValueDaughter *axisKaonTPCPIDCut = new AliRsnValueDaughter("kaonTPCPID", AliRsnValueDaughter::kTPCnsigmaK);
-   axisKaonTPCPIDCut->SetBins(0.0,5,0.01);
+   axisKaonTPCPIDCut->SetBins(0.0,5,0.1);
 
    // output: 2D histogram
    AliRsnListOutput *outMonitorKaonTPCPIDCut = new AliRsnListOutput("Kaon_TPC_PID_Cut", AliRsnListOutput::kHistoDefault);
@@ -567,7 +688,7 @@ void AddMonitorOutput_KaonTOF_PIDCut(TObjArray *mon=0,TString opt="",AliRsnLoopD
 
    // Kaon TOF PID Cut
    AliRsnValueDaughter *axisKaonTOFPIDCut = new AliRsnValueDaughter("kaonTOFPID", AliRsnValueDaughter::kTOFnsigmaK);
-   axisKaonTOFPIDCut->SetBins(0.0,5,0.01);
+   axisKaonTOFPIDCut->SetBins(0.0,5,0.1);
 
    // output: 2D histogram
    AliRsnListOutput *outMonitorKaonTOFPIDCut = new AliRsnListOutput("Kaon_TOF_PID_Cut", AliRsnListOutput::kHistoDefault);