ROOT logo
#ifndef __CINT__
#include <PWG2/RESONANCES/AliRsnCutPID.h>
#include <PWG2/RESONANCES/AliRsnInputHandler.h>
#include <PWG2/RESONANCES/AliRsnCutSet.h>
#endif

Int_t AddRsnDaughterCutsBPID(AliPID::EParticleType type1,AliPID::EParticleType type2,TString opt,Bool_t isRsnMini=kFALSE,AliRsnInputHandler *rsnIH=0,AliAnalysisTaskSE *task=0)
{

   if (!rsnIH) return 0;

   // === USER HAS TO SET CORRECT NUMBER OF CUTS SETS =====
   Int_t numberOfCuts = 1;

   // gets selector
   AliRsnDaughterSelector *sel = rsnIH->GetSelector();

   //---------------------------------------------
   //  Define single cuts
   //---------------------------------------------

   AliRsnCutPID *cut1 = new AliRsnCutPID(Form("cut%sBPID%s",AliPID::ParticleName(type1),opt.Data()),type1,0.0,kFALSE);
   AliRsnCutSet *cuts1 = new AliRsnCutSet(Form("%sBPID%s",AliPID::ParticleName(type1),opt.Data()), AliRsnTarget::kDaughter);
   cuts1->AddCut(cut1);
   cuts1->SetCutScheme(cut1->GetName());
   sel->Add(cuts1, kTRUE);


   AliRsnCutSet *cuts2 = 0;
   if (type1 != type2) {
      AliRsnCutPID *cut2 = new AliRsnCutPID(Form("cut%sBPID%s",AliPID::ParticleName(type2),opt.Data()),type2,0.0,kFALSE);
      cuts2 = new AliRsnCutSet(Form("%sBPID%s",AliPID::ParticleName(type2),opt.Data()), AliRsnTarget::kDaughter);
      cuts2->AddCut(cut2);
      cuts2->SetCutScheme(cut2->GetName());
      sel->Add(cuts2, kTRUE);
      numberOfCuts++;
   }
   if (opt.Contains("mon")) {
      AddMonitorOutput(cuts1->GetMonitorOutput(),opt);
      if (type1 != type2) {
         AddMonitorOutput(cuts2->GetMonitorOutput(),opt);
      }
   }
   if (isRsnMini) {
      AliRsnMiniAnalysisTask *taskRsnMini = dynamic_cast<AliRsnMiniAnalysisTask *>(task);
      if (taskRsnMini) {
         taskRsnMini->AddTrackCuts(cuts1);
         if (type1 != type2) taskRsnMini->AddTrackCuts(cuts2);
      }
   } else {
      AliRsnDaughterSelector *sel = rsnIH->GetSelector();
      sel->Add(cuts1, kTRUE);
      if (type1 != type2)  sel->Add(cuts2, kTRUE);
   }


   return numberOfCuts;
}
 AddRsnDaughterCutsBPID.C:1
 AddRsnDaughterCutsBPID.C:2
 AddRsnDaughterCutsBPID.C:3
 AddRsnDaughterCutsBPID.C:4
 AddRsnDaughterCutsBPID.C:5
 AddRsnDaughterCutsBPID.C:6
 AddRsnDaughterCutsBPID.C:7
 AddRsnDaughterCutsBPID.C:8
 AddRsnDaughterCutsBPID.C:9
 AddRsnDaughterCutsBPID.C:10
 AddRsnDaughterCutsBPID.C:11
 AddRsnDaughterCutsBPID.C:12
 AddRsnDaughterCutsBPID.C:13
 AddRsnDaughterCutsBPID.C:14
 AddRsnDaughterCutsBPID.C:15
 AddRsnDaughterCutsBPID.C:16
 AddRsnDaughterCutsBPID.C:17
 AddRsnDaughterCutsBPID.C:18
 AddRsnDaughterCutsBPID.C:19
 AddRsnDaughterCutsBPID.C:20
 AddRsnDaughterCutsBPID.C:21
 AddRsnDaughterCutsBPID.C:22
 AddRsnDaughterCutsBPID.C:23
 AddRsnDaughterCutsBPID.C:24
 AddRsnDaughterCutsBPID.C:25
 AddRsnDaughterCutsBPID.C:26
 AddRsnDaughterCutsBPID.C:27
 AddRsnDaughterCutsBPID.C:28
 AddRsnDaughterCutsBPID.C:29
 AddRsnDaughterCutsBPID.C:30
 AddRsnDaughterCutsBPID.C:31
 AddRsnDaughterCutsBPID.C:32
 AddRsnDaughterCutsBPID.C:33
 AddRsnDaughterCutsBPID.C:34
 AddRsnDaughterCutsBPID.C:35
 AddRsnDaughterCutsBPID.C:36
 AddRsnDaughterCutsBPID.C:37
 AddRsnDaughterCutsBPID.C:38
 AddRsnDaughterCutsBPID.C:39
 AddRsnDaughterCutsBPID.C:40
 AddRsnDaughterCutsBPID.C:41
 AddRsnDaughterCutsBPID.C:42
 AddRsnDaughterCutsBPID.C:43
 AddRsnDaughterCutsBPID.C:44
 AddRsnDaughterCutsBPID.C:45
 AddRsnDaughterCutsBPID.C:46
 AddRsnDaughterCutsBPID.C:47
 AddRsnDaughterCutsBPID.C:48
 AddRsnDaughterCutsBPID.C:49
 AddRsnDaughterCutsBPID.C:50
 AddRsnDaughterCutsBPID.C:51
 AddRsnDaughterCutsBPID.C:52
 AddRsnDaughterCutsBPID.C:53
 AddRsnDaughterCutsBPID.C:54
 AddRsnDaughterCutsBPID.C:55
 AddRsnDaughterCutsBPID.C:56
 AddRsnDaughterCutsBPID.C:57
 AddRsnDaughterCutsBPID.C:58
 AddRsnDaughterCutsBPID.C:59