]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
update in jet correl
authorgconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 8 Feb 2010 22:10:48 +0000 (22:10 +0000)
committergconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 8 Feb 2010 22:10:48 +0000 (22:10 +0000)
PWG4/JetCorrel/AliAnalysisTaskJetCorrel.cxx
PWG4/JetCorrel/AliJetCorrelReader.cxx
PWG4/JetCorrel/AliJetCorrelSelector.cxx
PWG4/JetCorrel/AliJetCorrelSelector.h
PWG4/JetCorrel/AliJetCorrelWriter.cxx
PWG4/macros/AddTaskJetCorrel.C
PWG4/macros/ConfigJetCorrel.C

index c2d4d38de264954e0b9d52e0dc112a585b9381cf..024531962e81b072ae17b9c4e895cd605cf01f9a 100644 (file)
@@ -84,6 +84,7 @@ void AliAnalysisTaskJetCorrel::UserExec(Option_t */*option*/){
   fReader->SetEvent(fEVT);
 
   // get global event pars and apply global cuts
+  if(!fSelector->SelectedEvtTrigger(fEVT)) return;
   Float_t cent = fReader->GetMultiplicity(); // use multiplicity in p-p
   Float_t zvtx = fReader->GetVertex();
   Int_t cBin = fSelector->GetBin(centr,cent);
index db584636b364df995f953bf7de0be31d98f5b755..d4a18c1cdbc79348142c058fb83a6c6134c903b6 100644 (file)
@@ -62,9 +62,10 @@ Float_t AliJetCorrelReader::GetVertex(){
     exit(-1);
   }
   if(IsESDEvt(fEVT)){
-    Double_t v[3];
-    ((AliESDEvent*)fEVT)->GetVertex()->GetXYZ(v);
-    return v[2];
+    return ((AliESDEvent*)fEVT)->GetPrimaryVertex()->GetZ();
+//     Double_t v[3];
+//     ((AliESDEvent*)fEVT)->GetVertex()->GetXYZ(v);
+//     return v[2];
   } else {
     return ((AliAODEvent*)fEVT)->GetVertex(0)->GetZ();
   }
index f95577a28e2b607d626d2c259f9ba9e3d644733c..0c2f3d70c8f077cb9358477536deff3686bcb5ff 100644 (file)
@@ -27,10 +27,10 @@ using namespace JetCorrelHD;
 ClassImp(AliJetCorrelSelector)
 
 AliJetCorrelSelector::AliJetCorrelSelector() : 
-  fNumCorrel(0), fPoolDepth(0), fCorrelType(NULL), fGenQA(kFALSE),
+  fGenQA(kFALSE), fNumCorrel(0), nEvtTriggs(0), fPoolDepth(0), fCorrelType(NULL), fEvtTriggs(NULL),
   minTriggPt(0), maxTriggPt(0), bwTriggPt(0), minAssocPt(0), maxAssocPt(0), bwAssocPt(0),
-  fITSRefit(kFALSE), fTPCRefit(kFALSE), fTRDRefit(kFALSE), fRejectKinkChild(kFALSE),
-  fMaxNsigmaVtx(0), fMaxITSChi2(0), fMaxTPCChi2(0), fMinNClusITS(0), fMinNClusTPC(0) {
+  fITSRefit(kFALSE), fTPCRefit(kFALSE), fTRDRefit(kFALSE), fRejectKinkChild(kFALSE), fMaxEta(0),
+  fMaxNsigmaVtx(0), fMaxTrkVtx(0), fMaxITSChi2(0), fMaxTPCChi2(0), fMinNClusITS(0), fMinNClusTPC(0), trkMinProx(0) {
   // (default) constructor
   fNumBins[centr] = 0; fBinning[centr] = NULL;
   fNumBins[zvert] = 0; fBinning[zvert] = NULL;
@@ -40,6 +40,8 @@ AliJetCorrelSelector::~AliJetCorrelSelector(){
   // destructor
   if(fCorrelType) delete [] fCorrelType;
   fNumCorrel = 0;
+  if(fEvtTriggs) delete [] fEvtTriggs;
+  nEvtTriggs = 0;
   if(fBinning[centr]) delete [] fBinning[centr];
   fNumBins[centr] = 0;
   if(fBinning[zvert]) delete [] fBinning[zvert];
@@ -61,6 +63,22 @@ void AliJetCorrelSelector::SetCorrelTypes(UInt_t s, UInt_t * const v){
   } 
 }
 
+void AliJetCorrelSelector::SetTriggers(UInt_t s, TString * const v){
+  // fills the array of event triggers
+  if(s<1){std::cerr<<"AliJetCorrelSelector::SetTriggers - empty array"<<std::endl; exit(-1);}
+  if(s>9){std::cerr<<"AliJetCorrelSelector: event trigger array too big!"<<std::endl; exit(-1);}
+  nEvtTriggs = s;
+  fEvtTriggs = new TString[nEvtTriggs];
+  for(UInt_t k=0; k<nEvtTriggs; k++){
+    if(!v[k].IsAscii()){
+      std::cerr<<"AliJetCorrelSelector::SetTriggers - read error? val["<<k<<"]="<<v[k]<<std::endl;
+      exit(-1);
+    }
+    else fEvtTriggs[k] = ToUpper(v[k]);
+  } 
+}
+
+
 void AliJetCorrelSelector::SetBinningCentr(UInt_t s, Float_t * const v){
   // fills array of centrality bins
   if(s<1){std::cerr<<"AliJetCorrelSelector::SetBinningCentr - empty array"<<std::endl; exit(-1);}
@@ -110,23 +128,26 @@ void AliJetCorrelSelector::Show(){
   std::cout<<"Generic selections: "<<std::endl<<" PoolDepth="<<fPoolDepth;
   std::cout<<std::endl<<" Correlation Types: ";
   for(UInt_t k=0; k<fNumCorrel; k++) std::cout<<fCorrelType[k]<<" ";
+  std::cout<<std::endl<<" Event Triggers: ";
+  for(UInt_t k=0; k<nEvtTriggs; k++) std::cout<<fEvtTriggs[k]<<" ";
   std::cout<<std::endl<<" Centrality/Multiplicity binning: ";
   for(UInt_t k=0; k<fNumBins[centr]; k++) std::cout<<fBinning[centr][k]<<" ";
   std::cout<<std::endl<<" Vertex binning: ";
   for(UInt_t k=0; k<fNumBins[zvert]; k++) std::cout<<fBinning[zvert][k]<<" ";
   std::cout<<std::endl<<" Trigg binning:"<<minTriggPt<<"->"<<maxTriggPt<<"/"<<bwTriggPt;
   std::cout<<std::endl<<" Assoc binning:"<<minAssocPt<<"->"<<maxAssocPt<<"/"<<bwAssocPt;
-  std::cout<<std::endl<<"Track selections: "<<std::endl<<" MaxNsigmaVtx="<<fMaxNsigmaVtx<<std::endl
+  std::cout<<std::endl<<"Track selections: "<<std::endl
+          <<" MaxEta="<<fMaxEta<<" MaxTrkVtx="<<fMaxTrkVtx<<" MaxNsigmaVtx="<<fMaxNsigmaVtx<<std::endl
           <<" MaxITSChi2="<<fMaxITSChi2<<" MaxTPCChi2="<<fMaxTPCChi2<<std::endl
           <<" MinNClusITS="<<fMinNClusITS<<" MinNClusTPC="<<fMinNClusTPC<<std::endl
           <<" ITSRefit="<<fITSRefit<<" TPCRefit="<<fTPCRefit<<" TRDRefit="<<fTRDRefit<<std::endl
-          <<" RejectKinkChild="<<fRejectKinkChild<<std::endl;
+          <<" RejectKinkChild="<<fRejectKinkChild<<" minTrackPairTPCDist="<<trkMinProx<<std::endl;
 }
 
 Float_t AliJetCorrelSelector::BinBorder(BinType_t cType, UInt_t k){
   // returns bin margins
   if(k<=NoOfBins(cType)) return fBinning[cType][k];
-  else {std::cerr<<"BinBorder Error: bin of type "<<cType<<" outside range "<<k<<std::endl;  exit(0);}
+  else {std::cerr<<"BinBorder Error: bin of type "<<cType<<" outside range "<<k<<std::endl; exit(0);}
 }
 
 Int_t AliJetCorrelSelector::GetBin(BinType_t cType, Float_t val){
@@ -141,32 +162,51 @@ Int_t AliJetCorrelSelector::GetBin(BinType_t cType, Float_t val){
 // Cutting Methods
 /////////////////////////////////////////////////////////
 
-Bool_t AliJetCorrelSelector::GoodTrackPair(CorrelTrack_t *t1, CorrelTrack_t *t2){
-  // meant for two-track cuts (like TPC entrance); but hopes are that single-track cuts,
-  // like a high no of TPC clusters, will avoid double counting of split tracks...
-  t1->Show(); t2->Show();
+Bool_t AliJetCorrelSelector::SelectedEvtTrigger(AliVEvent *fEVT){
+  // matches the event trigger classes with the user trigger classes
+  if(fEVT->InheritsFrom("AliESDEvent")){
+    const AliESDEvent *esd = (AliESDEvent*)fEVT;
+    TString trigClass = esd->GetFiredTriggerClasses();
+    if(nEvtTriggs==1 && fEvtTriggs[0].Contains("ALL")) return kTRUE;
+    for(UInt_t k=0; k<nEvtTriggs; k++)
+      if(trigClass.Contains(fEvtTriggs[k])) return kTRUE;
+    return kFALSE;
+  } else {std::cerr<<"AliJetCorrelSelector::SelectedEvtTrigger ERROR: not an ESD event!"<<std::endl; exit(0);}
+}
+
+Bool_t AliJetCorrelSelector::CloseTrackPair(Float_t dist){
+  // applies two-track cut (dist at TPC entrance); it is possible that single-track cuts,
+  // like fraction of shared TPC clusters, will avoid inclusion of split tracks...
+  if(dist>trkMinProx) return kFALSE;
   return kTRUE;
 }
 
 Bool_t AliJetCorrelSelector::LowQualityTrack(AliESDtrack* track){
   // selects low quality tracks
+  if(track->Eta()>fMaxEta) return kTRUE;
   UInt_t status = track->GetStatus();
   if(fITSRefit && !(status & AliESDtrack::kITSrefit)) return kTRUE;
   if(fTPCRefit && !(status & AliESDtrack::kTPCrefit)) return kTRUE;
 
-  UInt_t nClusITS = track->GetITSclusters(0);
+//   UInt_t nClusITS = track->GetITSclusters(0);
+//   if(nClusITS<fMinNClusITS) return kTRUE;
+//   Float_t chi2ITS=-1.;
+//   if(nClusITS!=0) chi2ITS = track->GetITSchi2()/Float_t(nClusITS);
+//   if(chi2ITS<0 || chi2ITS>fMaxITSChi2) return kTRUE;
+
   UInt_t nClusTPC = track->GetTPCclusters(0); // or track->GetTPCNcls() ?
-  if(nClusITS<fMinNClusITS) return kTRUE;
   if(nClusTPC<fMinNClusTPC) return kTRUE;
-
-  Float_t chi2ITS=-1., chi2TPC=-1.;
-  if(nClusITS!=0) chi2ITS = track->GetITSchi2()/Float_t(nClusITS);
+  Float_t chi2TPC=-1.;
   if(nClusTPC!=0) chi2TPC = track->GetTPCchi2()/Float_t(nClusTPC);
-  if(chi2ITS<0 || chi2ITS>fMaxITSChi2) return kTRUE;
   if(chi2TPC<0 || chi2TPC>fMaxTPCChi2) return kTRUE;
 
   if(fRejectKinkChild && track->GetKinkIndex(0)>0) return kTRUE;
-  if(GetSigmaToVertex(track)>fMaxNsigmaVtx) return kTRUE;
+//  Float_t sigTrkVtx = GetSigmaToVertex(track);
+//  if(sigTrkVtx<0 || sigTrkVtx>fMaxNsigmaVtx) return kTRUE;
+  // instead of track-vertex DCA sigma cut, apply value-cut:
+  Float_t b[2], bCov[3];
+  track->GetImpactParameters(b,bCov);
+  if((b[0]*b[0]+b[1]*b[1])>(fMaxTrkVtx*fMaxTrkVtx)) return kTRUE;
 
   return kFALSE;
 }
index 79b9121c6e76c4306c63221199812fc9a460974e..d5cd8d4656d92e9e7253f0e5ffe070cf6e704cfd 100644 (file)
@@ -44,20 +44,25 @@ namespace JetCorrelHD {
     void SetBinningZvert(UInt_t s, Float_t * const v);
     void SetBinningTrigg(Float_t min, Float_t max, Float_t bw);
     void SetBinningAssoc(Float_t min, Float_t max, Float_t bw);
+    void SetTriggers(UInt_t s, TString * const v);
     void SetITSRefit(Bool_t v)    {fITSRefit=v;}
     void SetTPCRefit(Bool_t v)    {fTPCRefit=v;}
     void SetTRDRefit(Bool_t v)    {fTRDRefit=v;}
+    void SetMaxEta(Float_t v)     {fMaxEta=v;}
     void SetMaxITSChi2(Float_t v) {fMaxITSChi2=v;}
     void SetMaxTPCChi2(Float_t v) {fMaxTPCChi2=v;}
     void SetMinNClusITS(UInt_t v) {fMinNClusITS=v;}
     void SetMinNClusTPC(UInt_t v) {fMinNClusTPC=v;}
     void SetMaxNsigmaVtx(Float_t v) {fMaxNsigmaVtx=v;}
+    void SetMaxTrkVtx(Float_t v)  {fMaxTrkVtx=v;}
     void SetRejectKinkChild(Bool_t v) {fRejectKinkChild=v;}
     void SetQA(Bool_t v) {fGenQA=v;}
+    void SetTrkProximityCut(Float_t v) {trkMinProx=v;}
     // Cutting methods:
     Bool_t IsAssoc(Float_t pT) {return (pT>=minAssocPt && pT<=maxAssocPt);}
     Bool_t IsTrigg(Float_t pT) {return (pT>=minTriggPt && pT<=maxTriggPt);}
-    Bool_t GoodTrackPair(CorrelTrack_t* t1, CorrelTrack_t* t2);
+    Bool_t SelectedEvtTrigger(AliVEvent * const fEVT);
+    Bool_t CloseTrackPair(Float_t dist);
     Bool_t LowQualityTrack(AliESDtrack* t);  
     Bool_t PassPID(AliESDtrack* t, PartType_t pType);
     Float_t GetSigmaToVertex(AliESDtrack* trk);
@@ -65,18 +70,22 @@ namespace JetCorrelHD {
 
   private: 
     // Generic Selections:
-    UInt_t fNumCorrel, fPoolDepth; // number of correlations, pool depth
+    Bool_t fGenQA;                 // generate QA histos
+    UInt_t fNumCorrel, nEvtTriggs, fPoolDepth; // number of correlations, event triggers, pool depth
     UInt_t *fCorrelType;           // array of correlation types
+    TString *fEvtTriggs;           // array of event triggers
     UInt_t fNumBins[2];            // number of bins: centr, zvert
     Float_t* fBinning[2];          // bin margins: centr, zvert
-    Bool_t fGenQA;                 // generate QA histos
     Float_t minTriggPt, maxTriggPt, bwTriggPt; // trigg Pt binning
     Float_t minAssocPt, maxAssocPt, bwAssocPt; // assoc Pt binning
     // Track Selections:
     Bool_t fITSRefit, fTPCRefit, fTRDRefit, fRejectKinkChild; // on/off cuts
-    Float_t fMaxNsigmaVtx;
-    Float_t fMaxITSChi2, fMaxTPCChi2;
-    UInt_t fMinNClusITS, fMinNClusTPC;
+    Float_t fMaxEta;                   // single-particle eta cut
+    Float_t fMaxNsigmaVtx;             // track-primary vertex cut (sigma)
+    Float_t fMaxTrkVtx;                // track-primary vertex cut (value)
+    Float_t fMaxITSChi2, fMaxTPCChi2;  // ITS/TPC Chi2/cluster cut
+    UInt_t fMinNClusITS, fMinNClusTPC; // ITS/TPC number of clusters cut
+    Float_t trkMinProx;                // two-track proximity cut (dist at TPC entrance)
     
     // disable (make private) copy constructor, and assignment operator:
     AliJetCorrelSelector(const AliJetCorrelSelector&);
index b0832f63c652a8fbf7dfd3229b6fd906501c1cbf..c4e70e4ba95395c49eae47ac4d9f751393269bee 100644 (file)
@@ -238,14 +238,16 @@ void AliJetCorrelWriter::FillCorrelations(FillType_t fTyp, UInt_t iCorr, UInt_t
   if(fabs(ptt-pta)<kEPS && fabs(phit-phia)<kEPS && fabs(etat-etaa)<kEPS) return; // don't auto-correlate
 
   // store track pair proximity
-  if(fSelector->GenQA())
-    if(Trigg->ID()==hadron && Assoc->ID()==hadron){
-      CorrelTrack_t* trk1 = dynamic_cast<CorrelTrack_t*>(Trigg);
-      CorrelTrack_t* trk2 = dynamic_cast<CorrelTrack_t*>(Assoc);
-      if(!trk1 || !trk2)
-       {std::cerr<<"AliJetCorrelWriter::FillCorrelations: failed casting!"<<std::endl; exit(-1);}
-      hTrkProx[fTyp][cBin]->Fill(trk1->Dist(trk2),ptt,pta);
-    }
+  if(Trigg->ID()==hadron && Assoc->ID()==hadron){
+    CorrelTrack_t* trk1 = dynamic_cast<CorrelTrack_t*>(Trigg);
+    CorrelTrack_t* trk2 = dynamic_cast<CorrelTrack_t*>(Assoc);
+    if(!trk1 || !trk2)
+      {std::cerr<<"AliJetCorrelWriter::FillCorrelations: failed casting!"<<std::endl; exit(-1);}
+    Float_t pairDist = trk1->Dist(trk2);
+    if(fSelector->CloseTrackPair(pairDist)) return; // proximity cut
+    if(fSelector->GenQA()) hTrkProx[fTyp][cBin]->Fill(pairDist,ptt,pta);
+  }
+
   // Fill correlation histograms:
   Float_t dphi = DeltaPhi(phit,phia);
   Float_t deta = etat-etaa;
index 3789a2ea5e3aee56ede8d74253e222c9e6b5db21..3f1d95499ed4513e5013877c4123d6cdca94d406 100644 (file)
@@ -17,7 +17,7 @@ AliAnalysisTaskJetCorrel *AddTaskJetCorrel(){
 
   using namespace JetCorrelHD;
   gROOT->LoadMacro("$ALICE_ROOT/PWG4/macros/ConfigJetCorrel.C");
-  AliJetCorrelSelector* Selector = JetCorrelSelector();
+  AliJetCorrelSelector* Selector = ConfigJetCorrel();
   AliAnalysisTaskJetCorrel *task = new AliAnalysisTaskJetCorrel(Selector);
 
   //add the task to the current analysis manager
@@ -27,9 +27,12 @@ AliAnalysisTaskJetCorrel *AddTaskJetCorrel(){
   //----------------------
   AliAnalysisDataContainer *output = 
     mgr->CreateContainer("JetCorrelHistos", TList::Class(),
-                        AliAnalysisManager::kOutputContainer,"JetCorrelHistos.root");    
+                        AliAnalysisManager::kOutputContainer,"JetCorrelHistos.root");
+  AliAnalysisDataContainer *dummy = mgr->CreateContainer("cdummy", TTree::Class(), 
+                                                        AliAnalysisManager::kExchangeContainer);  
+  
   mgr->ConnectInput(task,0,mgr->GetCommonInputContainer());
-  mgr->ConnectOutput(task,0,mgr->GetCommonOutputContainer());
+  mgr->ConnectOutput(task,0,dummy);
   mgr->ConnectOutput(task,1,output);
   
   return task;
index d0aee6e1f83a94b3928f3e7afe855e03d95f2125..ef0de230609bfb010a8c774dad529f68efd248b3 100644 (file)
@@ -1,43 +1,58 @@
-AliJetCorrelSelector* JetCorrelSelector(){
+AliJetCorrelSelector* ConfigJetCorrel(){
 
   ///////////////////////////////////
   // set correlation input parameters
   ///////////////////////////////////
   // set generic selections:
-  UInt_t PoolDepth = 10;
-  UInt_t CorrelTypes[] = {0};
-  Float_t TriggBins[] = {5.,7.,10.,15.,25.};
-  Float_t AssocBins[] = {0.3,0.5,1.,2.,5.,7.};
-  Float_t CentrBins[] = {0.,50.,200.,500.};
-  Float_t ZVertBins[] = {-30.,-15.,-5.,-1.,1.,5.,15.,30.};
+  Bool_t kUseQA = kTRUE;       // generate QA histos
+  UInt_t poolDepth = 100;
+  UInt_t correlTypes[] = {0};  // 0=dihadron, 1=pi0-hadron, 2=photon-hadron, 3=Z0-hadron
+  Float_t centrBins[] = {1,30,300};
+  Float_t zVertBins[] = {-12,-8,-5,-3,-1,1,3,5,8,12};
+  Float_t bwTriggPt = 1;   Float_t minTriggPt = 2;   Float_t maxTriggPt = 20; // 18 bins
+  Float_t bwAssocPt = 0.5; Float_t minAssocPt = 0.5; Float_t maxAssocPt = 10; // 19 bins
+  //TString sTrigg[] = {"ALL"}; // selects events where one of the strings is matched; "ALL"=no cut
+  TString sTrigg[] = {"CINT1B-"};
   // set track selections:
-  Bool_t ITSRefit = kTRUE;
-  Bool_t TPCRefit = kTRUE;
-  Bool_t TRDRefit = kTRUE;          // used only for electron tracks
-  UInt_t MinNClusITS = 1;
-  UInt_t MinNClusTPC = 50; 
-  Float_t MaxITSChi2 = 3.5;         // max track Chi2 per ITS cluster
-  Float_t MaxTPCChi2 = 3.5;         // max track Chi2 per TPC cluster
-  Float_t MaxNsigVtx = 3.5;         // max dist to primary vertex
-  Bool_t RejectKinkChild = kTRUE;   // reject track comming from a kink
+  Bool_t itsRefit = kTRUE;
+  Bool_t tpcRefit = kTRUE;
+  Bool_t trdRefit = kTRUE;         // used only for electron tracks
+  Float_t maxEta = 0.9;
+  UInt_t minNClusTPC = 80;
+  Float_t maxTPCChi2 = 3.5;        // max track Chi2 per TPC cluster
+  Bool_t rejectKinkChild = kTRUE;  // reject track comming from a kink
+  Float_t trkPairCut = 0.;         // track pair proximity cut (dist at TPC entrance)
+  // code that applies next 3 cuts (NClusITS,ITSChi2,NsigVtx) currently commented out
+  UInt_t minNClusITS = 0;
+  Float_t maxITSChi2 = 35;        // max track Chi2 per ITS cluster
+  Float_t maxNsigVtx = 35;        // max dist to primary vertex (sigma)
+  Float_t maxTrkVtx  = 3;         // max dist to primary vertex (absolute) - temporarily instead of sigma
 
   //////////////////////////////////
   // load them into selector object:
   //////////////////////////////////
-  AliJetCorrelSelector* Selector = new AliJetCorrelSelector();
-  Selector->SetPoolDepth(PoolDepth);
-  Selector->SetCorrelTypes(sizeof(CorrelTypes)/sizeof(Int_t),CorrelTypes);
-  Selector->SetBinningTrigg(sizeof(TriggBins)/sizeof(Float_t),TriggBins);
-  Selector->SetBinningAssoc(sizeof(AssocBins)/sizeof(Float_t),AssocBins);
-  Selector->SetBinningCentr(sizeof(CentrBins)/sizeof(Float_t),CentrBins);
-  Selector->SetBinningZvert(sizeof(ZVertBins)/sizeof(Float_t),ZVertBins);
-  Selector->SetITSRefit(ITSRefit); Selector->SetTPCRefit(TPCRefit);
-  Selector->SetTRDRefit(TRDRefit);
-  Selector->SetMinNClusITS(MinNClusITS); Selector->SetMinNClusTPC(MinNClusTPC);
-  Selector->SetMaxITSChi2(MaxITSChi2); Selector->SetMaxTPCChi2(MaxTPCChi2);
-  Selector->SetMaxNsigmaVtx(MaxNsigVtx);
-  Selector->SetRejectKinkChild(RejectKinkChild);
-  Selector->Print();
+  AliJetCorrelSelector* selector = new AliJetCorrelSelector();
+  selector->SetQA(kUseQA);
+  selector->SetPoolDepth(poolDepth);
+  selector->SetCorrelTypes(sizeof(correlTypes)/sizeof(UInt_t),correlTypes);
+  selector->SetBinningCentr(sizeof(centrBins)/sizeof(Float_t),centrBins);
+  selector->SetBinningZvert(sizeof(zVertBins)/sizeof(Float_t),zVertBins);
+  selector->SetBinningTrigg(minTriggPt,maxTriggPt,bwTriggPt);
+  selector->SetBinningAssoc(minAssocPt,maxAssocPt,bwAssocPt);
+  selector->SetTriggers(sizeof(sTrigg)/sizeof(TString),sTrigg);
+  selector->SetITSRefit(itsRefit);
+  selector->SetTPCRefit(tpcRefit);
+  selector->SetTRDRefit(trdRefit);
+  selector->SetMaxEta(maxEta);
+  selector->SetMinNClusITS(minNClusITS);
+  selector->SetMinNClusTPC(minNClusTPC);
+  selector->SetMaxITSChi2(maxITSChi2);
+  selector->SetMaxTPCChi2(maxTPCChi2);
+  selector->SetMaxNsigmaVtx(maxNsigVtx);
+  selector->SetMaxTrkVtx(maxTrkVtx);
+  selector->SetRejectKinkChild(rejectKinkChild);
+  selector->SetTrkProximityCut(trkPairCut);
+  selector->Show();
 
-  return Selector;
+  return selector;
 }