]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Updates
authorspyropo <spyropo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 24 Apr 2013 16:08:42 +0000 (16:08 +0000)
committerspyropo <spyropo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 24 Apr 2013 16:08:42 +0000 (16:08 +0000)
PWGLF/SPECTRA/Kinks/AliAnalysisKinkESDMC.cxx
PWGLF/SPECTRA/Kinks/AliAnalysisKinkESDMC.h
PWGLF/SPECTRA/Kinks/AliAnalysisKinkESDat.cxx
PWGLF/SPECTRA/Kinks/AliAnalysisKinkESDat.h

index 0034f92edaa785727b20b9893ce515ad2a183ca0..1f2ce8468adc6730bbac7ee68ad79117ab74cccb 100644 (file)
@@ -74,11 +74,11 @@ AliAnalysisKinkESDMC::AliAnalysisKinkESDMC(const char *name)
                         fTPCSgnlPtpc(0),
        fTPCMomNSgnl(0),  fMothKinkMomSgnl(0), fNSigmTPC(0),  fTPCSgnlKinkDau(0),fcodeDau1(0),fcodeDau2(0), fMothKinkMomSgnlD(0), 
      fInvMassMuNuAll(0),   fInvMassMuNuPt(0), fRatioCrossedRows(0), fRatioCrossedRowsKink(0), fRadiusPt(0), fRadiusPtcln(0),
-     fPtCut1(0), fPtCut2(0), fPtCut3(0),  fAngMomKKinks(0),     
+      fRadiusPtKaon(0), fRadiusPtPion(0), fRadiusPtFake(0), fPtCut1(0), fPtCut2(0), fPtCut3(0),  fAngMomKKinks(0),     
   flengthMCK(0), flifetiMCK(0), flifetim2(0), fLHelESDK(0),flifeInt(0), flifeYuri(0), flenYuri(0), flenTrRef(0),flifeSmall(0), flifetime(0),flifTiESDK(0),  
     flifeKink(), flenHelx(0), fradPtRapMC(0), fradPtRapDC(0), fradPtRapESD(0), fRadNclcln(0),
     f1(0), f2(0),
-  fListOfHistos(0),fLowMulcut(-1),fUpMulcut(-1), fKinkRadUp(200),fKinkRadLow(130), fCutsMul(0),fMaxDCAtoVtxCut(0), fPIDResponse(0)
+  fListOfHistos(0),fLowMulcut(-1),fUpMulcut(-1), fKinkRadUp(200),fKinkRadLow(130), fLowCluster(20), fLowQt(.12),  fCutsMul(0),fMaxDCAtoVtxCut(0), fPIDResponse(0)
 
 {
   // Constructor
@@ -241,6 +241,9 @@ void AliAnalysisKinkESDMC::UserCreateOutputObjects()
   fRatioCrossedRowsKink = new TH1F("fRatioCrossedRowsKink","Ratio crossed rows  in TPC for kinks",20,0.0,1.0);
   fRadiusPt =new TH2F("fRadiusPt","radius vs pt  ",80, 90.,250.,100, 0.,10.              );
   fRadiusPtcln =new TH2F("fRadiusPtcln","radius vs pt clean ",80, 90.,250.,100, 0.,10.              );
+  fRadiusPtKaon  =new TH2F("fRadiusPtKaon","radius vs pt Kaon PDG ",80, 90.,250.,100, 0.,10.              );
+  fRadiusPtPion  =new TH2F("fRadiusPtPion","radius vs pt Pion PDG ",80, 90.,250.,100, 0.,10.              );
+  fRadiusPtFake  =new TH2F("fRadiusPtFake","radius vs pt Pion Fake ",80, 90.,250.,100, 0.,10.              );
   fPtCut1 = new TH1F("fPtCut1", "P_{T}Kaon distribution",300, 0.0,15.0);
   fPtCut2 = new TH1F("fPtCut2", "P_{T}Kaon distribution",300, 0.0,15.0);
   fPtCut3 = new TH1F("fPtCut3", "P_{T}Kaon distribution",300, 0.0,15.0);
@@ -368,6 +371,9 @@ void AliAnalysisKinkESDMC::UserCreateOutputObjects()
    fListOfHistos->Add(fRatioCrossedRowsKink);
    fListOfHistos->Add(fRadiusPt);
    fListOfHistos->Add(fRadiusPtcln);
+   fListOfHistos->Add(fRadiusPtKaon);
+   fListOfHistos->Add(fRadiusPtPion);
+   fListOfHistos->Add(fRadiusPtFake);
    fListOfHistos->Add(fPtCut1);
    fListOfHistos->Add(fPtCut2);
    fListOfHistos->Add(fPtCut3);
@@ -506,7 +512,7 @@ void AliAnalysisKinkESDMC::UserExec(Option_t *)
               if ( charg==-1) fPtKMnMC->Fill( ptK  );
 // primary   vertex
             //      Double_t mVx=particle->Vx();
-              //   Double_t mVy=particle->Vy();
+            //     Double_t mVy=particle->Vy();
                  Double_t mVz=particle->Vz();
 // 25/11/2012  ???????back 10/1/2013
                                                TClonesArray* trArray=0;
@@ -565,8 +571,8 @@ void AliAnalysisKinkESDMC::UserExec(Option_t *)
             mcProcess=daughter1->GetUniqueID();
                   radiusD=daughter1->R();
 // secondary vertex
-           //       Double_t hVx=daughter1->Vx();
-             //   Double_t hVy=daughter1->Vy();
+               //   Double_t hVx=daughter1->Vx();
+              //  Double_t hVy=daughter1->Vy();
                   Double_t hVz=daughter1->Vz();
 
            LengthK = TMath::Sqrt( radiusD*radiusD  + ( mVz-hVz) * (mVz-hVz) );  //   19/7/2010 mss
@@ -603,6 +609,7 @@ void AliAnalysisKinkESDMC::UserExec(Option_t *)
             fradPtRapMC->Fill( radiusD, 1./ptK, rapidiKMC);  // systematics 26/8
   }
 
+
 //
     if (  ( ( code==321 )&&( dcode ==-13  ))||( ( code ==-321)&&(dcode== 13) ) || ( ( code==321 )&&( dcode ==-11  )) || ( (code ==-321)&&(dcode== 11))) {  
                       flifetim2 ->Fill(  (lengthKMC*0.493667  /particle->P()));
@@ -614,10 +621,11 @@ void AliAnalysisKinkESDMC::UserExec(Option_t *)
 
       if (( (TMath::Abs(code)==321 )&&(TMath::Abs(dcode)  ==211  ))&& ( mcProc4<2)) flifetim2->Fill( lengthKMC *0.493667 /particle->P()) ;//19/7
 
+     // test feb 2013                    if ((TMath::Abs(hVz)<0.5) || (TMath::Abs(hVz )>225)) continue;
 ///   inside radius region ----------------------------------------------
                        if(MCKinkAngle2 < 2.) continue;  // as in ESD 
                        //          ======  8/2/13 if (((daughter1->R())>120)&&((daughter1->R())<210)&& (MCQt>0.120)  ){
-                       if (((daughter1->R())> fKinkRadLow )&&((daughter1->R())< fKinkRadUp )&& (MCQt>0.120)  ){
+                       if (((daughter1->R())> fKinkRadLow )&&((daughter1->R())< fKinkRadUp )&& (MCQt>0.040)  ){
 
         if ( ( code==321 )&&( dcode ==-13  ))   {  
             fradPtRapDC->Fill( radiusD, 1./ptK, rapidiKMC);  // systematics 26/8
@@ -780,7 +788,7 @@ for (Int_t iTrack = 0; iTrack < esd->GetNumberOfTracks(); iTrack++) {
       continue;
     }
 
-                Int_t indexKinkDau=trackD->GetKinkIndex(0);
+         //       Int_t indexKinkDau=trackD->GetKinkIndex(0);
 // daughter kink 
           nsigmaPion     = (fPIDResponse->NumberOfSigmasTPC(trackD  , AliPID::kPion));// 26/10 eftihis
  //   nsigmaPion= (fESDpid->NumberOfSigmasTPC(trackD,AliPID::kPion));
@@ -877,7 +885,7 @@ for (Int_t iTrack = 0; iTrack < esd->GetNumberOfTracks(); iTrack++) {
     }
 
     Float_t dcaToVertexXYpos = bpos[0];
-    Float_t dcaToVertexZpos = bpos[1];
+//    Float_t dcaToVertexZpos = bpos[1];
     
     //fRpr->Fill(dcaToVertexZpos);
     fRpr->Fill(dcaToVertexXYpos);
@@ -947,9 +955,9 @@ for (Int_t iTrack = 0; iTrack < esd->GetNumberOfTracks(); iTrack++) {
           Float_t qT=kink->GetQt();
     //   Float_t motherPt=motherMfromKink.Pt();
 // Kink  mother momentum 
-     Double_t trMomTPCKink=motherMfromKink.Mag();
+//     Double_t trMomTPCKink=motherMfromKink.Mag();
 // TPC mother momentun
-     Double_t trMomTPC=track->GetTPCmomentum();
+  //   Double_t trMomTPC=track->GetTPCmomentum();
        //     Float_t etaMother=motherMfromKink.Eta();
 
 
@@ -989,7 +997,15 @@ for (Int_t iTrack = 0; iTrack < esd->GetNumberOfTracks(); iTrack++) {
 
              Float_t signPt= tpcSign*trackPt;
 //
+           if  ( (TMath::Abs(code1)==211)&&(TMath::Abs(dcode1)==13))      
+           fRadiusPtPion->Fill( kink->GetR(), track->Pt()); //
 
+         if(       ( (TMath::Abs(code1)==321)&&(TMath::Abs(dcode1)==13))||    
+           ( (TMath::Abs(code1)==321)&&(TMath::Abs(dcode1)==11))  ||    
+           ( (TMath::Abs(code1)==321)&&(TMath::Abs(dcode1)==211))  ) { 
+           fRadiusPtKaon->Fill( kink->GetR(), track->Pt()); //
+              }
+//
          // ======8/1/13 if((kink->GetR()>120.)&&(kink->GetR()<210.)&&(TMath::Abs(rapiditK)<0.7)&&(label<nPrim)) {
          if((kink->GetR()> fKinkRadLow )&&(kink->GetR()< fKinkRadUp )&&(TMath::Abs(rapiditK)<0.7)&&(label<nPrim)) {
     if(       ( (TMath::Abs(code1)==321)&&(TMath::Abs(dcode1)==13))) fQtKMu->Fill(qT);
@@ -1000,14 +1016,15 @@ for (Int_t iTrack = 0; iTrack < esd->GetNumberOfTracks(); iTrack++) {
          if(       ( (TMath::Abs(code1)==321)&&(TMath::Abs(dcode1)==13))||    
            ( (TMath::Abs(code1)==321)&&(TMath::Abs(dcode1)==11))  ||    
            ( (TMath::Abs(code1)==321)&&(TMath::Abs(dcode1)==211))  ) { 
-         if(qT>0.120)        fHistPtKPDG->Fill(track->Pt());  // ALL KAONS (pdg) inside ESD  kink sample
-        if(qT>0.120)    {
-      if(code1>0.)  fHiPtKPDGP->Fill(trackPt             ); //  //  positive KAONS (pdg) inside ESD  kink sample
-      if(code1<0.)  fHiPtKPDGN->Fill(      trackPt       ); //   // negative  KAONS (pdg) inside ESD  kink sample
+         if(qT>fLowQt)        fHistPtKPDG->Fill(track->Pt());  // ALL KAONS (pdg) inside ESD  kink sample
+        if(qT>fLowQt )    {
+      if(code1>0.)  fHiPtKPDGP->Fill(trackPt             ); // 26/feb  // ALL KAONS (pdg) inside ESD  kink sample
+      if(code1<0.)  fHiPtKPDGN->Fill(      trackPt       ); // 26/feb  // ALL KAONS (pdg) inside ESD  kink sample
                    }
             fHistEta->Fill(trackEta) ;  //   Eta distr of PDG kink ESD  kaons
             frapidESDK->Fill(rapiditK) ;  //18/feb rapiddistr of PDG kink ESD  kaons
-      if( qT > 0.120 )  fHistQt2->Fill(qT);  // PDG ESD kaons            
+      if( qT > fLowQt  )  fHistQt2->Fill(qT);  // PDG ESD kaons            
+           fRadiusPt->Fill( kink->GetR(), track->Pt()); //
      }
      }
 
@@ -1037,14 +1054,14 @@ for (Int_t iTrack = 0; iTrack < esd->GetNumberOfTracks(); iTrack++) {
          Double_t invariantMassKpi= TMath::Sqrt((energyDaughterPi+p3Daughter)*(energyDaughterPi+p3Daughter)-motherMfromKink.Mag()*motherMfromKink.Mag());
          Double_t invariantMassKK = TMath::Sqrt((energyDaughterKa+p3Daughter)*(energyDaughterKa+p3Daughter)-motherMfromKink.Mag()*motherMfromKink.Mag());
          fInvMassMuNuAll ->Fill(invariantMassKmu);
-           fRadiusPt->Fill( kink->GetR(), track->Pt()); //
+           //    20/4 testRadiusPt->Fill( kink->GetR(), track->Pt()); //
   
 
-               if (qT>0.120)     fSignPtNcl->Fill( signPt  ,   tpcNCl   );
+               if (qT> fLowQt )     fSignPtNcl->Fill( signPt  ,   tpcNCl   );
 
 //
     //  if((qT>0.12)&&((kink->GetR()>120.)&&(kink->GetR()<210.))&&(TMath::Abs(rapiditK )<0.7)) {
-    if((qT>0.12)&&((kink->GetR()> fKinkRadLow )&&(kink->GetR()< fKinkRadUp ))&&(TMath::Abs(rapiditK )<0.7)) {
+    if((qT> fLowQt )&&((kink->GetR()> fKinkRadLow )&&(kink->GetR()< fKinkRadUp ))&&(TMath::Abs(rapiditK )<0.7)) {
          fM1kaon->Fill(invariantMassKmu);
          fMinvPi->Fill(invariantMassKpi);
          fMinvKa->Fill(invariantMassKK);
@@ -1053,29 +1070,26 @@ for (Int_t iTrack = 0; iTrack < esd->GetNumberOfTracks(); iTrack++) {
 
 //
          //  if ( tpcNCl<30  ) continue;
-         if ( tpcNCl<20. ) continue;
+      //   test for systematics  , march 13   if ( tpcNCl<50. ) continue;
+            if ( tpcNCl<fLowCluster  ) continue;
+      //   if (  ( tpcNCl<20. )|| ( tpcNCl > 100.)  )  continue;//   test   , den edwse kati shmantiko
+
                              //if( ( ( track->GetTPCclusters(0) ) / (kink->GetR() ) ) > 0.63 ) continue;
       Double_t tpcNClHigh = -51.67+ (11./12.)  *( kink->GetR() ) ;
-               if ( tpcNCl > tpcNClHigh) continue;
+         if (tpcNCl >  tpcNClHigh  )   fcodeH->Fill(TMath::Abs(code1), TMath::Abs(dcode1));
+        if (  tpcNCl  >tpcNClHigh)   fZkinkZDau->Fill( vposKink[2],hVzdau              );
+           if (tpcNCl > tpcNClHigh) fRadiusPtFake->Fill( kink->GetR(), track->Pt()); //
 
      Double_t tpcNClMin  = -85.5 + (65./95.)  *( kink->GetR() ) ;
                // if ( tpcNClMin < tpcNCl ) continue;   
+               if ( tpcNCl > tpcNClHigh) continue;
                if ( tpcNCl < tpcNClMin ) continue;
-          //  20/7/2012   if( ( ( track->GetTPCclusters(0) ) / (kink->GetR() ) ) < 0.20 ) continue;
-
-//              if( ( ( track->GetTPCclusters(0))  /  ( kink->GetR() ))  > 0.63 ) continue;
-  //                     Int_t tpcNClMin  = -87. + (2./3.)  *( kink->GetR() ) ;
-               // if ( tpcNClMin < tpcNCl ) continue;   
-    //           if ( tpcNCl < tpcNClMin ) continue;
-
-//              if( ( ( track->GetTPCclusters(0))  /  ( kink->GetR() ))  < 0.20 ) continue; //   5feb
-       //  back , 20/1/2013             if (ratioCrossedRowsOverFindableClustersTPC< 0.5 )continue;// check for systematics 14/1/2013 
  //
 
 //  kaon selection from kinks
            
    //=====  8/2/13 if((kinkAngle>maxDecAngpimu)&&(qT>0.12)&&(qT<0.30)&&((kink->GetR()>120.)&&(kink->GetR()<210.))&&(TMath::Abs(rapiditK )<0.7)&&(invariantMassKmu<0.8)) {
-   if((kinkAngle>maxDecAngpimu)&&(qT>0.12)&&(qT<0.30)&&((kink->GetR()> fKinkRadLow )&&(kink->GetR()< fKinkRadUp ))&&(TMath::Abs(rapiditK )<0.7)&&(invariantMassKmu<0.8)) {
+   if((kinkAngle>maxDecAngpimu)&&(qT>fLowQt )&&(qT<0.30)&&((kink->GetR()> fKinkRadLow )&&(kink->GetR()< fKinkRadUp ))&&(TMath::Abs(rapiditK )<0.7)&&(invariantMassKmu<0.8)) {
 // 29092010     if((kinkAngle>maxDecAngpimu)&&(qT>0.120)&&(qT<0.25)&&((kink->GetR()>120.)&&(kink->GetR()<210.))&&(TMath::Abs(rapiditK )<0.7)&&(invariantMassKmu<0.6)) {
 //  if((kinkAngle>maxDecAngpimu)&&(qT>0.04)&&(qT<0.30)&&((kink->GetR()>133.)&&(kink->GetR()<179.))&&(TMath::Abs(rapiditK )<0.5)&&(invariantMassKmu<0.6)) {   
 
@@ -1089,7 +1103,8 @@ for (Int_t iTrack = 0; iTrack < esd->GetNumberOfTracks(); iTrack++) {
      //fTPCSgnlPa->Fill(track->P(),track->GetTPCsignal());
      fTPCSgnlPa->Fill(track->GetInnerParam()->GetP(),track->GetTPCsignal());
                 //    if( nsigma > 3.5 )      fcode2->Fill(TMath::Abs(code1), TMath::Abs(dcode1));
-        // test 25/2/13 NOdEdx test          if(nsigma  > 3.5) continue;  // 1/11/12
+                  if(nsigma  > 3.5) continue;  // 1/11/12
+      // test 16/2/13           if(nsigma  > 3.5) continue;  // 15/2/13
                //  if(nsigma  > 4.0) continue; // test 17/2/2011  4% or more ? bg? 
 //
    fTPCSgnlP->Fill(track->GetInnerParam()->GetP(), (track->GetTPCsignal()  ) ) ;
@@ -1219,8 +1234,8 @@ for (Int_t jTrack = 0; jTrack < esd->GetNumberOfTracks(); jTrack++) {
         if( code1>0.)     fKinKBGP  ->Fill(   trackPt          );   //all PID kink-kaon
         if( code1<0.)     fKinKBGN  ->Fill( trackPt          );   //all PID kink-kaonl
  fdcodeH->Fill( TMath::Abs(code1), TMath::Abs(dcode1));   // put it here,  22/10/2009
-         if (eSDfLabel1==eSDfLabeld)   fcodeH->Fill(TMath::Abs(code1), TMath::Abs(dcode1));
-         if (eSDfLabeld>nPrim     )   fZkinkZDau->Fill( vposKink[2],hVzdau              );
//        if (eSDfLabel1==eSDfLabeld)   fcodeH->Fill(TMath::Abs(code1), TMath::Abs(dcode1));
+   //      if (eSDfLabeld>nPrim     )   fZkinkZDau->Fill( vposKink[2],hVzdau              );
 
           }   // primary and all +BG    
 
index 7ce7efb5aecc22fbf2e07fa1f0424874c4582178..f32a4e2e494aa77c941da5b1a5e17a8bee3249a5 100644 (file)
@@ -44,6 +44,9 @@ class AliAnalysisKinkESDMC : public AliAnalysisTaskSE {
   void SetKinkRadius(Float_t lRadiusKLow, Float_t lRadiusKUp)  { fKinkRadLow=lRadiusKLow; fKinkRadUp=lRadiusKUp;}
 
   
+         void SetNClusterCut(Int_t lowCluster){fLowCluster=lowCluster;}
+  void SetQtCut(Float_t   lowQt){fLowQt=lowQt;}
+
  private:
    TH1F        *fHistPtESD; //!Pt spectrum of all ESD inside eta, Pt cuts
    TH1F        *fHistPt; //!Pt spectrum of all ESD tracks
@@ -145,6 +148,9 @@ class AliAnalysisKinkESDMC : public AliAnalysisTaskSE {
    TH1F        *fRatioCrossedRowsKink; //ratio  crossed rows  for kinks                                      
    TH2F        *fRadiusPt;//kinks,  Radius      vs Pt                                        
    TH2F        *fRadiusPtcln;//kinks,  Radius      vs Pt    for clean kaons                                  
+   TH2F        *fRadiusPtKaon;//kinks,  Radius      vs Pt    for clean kaons                                  
+   TH2F        *fRadiusPtPion;//kinks,  Radius      vs Pt    for clean kaons                                  
+   TH2F        *fRadiusPtFake;//kinks,  Radius      vs Pt    for clean kaons                                  
    TH1F        *fPtCut1; //K Pt  spectrum   of all kinks  from track bank, K0 bins
    TH1F        *fPtCut2; //K Pt  spectrum   of all kinks  from track bank, K0 bins
    TH1F        *fPtCut3; //K Pt  spectrum   of all kinks  from track bank, K0 bins
@@ -177,6 +183,9 @@ class AliAnalysisKinkESDMC : public AliAnalysisTaskSE {
 Int_t fUpMulcut;
 Int_t fKinkRadUp;
 Int_t fKinkRadLow;
+    Int_t fLowCluster;
+Float_t  fLowQt;
+
 AliESDtrackCuts*  fCutsMul;
 
      AliESDtrackCuts* fMaxDCAtoVtxCut;
index 11b8e0508aab45e1259279d47fc42688381be236..cf38bf7d48fe0013ff334e5eb8f47d820a33acb1 100644 (file)
@@ -61,7 +61,7 @@ AliAnalysisKinkESDat::AliAnalysisKinkESDat(const char *name)
        fRatioCrossedRows(0), fRatioCrossedRowsKink(0),fRadiusPt(0), fRadiusPtcln(0),  fInvMassMuNuPt(0), fPtCut1(0), fPtCut2(0), fPtCut3(0),
       fAngMomKKinks(0),
  f1(0), f2(0),
-      fListOfHistos(0),fLowMulcut(-1),fUpMulcut(-1), fKinkRadUp(200), fKinkRadLow(130), fCutsMul(0),  fMaxDCAtoVtxCut(0),  fPIDResponse(0)
+      fListOfHistos(0),fLowMulcut(-1),fUpMulcut(-1), fKinkRadUp(200), fKinkRadLow(130), fLowCluster(20), fLowQt(.12), fCutsMul(0),  fMaxDCAtoVtxCut(0),  fPIDResponse(0)
 {
   // Constructor
 
@@ -350,7 +350,7 @@ void AliAnalysisKinkESDat::UserExec(Option_t *)
   
      
  Int_t nESDTracK = 0;
- Int_t nESDTrKink = 0;
+// Int_t nESDTrKink = 0;
 
    Int_t nGoodTracks =  esd->GetNumberOfTracks();
     fESDMult->Fill(nGoodTracks);
@@ -358,7 +358,7 @@ void AliAnalysisKinkESDat::UserExec(Option_t *)
        Double_t nsigmall = 100.0;
        Double_t nsigma = 100.0;
        Double_t nsigmaPion =-100.0;
-       Double_t nsigmaDau  =-100.0;
+  //     Double_t nsigmaDau  =-100.0;
        Double_t dEdxKinkDau =0.0;
        Double_t KinkDauCl   =0.0;
 // apo Eftihi 
@@ -476,8 +476,6 @@ void AliAnalysisKinkESDat::UserExec(Option_t *)
 //          continue;   //    allagi  23Jul11
 
                     if (!fMaxDCAtoVtxCut->AcceptTrack(track)) continue;
-// Float_t MaxDCAxy =       fMaxDCAtoVtxCut->GetMaxDCAToVertexXYPtDep(track );
-   //       if (MaxDCAxy > 2.4 )  continue ; 
 
     fdcatoVxXY->Fill(dcaToVertexXYpos);
 //
@@ -526,7 +524,7 @@ void AliAnalysisKinkESDat::UserExec(Option_t *)
           Float_t qT=kink->GetQt();
             Float_t motherPt=motherMfromKink.Pt();
 // Kink  mother momentum 
-     Double_t trMomTPCKink=motherMfromKink.Mag();        
+//     Double_t trMomTPCKink=motherMfromKink.Mag();        
 // TPC mother momentun
      Double_t trMomTPC=track->GetTPCmomentum();      
   //     fTPCSgnlKinkDau->Fill( daughterMKink.Mag(), dEdxKinkDau  ) ;  //  daughter kink 
@@ -543,7 +541,7 @@ void AliAnalysisKinkESDat::UserExec(Option_t *)
 
                 fQtMothP->Fill( track->P(), qT);
 
-        if ( qT> 0.04)  fHistQt1  ->Fill(qT) ;  //  Qt   distr
+        if ( qT> fLowQt )  fHistQt1  ->Fill(qT) ;  //  Qt   distr
 
 
 
@@ -585,13 +583,14 @@ void AliAnalysisKinkESDat::UserExec(Option_t *)
        //if( ( kink->GetR()> 120 ) && ( kink->GetR() < 210 )  )  {
        if( ( kink->GetR()> fKinkRadLow ) && ( kink->GetR() <fKinkRadUp   )  )  {
     //  for systematics   if( ( kink->GetR()> 130 ) && ( kink->GetR() < 200 )  )  {
-      if (qT>0.12)  fAngMomKC->Fill(track->P(), kinkAngle); 
-          if ( qT>0.12) fM1kaon->Fill(invariantMassKmu);
-             if ( qT > 0.12
+      if (qT>fLowQt )  fAngMomKC->Fill(track->P(), kinkAngle); 
+          if ( qT> fLowQt ) fM1kaon->Fill(invariantMassKmu);
+             if ( qT > fLowQt
          fRadiusNcl->Fill( (kink->GetR()) ,(track->GetTPCclusters(0)  ) ) ;
   }    
 //  tails cleaning
-             if(  ( tpcNCl<20) ) continue;  // test 27 feb 2012 ,, OK
+               if(  ( tpcNCl<fLowCluster) ) continue;  // test 27 feb 2012 ,, OK
+          //  edw iatn !!!    if(  ( tpcNCl<50 ) ) continue;  // test 15 March  13,, OK
 // cleaning BG in tails
       Int_t tpcNClHigh = -51.67+ (11./12.)  *( kink->GetR() ) ;  
                if ( tpcNCl > tpcNClHigh) continue;   
@@ -604,7 +603,8 @@ void AliAnalysisKinkESDat::UserExec(Option_t *)
                fHistPtKPDG->Fill(track->Pt());  // ALL  K-candidates until now                 
     //  if((kinkAngle>maxDecAngpimu)&&(qT>0.12)&&(qT<0.30)&&((kink->GetR()>=120.)&&(kink->GetR()<=210.))&&(TMath::Abs(rapiditK)<0.7)&&(invariantMassKmu<0.6)){
      //if((kinkAngle>maxDecAngpimu)&&(qT>0.12)&&(qT<0.30)&&((kink->GetR()>=120.)&&(kink->GetR()<=210.))&&(TMath::Abs(rapiditK)<0.7)&&(invariantMassKmu<0.8)){
-     if((kinkAngle>maxDecAngpimu)&&(qT>0.12)&&(qT<0.30)&&((kink->GetR()>= fKinkRadLow )&&(kink->GetR()<= fKinkRadUp ))&&(TMath::Abs(rapiditK)<0.7)&&(invariantMassKmu<0.8)){
+     //if((kinkAngle>maxDecAngpimu)&&(qT>0.04)&&(qT<0.30)&&((kink->GetR()>= fKinkRadLow )&&(kink->GetR()<= fKinkRadUp ))&&(TMath::Abs(rapiditK)<0.7)&&(invariantMassKmu<0.8)){
+     if((kinkAngle>maxDecAngpimu)&&(qT>fLowQt)&&(qT<0.30)&&((kink->GetR()>= fKinkRadLow )&&(kink->GetR()<= fKinkRadUp ))&&(TMath::Abs(rapiditK)<0.7)&&(invariantMassKmu<0.8)){
   // systematics   if((kinkAngle>maxDecAngpimu)&&(qT>0.12)&&(qT<0.30)&&((kink->GetR()>=130.)&&(kink->GetR()<=200.))&&(TMath::Abs(rapiditK)<0.7)&&(invariantMassKmu<0.8)){
 //
         fAngMomKKinks->Fill(track->P(), kinkAngle); 
@@ -618,8 +618,7 @@ void AliAnalysisKinkESDat::UserExec(Option_t *)
            fTPCSgnlPa->Fill( track->GetInnerParam()->GetP() ,(track->GetTPCsignal()  ) ) ;
 //
             //  NO dEdx cut test 9/2/13               if ( nsigma               > 3.5) continue;
-                        if ( nsigma               > 3.5) continue;
-            // system               if ( nsigma               > 4.0) continue;   // gia systamatic error
+                     if ( nsigma               > 3.5) continue; 
 // 
 //  next plots for the identified kaons by the kink analysis
 
index addcfc683a38fce0fe8b86124cea482cabaecd65..99d7fe2ee04695c7dc03ce619c9d5a49df058363 100644 (file)
@@ -40,6 +40,8 @@ class AliAnalysisKinkESDat : public AliAnalysisTaskSE {
   void SetMulCut(Int_t low, Int_t up){fLowMulcut=low;fUpMulcut=up;}      
   void SetKinkRadius(Float_t lRadiusKLow, Float_t lRadiusKUp)  { fKinkRadLow=lRadiusKLow; fKinkRadUp=lRadiusKUp;}        
 
+  void SetNClusterCut(Int_t lowCluster){fLowCluster=lowCluster;}         
+  void SetQtCut(Float_t   lowQt){fLowQt=lowQt;}          
  private:
    TH1F        *fHistPtESD; //Pt spectrum of all ESD inside eta, Pt cuts
    TH1F        *fHistPt; //Pt spectrum of all ESD tracks
@@ -126,6 +128,8 @@ Int_t fLowMulcut;  //
 Int_t fUpMulcut;
 Int_t fKinkRadUp;
 Int_t fKinkRadLow;
+Int_t fLowCluster;
+Float_t  fLowQt;       
 AliESDtrackCuts* fCutsMul;
 AliESDtrackCuts* fMaxDCAtoVtxCut;  
 AliPIDResponse *fPIDResponse;     //! PID response object