moving convcorr files to gammaconv dir
authorslindal <slindal@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 23 Feb 2012 17:34:21 +0000 (17:34 +0000)
committerslindal <slindal@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 23 Feb 2012 17:34:21 +0000 (17:34 +0000)
20 files changed:
PWGGA/CMakelibPWGGAGammaConv.pkg
PWGGA/GammaConv/AliAnaConvCorrBase.cxx [moved from PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrBase.cxx with 77% similarity]
PWGGA/GammaConv/AliAnaConvCorrBase.h [moved from PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrBase.h with 82% similarity]
PWGGA/GammaConv/AliAnaConvCorrPhoton.cxx [moved from PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrPhoton.cxx with 77% similarity]
PWGGA/GammaConv/AliAnaConvCorrPhoton.h [moved from PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrPhoton.h with 100% similarity]
PWGGA/GammaConv/AliAnaConvCorrPion.cxx [moved from PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrPion.cxx with 58% similarity]
PWGGA/GammaConv/AliAnaConvCorrPion.h [new file with mode: 0644]
PWGGA/GammaConv/AliAnaConvIsolation.cxx [moved from PWGGA/GammaConv/ConvCorrelations/AliAnaConvIsolation.cxx with 100% similarity]
PWGGA/GammaConv/AliAnaConvIsolation.h [moved from PWGGA/GammaConv/ConvCorrelations/AliAnaConvIsolation.h with 100% similarity]
PWGGA/GammaConv/AliAnalysisTaskdPhi.cxx
PWGGA/GammaConv/AliAnalysisTaskdPhi.h
PWGGA/GammaConv/AliConversionTrackCuts.cxx [new file with mode: 0644]
PWGGA/GammaConv/AliConversionTrackCuts.h [moved from PWGGA/GammaConv/ConvCorrelations/AliConversionTrackCuts.h with 78% similarity]
PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrPhotonJet.cxx [deleted file]
PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrPhotonJet.h [deleted file]
PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrPion.h [deleted file]
PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrPionJet.cxx [deleted file]
PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrPionJet.h [deleted file]
PWGGA/GammaConv/ConvCorrelations/AliConversionTrackCuts.cxx [deleted file]
PWGGA/PWGGAGammaConvLinkDef.h

index af0efd0..ca89762 100644 (file)
@@ -39,16 +39,15 @@ set ( SRCS  GammaConv/AliV0Reader.cxx
     GammaConv/AliAODConversionMother.cxx
     GammaConv/AliKFConversionPhoton.cxx
     GammaConv/AliKFConversionMother.cxx
-    GammaConv/ConvCorrelations/AliAnaConvIsolation.cxx 
-    GammaConv/ConvCorrelations/AliAnaConvCorrBase.cxx 
-    GammaConv/ConvCorrelations/AliAnaConvCorrPion.cxx 
-    GammaConv/ConvCorrelations/AliAnaConvCorrPhoton.cxx 
-    GammaConv/ConvCorrelations/AliAnaConvCorrPhotonJet.cxx
-    GammaConv/ConvCorrelations/AliAnaConvCorrPionJet.cxx
-       GammaConv/ConvCorrelations/AliConversionTrackCuts.cxx
+    GammaConv/AliAnaConvIsolation.cxx 
+    GammaConv/AliAnaConvCorrBase.cxx 
+    GammaConv/AliAnaConvCorrPion.cxx 
+    GammaConv/AliAnaConvCorrPhoton.cxx 
        GammaConv/AliAnalysisTaskdPhi.cxx
        GammaConv/AliConversionCuts.cxx
+       GammaConv/AliConversionTrackCuts.cxx
        )
+
 string ( REPLACE ".cxx" ".h" HDRS "${SRCS}" )
 
 set ( DHDR  PWGGAGammaConvLinkDef.h)
@@ -23,7 +23,7 @@
 
 #include "TClonesArray.h"
 #include "TH1F.h"
-#include "TH3.h"
+#include "TH2F.h"
 #include "TList.h"
 #include "AliAODConversionParticle.h"
 
@@ -77,17 +77,18 @@ void AliAnaConvCorrBase::CreateHistograms() {
 ///________________________________________________________________________________
 void AliAnaConvCorrBase::SetUpDefaultBins() {
   //Set up default bins
-  Double_t ptbins[19] = {0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 5.0, 6.0, 8.0, 10.0, 12.5, 15, 20, 25, 30, 50, 100};
-  fAxisdEta.Set(30, -1.5, 1.5);
+  fAxisdEta.Set(40, -1.6, 1.6);
   fAxisdEta.SetNameTitle("dEta", "delta eta");
 
   fAxisdPhi.Set(32, -TMath::PiOver2(), 3*TMath::PiOver2());
   fAxisdPhi.SetNameTitle("dPhi", "delta Phi");
 
-  fAxistPt.Set(18, ptbins);
+  Double_t tptbins[14] = {3.0, 3.5, 4.0, 5.0, 6.0, 8.0, 10.0, 12.5, 15, 20, 25, 30, 50, 100};
+  fAxistPt.Set(13, tptbins);
   fAxistPt.SetNameTitle("tPt", "trigger Pt");
 
-  fAxiscPt.Set(18, ptbins);
+  Double_t cptbins[18] = {1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 5.0, 6.0, 8.0, 10.0, 12.5, 15, 20, 25, 30, 50, 100};
+  fAxiscPt.Set(17, cptbins);
   fAxiscPt.SetNameTitle("cPt", "track Pt");
 
   fAxisIso.Set(3, -0.5, 2.5);
@@ -99,10 +100,10 @@ void AliAnaConvCorrBase::SetUpDefaultBins() {
   fAxesList.AddAt(&fAxiscPt, 3);
   fAxesList.AddAt(&fAxisIso, 4);
 
-  fAxisMEEta.Set(160, -0.8, 0.8);
+  fAxisMEEta.Set(320, -0.8, 0.8);
   fAxisMEEta.SetNameTitle("eta", "eta");
   
-  fAxisMEPhi.Set(128, 0, TMath::TwoPi());
+  fAxisMEPhi.Set(256, 0, TMath::TwoPi());
   fAxisMEPhi.SetNameTitle("phi", "phi");
 
   fTrackAxisList.AddAt(&fAxisMEEta, 0);
@@ -116,9 +117,6 @@ void AliAnaConvCorrBase::SetUpDefaultBins() {
   fTrigAxisList.AddAt(&fAxistPt, 2);
   fTrigAxisList.AddAt(&fAxisIso, 3);
 
-  for(int iIso = 0; iIso < 3; iIso++) {
-    fHNTriggers[iIso] = NULL;
-  }
 }
 
 
@@ -132,14 +130,6 @@ void AliAnaConvCorrBase::CreateBaseHistograms() {
   fHistograms->SetOwner(kTRUE);
   fHistograms->SetName(fName);
 
-  for(int iIso = 0; iIso < 3; iIso++) {
-
-    fHNTriggers[iIso] = new TH1F(Form("%s_%d_fNTriggers", fName.Data(), iIso),
-                                                                Form("%s_%d_fNTriggers", fName.Data(), iIso),
-                                                                fAxistPt.GetNbins(), fAxistPt.GetXbins()->GetArray());
-    fHNTriggers[iIso]->Sumw2();
-    fHistograms->Add(fHNTriggers[iIso]);
-  }
 
   fCorrSparse = CreateSparse(GetName(), GetTitle(), &fAxesList);
   fHistograms->Add(fCorrSparse);
@@ -194,53 +184,12 @@ THnSparseF * AliAnaConvCorrBase::CreateSparse(TString nameString, TString titleS
 }
 
 
-///____________________________________________________________________________
-// void AliAnaConvCorrBase::FillTriggerCounters(Float_t tPt, Bool_t isolated){ 
-//   //Fill histogram with trigger counters
-
-//   fHNTriggers[0]->Fill(tPt);
-  
-//   if(isolated) {
-//     fHNTriggers[isolated]->Fill(tPt);
-    
-//   }
-// }
-
-// ///_____________________________________________________________________________
-// void AliAnaConvCorrBase::FillHistograms(Float_t tPt, Float_t cPt, Float_t dPhi, Float_t dEta, Bool_t isolated) {
-//   //Fill histograms
-
-//   if(dEta) { ;}
-//   //fHdPhi[0]->Fill(tPt, cPt, dPhi);
-//   if(isolated) {
-//     //fHdPhi[isolated]->Fill(tPt, cPt, dPhi);
-//   }
-// }
-
-//_______________________________________________________________________________
-
-void AliAnaConvCorrBase::PrintStatistics()  { 
-  //Print some statistics between each file
-  for(Int_t i = 1; i <= fHNTriggers[0]->GetNbinsX(); i++) {
-    Int_t nTrig = (Int_t) fHNTriggers[0]->GetBinContent(i+1);
-    cout << "triggers: " << nTrig << endl;
-
-  }
-}
-
-
-//_______________________________________________________________________________
-void AliAnaConvCorrBase::FillTriggerCounters(const AliAODConversionParticle * particle, Int_t leading) {
-  fHNTriggers[leading]->Fill(particle->Pt());
-}
-
 
 //________________________________________________________________
 void AliAnaConvCorrBase::CorrelateWithTracks(AliAODConversionParticle * particle, TObjArray * tracks, Int_t const tIDs[4], Int_t isolated = 0) {
   //Correlate particle with tracks
 
 
-  FillTriggerCounters(particle, isolated);
 
   Int_t nDim = fAxesList.GetSize();
   Double_t dphivalues[nDim];
@@ -251,14 +200,15 @@ void AliAnaConvCorrBase::CorrelateWithTracks(AliAODConversionParticle * particle
   trigValues[1] = particle->Phi();
   trigValues[2] = particle->Pt();
   trigValues[3] = isolated;
-  
-  fTrigSparse->Fill(trigValues);
 
   if(nDim > 4) {
        dphivalues[5] = particle->M();
        trackValues[5] = particle->M();
        trigValues[4] = particle->M();
   }
+  
+  fTrigSparse->Fill(trigValues);
+
 
   for(int ij = 0; ij < tracks->GetEntriesFast(); ij++) {
        AliVTrack * track = static_cast<AliVTrack*>(tracks->UncheckedAt(ij));
similarity index 82%
rename from PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrBase.h
rename to PWGGA/GammaConv/AliAnaConvCorrBase.h
index 9b7e242..d3620ba 100644 (file)
@@ -33,15 +33,6 @@ public:
   AliAnaConvCorrBase(TString name, TString title); \r
   virtual ~AliAnaConvCorrBase();\r
   \r
-  //Set and get min pt for triggers\r
-  // void SetTriggerPt(Float_t pt) { fTriggerPt = pt; }\r
-  // inline Float_t GetTriggerPt() const {return fTriggerPt; }\r
-\r
-\r
-  // //Set and get min pt for correlation particles\r
-  // void SetCorrelatedPt(Float_t pt) { fCorrelatedPt = pt; }\r
-  // inline Float_t GetCorrelatedPt() const {return fCorrelatedPt; }\r
-\r
   //CreateHistograms\r
   void CreateBaseHistograms();\r
   //To be overrriden by children. Should always call CreateBaseHistograms()\r
@@ -61,10 +52,8 @@ public:
     else return ( (dPhi>0)? dPhi - TMath::TwoPi() : dPhi + TMath::TwoPi() ); \r
   }\r
 \r
-  void PrintStatistics();\r
 \r
   void CorrelateWithTracks(AliAODConversionParticle * particle, TObjArray * tracks, const Int_t tIDs[4], Int_t isolated);\r
-  virtual void FillTriggerCounters(const AliAODConversionParticle * particle, Int_t leading);\r
 \r
   TAxis& GetAxistPt()       { return fAxistPt;   }\r
   TAxis& GetAxiscPt()       { return fAxiscPt;   }\r
@@ -87,7 +76,6 @@ protected:
   //Fill trigger counter histograms\r
   //virtual void FillTriggerCounters(Float_t tPt, Bool_t isolated) = NULL;\r
   THnSparseF * CreateSparse(TString name, TString title, TList * axes);\r
-  TH1F * fHNTriggers[3]; //Histograms containing number of triggers in various bins\r
 \r
 private:\r
 \r
@@ -117,7 +105,7 @@ private:
   AliAnaConvCorrBase(const AliAnaConvCorrBase&); // not implemented\r
   AliAnaConvCorrBase& operator=(const AliAnaConvCorrBase&); // not implemented\r
 \r
-  ClassDef(AliAnaConvCorrBase, 5); // example of analysis\r
+  ClassDef(AliAnaConvCorrBase, 6); // example of analysis\r
 \r
 };\r
 \r
@@ -52,17 +52,3 @@ AliAnaConvCorrPhoton::~AliAnaConvCorrPhoton() {
   //destructor
 }
 
-// //________________________________________________________________________________
-// void AliAnaConvCorrPhoton::Process(const TClonesArray * photons, const TClonesArray * tracks, Bool_t isolated = kFALSE) {
-//   //Process list of photons and correlate w tracks
-//   for(Int_t ig = 0; ig < photons->GetEntriesFast(); ig++) {
-
-//     AliAODConversionParticle * photon = static_cast<AliAODConversionParticle*>(photons->UncheckedAt(ig));
-
-//     Int_t tIDs[4] = {-1, -1, -1, -1};
-//     tIDs[0] =  photon->GetLabel(0);
-//     tIDs[1] =  photon->GetLabel(1);
-//     CorrelateWithTracks(photon, tracks, tIDs, isolated);
-               
-//   }
-// }
 
 
 
-#include "TH2D.h"
+#include "TH2F.h"
 #include "AliAnaConvCorrPion.h"
-//#include "AliAODTrack.h"
-#include "TClonesArray.h"
 #include "AliAODConversionParticle.h"
-//#include "AliAODConversionMother.h"
-//#include "AliAODConversionPhoton.h"
-//#include "THnSparse.h"
-//#include "TH2F.h"
-
 #include <iostream>
 
 
@@ -38,7 +31,6 @@ ClassImp(AliAnaConvCorrPion)
 //________________________________________________________________________________
 AliAnaConvCorrPion::AliAnaConvCorrPion() :
 AliAnaConvCorrBase("pion_hadron_corr", "Pion dPhi"),
-//hTriggerPtvsMass(NULL),
   fAxisM()
 {
   //consctructor
@@ -47,7 +39,6 @@ AliAnaConvCorrBase("pion_hadron_corr", "Pion dPhi"),
 //________________________________________________________________________________
 AliAnaConvCorrPion::AliAnaConvCorrPion(TString name, TString title = "Pion Corr") :
   AliAnaConvCorrBase(name, title),
-  //hTriggerPtvsMass(NULL),
   fAxisM()
 {
   //consctructor
@@ -76,39 +67,20 @@ void AliAnaConvCorrPion::InitMassAxis() {
 void AliAnaConvCorrPion::CreateHistograms() {
   //Create histograms
   CreateBaseHistograms();
-  hTriggerPtvsMass[0] = new TH2D("hTriggerPtvsMass_all", "Pt vs Mass all pizero", 400, 0, .400, GetAxistPt().GetNbins(), GetAxistPt().GetXbins()->GetArray());
-  hTriggerPtvsMass[1] = new TH2D("hTriggerPtvsMass_leadingcone", "Pt vs Mass leading cone", 400, 0, .400, GetAxistPt().GetNbins(), GetAxistPt().GetXbins()->GetArray());
-  hTriggerPtvsMass[2] = new TH2D("hTriggerPtvsMass_leadingevent", "Pt vs Mass leading event", 400, 0, .400, GetAxistPt().GetNbins(), GetAxistPt().GetXbins()->GetArray());
-  GetHistograms()->Add(hTriggerPtvsMass[0]);
-  GetHistograms()->Add(hTriggerPtvsMass[1]);
-  GetHistograms()->Add(hTriggerPtvsMass[2]);
+
+  for(Int_t i = 0; i < 3; i++) {
+       TH2F * hpthist = new TH2F(Form("%s_iso_%d_ptVsmass", fName.Data(), i), 
+                                                         Form("%s_iso_%d_ptVsmass", fName.Data(), i), 
+                                                         400, 0, .400,
+                                                         GetAxistPt().GetNbins(), GetAxistPt().GetXbins()->GetArray());
+       GetHistograms()->Add(hpthist);
+  }
 }
 
 
 ///________________________________________________________________________________
-void AliAnaConvCorrPion::FillTriggerCounters(const AliAODConversionParticle * particle, Int_t leading) {
+void AliAnaConvCorrPion::FillTriggerCounters(const AliAODConversionParticle * particle, Int_t isolated) {
   //Fill histograms counting triggers
-  fHNTriggers[leading]->Fill(particle->Pt());
-  hTriggerPtvsMass[leading]->Fill(particle->M(), particle->Pt());
+  TH2F *hpt = dynamic_cast<TH2F*>(GetHistograms()->FindObject(Form("%s_iso_%d_ptVsmass", fName.Data(), isolated)));
+  if(hpt) hpt->Fill(particle->M(), particle->Pt());
 }
-
-//________________________________________________________________________________
-// void AliAnaConvCorrPion::Process(TClonesArray * pions, TClonesArray * photons, TClonesArray * tracks) {
-
-//   for(Int_t ip = 0; ip < pions->GetEntriesFast(); ip++) {
-
-//     AliAODConversionParticle * pion = static_cast<AliAODConversionParticle*>(pions->UncheckedAt(ip));
-       
-//     Int_t tIDs[4] = {-1, -1, -1, -1};
-//     AliAODConversionParticle * photon1 = static_cast<AliAODConversionParticle*>(photons->UncheckedAt(pion->GetLabel(0)));
-//     tIDs[0] =  photon1->GetLabel(0);
-//     tIDs[1] =  photon1->GetLabel(1);
-//     AliAODConversionParticle * photon2 = static_cast<AliAODConversionParticle*>(photons->UncheckedAt(pion->GetLabel(1)));
-//     tIDs[2] =  photon2->GetLabel(0);
-//     tIDs[3] =  photon2->GetLabel(1);
-       
-//     CorrelateWithTracks(static_cast<AliAODConversionParticle*>(pion), tracks, tIDs, kFALSE);
-//   }
-// }
-
diff --git a/PWGGA/GammaConv/AliAnaConvCorrPion.h b/PWGGA/GammaConv/AliAnaConvCorrPion.h
new file mode 100644 (file)
index 0000000..c803dfe
--- /dev/null
@@ -0,0 +1,46 @@
+/* This file is property of and copyright                                 *\r
+ * ALICE Experiment at CERN, All rights reserved.                         *\r
+ * See cxx source for full Copyright notice                               */\r
+\r
+/// @file   AliAnaConvCorrPion.h\r
+/// @author Svein Lindal\r
+/// @brief  Class used to find correlations between pions and charged tracks\r
+\r
+\r
+#ifndef ALIANACONVCORRPION_H\r
+#define ALIANACONVCORRPION_H\r
+\r
+#include "AliAnaConvCorrBase.h"\r
+class TH2D;\r
+//#include "THnSparse.h"\r
+\r
+//class AliAODConversionPhoton;\r
+class TClonesArray;\r
+\r
+class AliAnaConvCorrPion : public AliAnaConvCorrBase {\r
+\r
+public:\r
+\r
+  AliAnaConvCorrPion(); \r
+  AliAnaConvCorrPion(TString name, TString title);\r
+  virtual ~AliAnaConvCorrPion();\r
+\r
+  TAxis& GetAxisM() { return fAxisM; }\r
+\r
+void CreateHistograms();\r
+\r
+  void FillTriggerCounters(const AliAODConversionParticle * particle, Int_t isolated);\r
+  \r
+ private:\r
+\r
+  void InitMassAxis();\r
+\r
+  TAxis fAxisM;  //Mass axis\r
+\r
+  AliAnaConvCorrPion(const AliAnaConvCorrPion&); // not implemented\r
+  AliAnaConvCorrPion& operator=(const AliAnaConvCorrPion&); // not implemented\r
+  ClassDef(AliAnaConvCorrPion, 3); //\r
+\r
+};\r
+\r
+#endif\r
index 60e2ae5..0d8b98b 100644 (file)
@@ -52,7 +52,7 @@ AliAnalysisTaskdPhi::AliAnalysisTaskdPhi(const char *name) : AliAnalysisTaskSE(n
   fHistoGamma(NULL),
   fHistoPion(NULL),
   fV0Filter(NULL),
-  fTrackCuts(),
+  fTrackCuts(NULL),
   fGammas(NULL),
   fPions(NULL),
   hMETracks(NULL), 
@@ -62,8 +62,6 @@ AliAnalysisTaskdPhi::AliAnalysisTaskdPhi(const char *name) : AliAnalysisTaskSE(n
   fPhotonCorr(NULL),
   fPionCorr(NULL), 
   fIsoAna(NULL),
-  fL1(-1),
-  fL2(-1),
   fDeltaAODBranchName("AliAODGammaConversion_gamma"), 
   fAxistPt(),
   fAxiscPt(),
@@ -88,8 +86,8 @@ AliAnalysisTaskdPhi::AliAnalysisTaskdPhi(const char *name) : AliAnalysisTaskSE(n
 
   fAxisZ.SetNameTitle("ZAxis", "Z");
   fAxisZ.Set(4, -10, 10);
-  fAxisCent.SetNameTitle("CentAxis", "Cent");
 
+  fAxisCent.SetNameTitle("CentAxis", "Cent");
   Double_t centbins[5] = {0, 10, 30, 60, 100.1};
   fAxisCent.Set(4, centbins);
 
@@ -102,13 +100,10 @@ AliAnalysisTaskdPhi::AliAnalysisTaskdPhi(const char *name) : AliAnalysisTaskSE(n
 
   fPions = new TObjArray();
   fPions->SetOwner(kFALSE);
-  
-  fTrackCuts.SetDefaults2010();
-  fTrackCuts.Print();
 
   // Define input and output slots here
   DefineInput(0, TChain::Class());
-  //DefineInput(1, TClonesArray::Class());
+  DefineInput(1, TClonesArray::Class());
   DefineOutput(1, TList::Class());
   DefineOutput(2, TList::Class());
   DefineOutput(3, TList::Class());
@@ -139,7 +134,7 @@ AliAnalysisTaskdPhi::~AliAnalysisTaskdPhi(){
        delete fHistograms;
   fHistograms = NULL;
 
-if(fHistoPion)
+  if(fHistoPion)
        delete fHistoPion;
   fHistoPion = NULL;
 
@@ -238,7 +233,8 @@ void AliAnalysisTaskdPhi::UserCreateOutputObjects() {
   }
   
 
-  fHistograms->Add(fTrackCuts.CreateHistograms());
+  AliConversionTrackCuts * tc = dynamic_cast<AliConversionTrackCuts*>(fTrackCuts);
+  if(tc) fHistograms->Add(tc->CreateHistograms());
 
   SetUpCorrObjects();
 
@@ -249,19 +245,6 @@ void AliAnalysisTaskdPhi::UserCreateOutputObjects() {
   MEHistograms->SetOwner(kTRUE);
   fHistograms->Add(MEHistograms);
 
-  hMETracks = new TObjArray();
-  hMETracks->SetName("TrackArray");
-  hMETracks->SetOwner(kTRUE);
-  hMEPhotons = new TObjArray();
-  hMEPhotons->SetName("PhotonArray");
-  hMEPhotons->SetOwner(kTRUE);
-  hMEPions = new TObjArray();
-  hMEPions->SetName("PionArray");
-  hMEPions->SetOwner(kTRUE);
-
-  MEHistograms->Add(hMETracks);
-  MEHistograms->Add(hMEPions);
-  MEHistograms->Add(hMEPhotons);
 
   hMEvents = new TH2I("hMEvents", "Nevents vs centrality vertexz",
                                          fAxisZ.GetNbins(), fAxisZ.GetBinLowEdge(1), fAxisZ.GetBinUpEdge(fAxisZ.GetNbins()),
@@ -269,63 +252,10 @@ void AliAnalysisTaskdPhi::UserCreateOutputObjects() {
   hMEvents->GetYaxis()->Set(fAxisCent.GetNbins(), fAxisCent.GetXbins()->GetArray());
   MEHistograms->Add(hMEvents);
 
-
-  TList axesList;
-  axesList.AddAt(&GetAxisEta(), 0);
-  axesList.AddAt(&GetAxisPhi(), 1);
-  axesList.AddAt(&GetAxistPt(), 2);
-  axesList.SetOwner(kFALSE);
-  
-  TList piAxesList;
-  piAxesList.AddAt(&GetAxisEta(), 0);
-  piAxesList.AddAt(&GetAxisPhi(), 1);
-  piAxesList.AddAt(&GetAxistPt(), 2);
-  piAxesList.AddAt(&GetAxisPiMass(), 3);
-  piAxesList.SetOwner(kFALSE);
-
-
   TList * outAxesList = new TList();
   outAxesList->Add(&fAxisCent);
   outAxesList->Add(&fAxisZ);
-  fHistograms->Add(outAxesList);
-
-  // for(Int_t iz = 0; iz < fAxisZ.GetNbins(); iz++) {
-  //   TObjArray * trackArray = new TObjArray();
-  //   trackArray->SetName(Form("METracks_%d", iz));
-  //   trackArray->SetOwner(kTRUE);
-  //   TObjArray * photonArray = new TObjArray();
-  //   photonArray->SetName(Form("MEPhotons_%d", iz));
-  //   photonArray->SetOwner(kTRUE);
-  //   TObjArray * pionArray = new TObjArray();
-  //   pionArray->SetName(Form("MEPions_%d", iz));
-  //   pionArray->SetOwner(kTRUE);
-
-
-  //   hMEPions->AddAt(pionArray, iz);
-  //   hMETracks->AddAt(trackArray, iz);
-  //   hMEPhotons->AddAt(photonArray, iz);
-
-  //   for(Int_t ic = 0; ic < fAxisCent.GetNbins(); ic++) {
-
-  //     TString nameString = Form("%d_%d", iz, ic);
-  //     TString titleString = Form("%f < Z < %f ... %f cent %f", 
-  //                                                            fAxisZ.GetBinLowEdge(iz+1), fAxisZ.GetBinUpEdge(iz+1), 
-  //                                                            fAxisCent.GetBinLowEdge(ic+1), fAxisCent.GetBinUpEdge(ic+1));
-
-
-  //     THnSparseF * trackHistogram = CreateSparse(Form("tracks_%s", nameString.Data()), 
-  //                                                                                            Form("tracks %s", titleString.Data()), &axesList );
-  //     trackArray->AddAt(trackHistogram, ic);
-
-  //     THnSparseF * photonHistogram = CreateSparse(Form("photons_%s", nameString.Data()), 
-  //                                                                                            Form("photons %s", titleString.Data()), &axesList );
-  //     photonArray->AddAt(photonHistogram, ic);
-
-  //     THnSparseF * pionHistogram = CreateSparse(Form("pions_%s", nameString.Data()), 
-  //                                                                                            Form("pions %s", titleString.Data()), &piAxesList );
-  //     pionArray->AddAt(pionHistogram, ic);
-  //   }
-  // }
+  MEHistograms->Add(outAxesList);
 
   PostData(1, fHistograms);
   PostData(2, fHistoGamma);
@@ -412,21 +342,25 @@ void AliAnalysisTaskdPhi::UserExec(Option_t *) {
        centrality = header->GetCentrality();
        eventPlane = header->GetEventplane();
   } else {
-       centrality = static_cast<AliESDEvent*>(fInputEvent)->GetCentrality()->GetCentralityPercentile("kV0M");
+       centrality = static_cast<AliESDEvent*>(fInputEvent)->GetCentrality()->GetCentralityPercentile("V0M");
        eventPlane = fInputEvent->GetEventplane()->GetEventplane("Q");
   }
 
+
+  const Int_t centBin = GetBin(fAxisCent, centrality);
+  const Int_t vertexBin = GetBin(fAxisZ, vertexz);
+
+
   if(DebugLevel () > 4) {
        cout << "centrality: " << centrality <<  " " << GetBin(fAxisCent, centrality) << endl;
        cout << "vertexz: " << vertexz <<  " " << GetBin(fAxisZ, vertexz) << endl;
        cout << "eventPlane: " << eventPlane <<  " " << endl;
   }
 
-  const Int_t centBin = GetBin(fAxisCent, centrality);
-  const Int_t vertexBin = GetBin(fAxisZ, vertexz);
 
   if(centBin < 0 || vertexBin < 0) {
        AliError("bin out of range");
+//     cout << "bad bin"<<endl;
        return;
   }
 
@@ -439,17 +373,6 @@ void AliAnalysisTaskdPhi::UserExec(Option_t *) {
        return;
   }
 
-  if(aodGammas->GetEntriesFast() > 0) {
-       if( static_cast<AliAODConversionParticle*>(aodGammas->At(0))->GetLabel(0) == fL1 && 
-               static_cast<AliAODConversionParticle*>(aodGammas->At(0))->GetLabel(1) == fL2 
-               ) {
-         return;
-       }
-       fL1 = static_cast<AliAODConversionParticle*>(aodGammas->At(0))->GetLabel(0);
-       fL2 = static_cast<AliAODConversionParticle*>(aodGammas->At(0))->GetLabel(1);
-       //cout << aodGammas->GetEntriesFast() << " " << fInputEvent->GetNumberOfTracks() << "c" << endl;
-  }
-
   if(DebugLevel() > 1) printf("Number of conversion gammas %d \n", aodGammas->GetEntriesFast());
   for(Int_t ig = 0; ig < aodGammas->GetEntriesFast(); ig++) {
     AliAODConversionPhoton * photon = dynamic_cast<AliAODConversionPhoton*>(aodGammas->At(ig));
@@ -461,19 +384,21 @@ void AliAnalysisTaskdPhi::UserExec(Option_t *) {
   }
   
   if(DebugLevel() > 4) printf("Number of accepted gammas %d \n", fGammas->GetEntriesFast());
-
-  // THnSparseF * trackMehist = GetMEHistogram(vertexBin, centBin, hMETracks); 
-  // hMEvents->Fill(vertexz, centrality);
+  hMEvents->Fill(vertexz, centrality);
+  
   
-  ///Add tracks to array
+  
+  ///create track array
   TObjArray tracks;
+  const Double_t etalim[2] = { fAxisEta.GetBinLowEdge(1), fAxisEta.GetBinUpEdge(fAxisEta.GetNbins())};
   for(Int_t iTrack = 0; iTrack < fInputEvent->GetNumberOfTracks(); iTrack++) {
 
        AliVTrack * track = static_cast<AliVTrack*>(fInputEvent->GetTrack(iTrack));
-       //if(track->Pt() < 0.5) continue;
-       //if(TMath::Abs(track->Eta()) > 0.8) continue;
-       //if(track->GetTPCNcls() > 70)continue;
-       if(fTrackCuts.AcceptTrack(static_cast<AliAODTrack*>(track), static_cast<AliAODEvent*>(fInputEvent))) {
+       if(track->Pt() < fAxiscPt.GetBinLowEdge(1) ) continue;
+       if(track->Eta() < etalim[0] || track->Eta() > etalim[1]) continue;
+
+       
+       if(!fTrackCuts || fTrackCuts->IsSelected((track))) {
          tracks.Add(track);
        }
   }
@@ -491,10 +416,10 @@ void AliAnalysisTaskdPhi::UserExec(Option_t *) {
 void AliAnalysisTaskdPhi::Process(TObjArray * gammas, TObjArray * tracks, Int_t vertexBin, Int_t centBin) {
   ///Process stuff
 
-  if(DebugLevel() > 4) printf("Number of accepted tracks %d \n", tracks->GetEntriesFast());
+  if(DebugLevel() > 4) printf("Number of accepted gammas, tracks %d  %d \n", gammas->GetEntriesFast(), tracks->GetEntriesFast());
  
   AliAnaConvCorrBase * gCorr = GetCorrObject(vertexBin, centBin, fPhotonCorr);
-  AliAnaConvCorrBase * piCorr = GetCorrObject(vertexBin, centBin, fPionCorr);
+  AliAnaConvCorrPion * piCorr = dynamic_cast<AliAnaConvCorrPion*>(GetCorrObject(vertexBin, centBin, fPionCorr));
   
   if(!gCorr || !piCorr) {
        AliError("corr object missing");
@@ -522,11 +447,12 @@ void AliAnalysisTaskdPhi::Process(TObjArray * gammas, TObjArray * tracks, Int_t
          AliAODConversionMother * pion = new AliAODConversionMother(ph1, ph2);
          pion->SetLabels(i1, i2);
          
+         
          if(!fV0Filter || fV0Filter->MesonIsSelected(pion, kTRUE) ) {
-               
-
+       
                Int_t leadingpi = fIsoAna->IsLeading(static_cast<AliAODConversionParticle*>(pion), tracks, tIDs);
                piCorr->FillTriggerCounters(pion, leadingpi);
+               
                tIDs[2] = ph2->GetLabel(0);
                tIDs[3] = ph2->GetLabel(1);
                if(pion->Pt() > fAxistPt.GetBinLowEdge(1) && 
@@ -539,6 +465,7 @@ void AliAnalysisTaskdPhi::Process(TObjArray * gammas, TObjArray * tracks, Int_t
   }
 }
 
+
 //________________________________________________________________________
 void AliAnalysisTaskdPhi::Terminate(Option_t *) {
  
index 6077e62..0ed5d67 100644 (file)
@@ -17,9 +17,9 @@
 #include <iostream>
 #include <AliAnaConvCorrBase.h>
 #include <AliLog.h>
+#include <AliAnalysisCuts.h>
 class AliAnaConvIsolation;
 class AliConversionCuts;
-#include "AliConversionTrackCuts.h"
 class TList;
 class TH2I;
 //class THnSparseF;
@@ -37,7 +37,6 @@ public:
   virtual void   UserExec(Option_t *option);
   virtual void   Terminate(Option_t *);
 
-
   TAxis& GetAxistPt()   { return fAxistPt;   }
   TAxis& GetAxiscPt()   { return fAxiscPt;   }
   TAxis& GetAxisEta()  { return fAxisEta;  }
@@ -46,16 +45,11 @@ public:
   TAxis& GetAxisCent() { return fAxisCent; }
   TAxis& GetAxisPiMass() { return fAxisPiM; }
 
-  // void SetDielV0Filter(AliAnalysisFilter * filter) { fVDielV0Filter = filter; }
-  // void SetDielPi0Filter(AliAnalysisFilter * filter) { fDielPi0Filter = filter; }
-  // void SetDielV0TrackFilter(AliAnalysisFilter * filter) { fVDielV0TrackFilter = filter; }
-  // void SetDielTrackFilter(AliAnalysisFilter * filter) { fTDielrackFilter = filter; }
 
   void SetV0Filter(AliConversionCuts * filter) { fV0Filter = filter; }
-  //void SetPi0Filter(AliConversionPi0Filter * filter) { fPionFilter = filter; }
-  
+  AliAnalysisCuts * GetTrackCuts() const { return fTrackCuts; }
+  void SetTrackCuts( AliAnalysisCuts * cuts) { if (fTrackCuts) delete fTrackCuts; fTrackCuts = cuts; }
   
-  //enum kAxes { kVertexZ, kCentrality, kEta, kPhi, kPt };
   
 protected:
   
@@ -74,9 +68,8 @@ private:
   TList * fHistoGamma; //gamma histo
   TList * fHistoPion; //pion histo
 
-
   AliConversionCuts * fV0Filter; //v0 filter
-  AliConversionTrackCuts fTrackCuts;
+  AliAnalysisCuts * fTrackCuts;
 
   TObjArray * fGammas; //gammas
   TObjArray * fPions; //poins
@@ -90,8 +83,6 @@ private:
   TObjArray * fPionCorr; //poin
   AliAnaConvIsolation * fIsoAna; //comment
 
-  Int_t fL1; //comment
-  Int_t fL2; //comment
 
   TString fDeltaAODBranchName; //comment
 
@@ -106,7 +97,7 @@ private:
   AliAnalysisTaskdPhi(const AliAnalysisTaskdPhi&); // not implemented
   AliAnalysisTaskdPhi& operator=(const AliAnalysisTaskdPhi&); // not implemented
   
-  ClassDef(AliAnalysisTaskdPhi, 2); // example of analysis
+  ClassDef(AliAnalysisTaskdPhi, 3); // example of analysis
 };
 
 inline THnSparseF * AliAnalysisTaskdPhi::GetMEHistogram(Int_t binz, Int_t binc, TObjArray * array) {
diff --git a/PWGGA/GammaConv/AliConversionTrackCuts.cxx b/PWGGA/GammaConv/AliConversionTrackCuts.cxx
new file mode 100644 (file)
index 0000000..8dfe459
--- /dev/null
@@ -0,0 +1,262 @@
+/**************************************************************************
+ * This file is property of and copyright by the ALICE HLT Project        *
+ * ALICE Experiment at CERN, All rights reserved.                         *
+ *                                                                        *
+ * Primary Author: Svein Lindal <slindal@fys.uio.no>                      *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+/// @file   AliConversionTrackCuts.cxx
+/// @author Svein Lindal
+/// @brief  Base class for aod track cuts. An adapted copy of Alirsntrackcuts
+
+
+#include "AliConversionTrackCuts.h"
+//#include "AliAODTrack.h"
+#include "AliAODEvent.h"
+#include <TFormula.h>
+#include <iostream>
+#include "TH2F.h"
+
+
+using namespace std;
+ClassImp(AliConversionTrackCuts)
+
+
+const char* AliConversionTrackCuts::fgkCutNames[AliConversionTrackCuts::kNCuts] = {
+  "nClusTPC", 
+  "FoundFindable", 
+  "Chi2PerNDF", 
+  "Kink", 
+  "DCA_Z", 
+  "DCA_XY", 
+  "TPCRefit"
+  "kAccTracks"
+};
+
+
+
+//________________________________________________________________________
+AliConversionTrackCuts::AliConversionTrackCuts() : 
+  AliAnalysisCuts(),
+  fFlagsOn(0x0),
+  fFlagsOff(0x0),
+  fRejectKinkDaughters(kTRUE),
+  fDCARfixed(kTRUE),
+  fDCARptFormula(""),
+  fDCARmax(1E20),
+  fDCAZfixed(kTRUE),
+  fDCAZptFormula(""),
+  fDCAZmax(1E20),
+  fDCAXYmax(1E20),
+  fSPDminNClusters(0),
+  fITSminNClusters(0),
+  fITSmaxChi2(1E20),
+  fTPCminNClusters(0),
+  fTPCClusOverFindable(0.0),
+  fTPCmaxChi2(1E20),
+  fAODTestFilterBit(-1),
+  fRequireTPCRefit(kFALSE),
+  fhPhi(NULL),
+  fhPt(NULL),
+  fhPhiPt(NULL),
+  fhdcaxyPt(NULL),
+  fhdcazPt(NULL), 
+  fhnclpt(NULL),
+  fhnclsfpt(NULL),
+  fHistograms(NULL)
+{
+  //Constructor
+}
+//________________________________________________________________________
+AliConversionTrackCuts::AliConversionTrackCuts(TString name, TString title = "title") : 
+  AliAnalysisCuts(name, title),
+  fFlagsOn(0x0),
+  fFlagsOff(0x0),
+  fRejectKinkDaughters(kTRUE),
+  fDCARfixed(kTRUE),
+  fDCARptFormula(""),
+  fDCARmax(1E20),
+  fDCAZfixed(kTRUE),
+  fDCAZptFormula(""),
+  fDCAZmax(1E20),
+  fDCAXYmax(1E20),
+  fSPDminNClusters(0),
+  fITSminNClusters(0),
+  fITSmaxChi2(1E20),
+  fTPCminNClusters(0),
+  fTPCClusOverFindable(0.0),
+  fTPCmaxChi2(1E20),
+  fAODTestFilterBit(-1),
+  fRequireTPCRefit(kFALSE),
+  fhPhi(NULL),  
+  fhPt(NULL),
+  fhPhiPt(NULL),
+  fhdcaxyPt(NULL),
+  fhdcazPt(NULL), 
+  fhnclpt(NULL),
+  fhnclsfpt(NULL),
+  fHistograms(NULL)
+{
+  //Constructor
+}
+
+
+//________________________________________________________________________________
+ AliConversionTrackCuts::~AliConversionTrackCuts() {
+   ///destructor
+   // if(fHistograms)
+   //   delete fHistograms;
+   // fHistograms = NULL;
+
+}
+
+TList * AliConversionTrackCuts::CreateHistograms() {
+  //Create the histograms
+  if(!fHistograms) fHistograms = new TList();
+
+  fHistograms->SetOwner(kTRUE);
+  fHistograms->SetName("trackCuts");
+
+  fhPhi = new TH2F("phi", "phi", kNCuts+2, kPreCut -0.5, kNCuts + 0.5, 
+                                  128, 0, TMath::TwoPi());
+  TAxis * xax = fhPhi->GetXaxis();
+  for(Int_t i = 0; i < kNCuts; i++){
+       xax->SetBinLabel(xax->FindFixBin(i), fgkCutNames[i]);
+  }
+  fHistograms->Add(fhPhi);
+  
+
+
+  fhPt = new TH2F("pt", "pt", kNCuts+2, kPreCut -0.5, kNCuts + 0.5, 
+                                 100, 0., 100.);
+  xax = fhPt->GetXaxis();
+  for(Int_t i = 0; i < kNCuts; i++){
+       xax->SetBinLabel(xax->FindFixBin(i), fgkCutNames[i]);
+  }
+  fHistograms->Add(fhPt);
+
+  fhPhiPt = new TH2F("phipt", "phipt", 100, 0, 100, 64, 0, TMath::TwoPi());
+  fHistograms->Add(fhPhiPt);
+
+  fhdcaxyPt = new TH2F("dcaxypt", "dcaxypt", 100, 0, 100, 100, 0, 100);
+  fHistograms->Add(fhdcaxyPt);
+
+  fhdcazPt = new TH2F("dcazpt", "dcazpt", 100, 0, 100, 100, 0, 100);
+  fHistograms->Add(fhdcazPt);
+
+  fhnclpt = new TH2F("nclstpcvspt", "nclstpcvspt", 100, 0, 100, 100, 0, 100);
+  fHistograms->Add(fhnclpt);
+
+  fhnclsfpt = new TH2F("nclsfpt", "nclsfpt", 100, 0, 100, 100, 0, 1.2);
+  fHistograms->Add(fhnclsfpt);
+  
+  return fHistograms;
+}
+
+
+void AliConversionTrackCuts::FillHistograms(Int_t cutIndex, AliVTrack * track, Bool_t passed = kFALSE) {
+  //Fill histograms
+  fhPhi->Fill(cutIndex, track->Phi());
+  fhPt->Fill(cutIndex, track->Pt());
+  if(passed) fhPhiPt->Fill(track->Pt(), track->Phi());
+
+}
+
+Bool_t AliConversionTrackCuts::AcceptTrack(AliAODTrack * track) {
+  //Check aod track
+
+  fhdcaxyPt->Fill(track->Pt(), TMath::Sqrt(track->XAtDCA()*track->XAtDCA() + track->YAtDCA()*track->YAtDCA()));
+  fhdcazPt->Fill(track->Pt(), TMath::Abs(track->ZAtDCA())); 
+  
+  fhnclpt->Fill(track->Pt(), track->GetTPCNcls());
+  if(track->GetTPCNclsF() > 0) fhnclsfpt->Fill(track->Pt(), ((Double_t) track->GetTPCNcls())/track->GetTPCNclsF());
+
+  
+  FillHistograms(kPreCut, track);
+
+  if (track->GetTPCNcls() < fTPCminNClusters) return kFALSE;
+  FillHistograms(kCutNcls, track);
+
+  Double_t foundclusters = 0.0001;
+  if(track->GetTPCNclsF() > 0) foundclusters = ( (Double_t) track->GetTPCNcls() )/track->GetTPCNclsF();
+  if (foundclusters < fTPCClusOverFindable) return kFALSE;
+  FillHistograms(kCutNclsFrac, track);
+
+  if (track->Chi2perNDF() > fTPCmaxChi2) return kFALSE;
+  FillHistograms(kCutNDF, track);
+
+  AliAODVertex *vertex = track->GetProdVertex();
+  if (vertex && fRejectKinkDaughters) {
+       if (vertex->GetType() == AliAODVertex::kKink) {
+         return kFALSE;
+       }
+  }
+  FillHistograms(kCutKinc, track);
+
+  if(TMath::Abs(track->ZAtDCA()) > fDCAZmax) {
+       return kFALSE;
+  }
+  FillHistograms(kCutDCAZ, track);
+
+
+  Float_t xatdca = track->XAtDCA();
+  Float_t yatdca = track->YAtDCA();
+  Float_t xy = xatdca*xatdca + yatdca*yatdca;
+  if(xy > fDCAXYmax) {
+       AliDebug(AliLog::kDebug + 2, "Kink daughter. Rejected");
+       return kFALSE;
+  }
+  FillHistograms(kCutDCAXY, track);
+
+  ULong_t status = track->GetStatus();
+  if (fRequireTPCRefit && (status&AliESDtrack::kTPCrefit) == 0) {
+       AliDebug(AliLog::kDebug + 2, "Kink daughter. Rejected");
+       return kFALSE;
+  }
+  FillHistograms(kCutTPCRefit, track);
+  
+  FillHistograms(kNCuts, track, kTRUE);
+  return kTRUE;
+}
+
+// void AliConversionTrackCuts::SetUpAxes() {
+//   //
+//   fCutAxis.Set(kNCuts + 1, -1.5, kNCuts -0.5);
+//   fCutAxis.SetAxisLabel(-1, "track in");
+//   for (Int_t i = 0; i < kNCuts; i++) {
+//     fCutAxis.SetAxisLabel(i, fgkCutNames[i]);
+//   }
+//   for(Int_t i = 0, i < kNCuts; i++) {
+//   }
+// }
+
+
+//_________________________________________________________________________________________________
+void AliConversionTrackCuts::Print(const Option_t *) const
+{
+//
+// Print information on this cut
+//
+
+  printf("Cut name                : %s \n", GetName());
+  printf("Kink daughters are      : %s \n", (fRejectKinkDaughters ? "rejected" : "accepted"));
+  printf("TPC requirements        : clusters/findable %f, min. cluster = %d, max chi2 = %f, %s require refit\n", fTPCClusOverFindable, fTPCminNClusters, fTPCmaxChi2, (fRequireTPCRefit) ? "" : "Don't");
+  printf("ITS requirements        : min. cluster = %d (all), %d (SPD), max chi2 = %f \n", fITSminNClusters, fSPDminNClusters, fITSmaxChi2);
+  printf("DCA z cut               : fixed to %f cm \n", fDCAZmax);
+  printf("DCA xy cut              : fixed to %f cm \n", fDCAXYmax);
+  
+}
+
+
+
+
+
+
@@ -4,7 +4,6 @@
 // Class handling all kinds of selection cuts for Gamma Conversion analysis
 // Authors: (this code is mostly copied from AliRsnTrackQuality) adapted by Svein Lindal       *
 
-class AliAODEvent;
 class TH2F;
 class TList;
 #include "AliAODTrack.h"
@@ -16,10 +15,24 @@ using namespace std;
 class AliConversionTrackCuts : public AliAnalysisCuts {
        
 public:
-
-  Bool_t IsSelected(TObject * object, AliAODEvent * event) { return AcceptTrack(dynamic_cast<AliAODTrack*>(object), event); }
-  Bool_t IsSelected(TList * list) { return kFALSE; }
-  Bool_t AcceptTrack(AliAODTrack * track, AliAODEvent* event);
+  
+  enum CTCuts_t {
+       kPreCut = -1,
+       kCutNcls,
+       kCutNclsFrac,
+       kCutNDF,
+       kCutKinc,
+       kCutDCAZ,
+       kCutDCAXY,
+       kCutTPCRefit,
+       kNCuts
+  };
+
+  static const char * fgkCutNames[kNCuts];
+
+  Bool_t IsSelected(TObject * object ) { return AcceptTrack(dynamic_cast<AliAODTrack*>(object)); }
+  Bool_t IsSelected(TList * /*list*/) { return kFALSE; }
+  Bool_t AcceptTrack(AliAODTrack * track);
 
   AliConversionTrackCuts();
   AliConversionTrackCuts(TString name, TString title);
@@ -41,14 +54,17 @@ public:
   void      SetITSmaxChi2(Double_t value)             {fITSmaxChi2 = value;}
   
   void      SetTPCminNClusters(Int_t value)           {fTPCminNClusters = value;}
+  void      SetTPCCFoundClusters(Double_t value)           {fTPCClusOverFindable = value;}
   void      SetTPCmaxChi2(Double_t value)             {fTPCmaxChi2 = value;}
   
   void      SetRejectKinkDaughters(Bool_t yn = kTRUE) {fRejectKinkDaughters = yn;}  
   void      SetAODTestFilterBit(Int_t value)          {fAODTestFilterBit = value;}
+
+  void      SetRequireTPCRefit(Bool_t require)        { fRequireTPCRefit = require; }
   void      SetDefaults2010();
   
   TList * CreateHistograms();
-  void FillHistograms(Int_t cutIndex, AliVTrack * track);
+  void FillHistograms(Int_t cutIndex, AliVTrack * track, Bool_t passed);
   virtual void   Print(const Option_t *option = "") const;
 
 protected :
@@ -67,18 +83,30 @@ protected :
    TString    fDCAZptFormula;          // expression to compute longitudinal DCA sigma w.r. to pt
    Double_t   fDCAZmax;                // maximum value for longitudinal DCA
 
-  Double_t fDCAXYmax;
+  Double_t fDCAXYmax;                  // maximum xy value for dca
 
    Int_t      fSPDminNClusters;        // minimum number of required clusters in SPD
    Int_t      fITSminNClusters;        // minimum number of required clusters in ITS
    Double_t   fITSmaxChi2;             // maximum chi2 / number of clusters in ITS
 
    Int_t      fTPCminNClusters;        // minimum number of required clusters in TPC
+   Double_t   fTPCClusOverFindable;        // minimum number of required clusters in TPC
    Double_t   fTPCmaxChi2;             // maximum chi2 / number of clusters in TPC
    Int_t      fAODTestFilterBit;       // test filter bit for AOD tracks
+  Bool_t      fRequireTPCRefit;        // Require TPC refit
+
+  TH2F * fhPhi; //histo
+  TH2F * fhPt; //histo
+  TH2F * fhPhiPt;//histo
+  TH2F * fhdcaxyPt;//histo
+  TH2F * fhdcazPt;//histo
+  TH2F * fhnclpt;//histo
+  TH2F * fhnclsfpt;//histo
+  
+ // TAxis fCutAxis;
+ // TAxisArr fCutVarAxes[kNCuts];
+ // TAxisArr fVarAxes[kNVar];
 
-  TH2F * fhPhi;
-  TH2F * fhPhiPt;
   TList * fHistograms;
 
   AliConversionTrackCuts(const AliConversionTrackCuts&); // not implemented
@@ -100,7 +128,7 @@ inline void AliConversionTrackCuts::SetDefaults2010()
    SetDCAZmax(3.0);
    SetDCAXYmax(2.5);
    SetTPCminNClusters(70);
-   SetTPCmaxChi2(2.0);
+   SetTPCmaxChi2(12.0);
    SetRejectKinkDaughters();
 }
 
diff --git a/PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrPhotonJet.cxx b/PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrPhotonJet.cxx
deleted file mode 100644 (file)
index 357fa0b..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-/**************************************************************************
- * This file is property of and copyright by the ALICE HLT Project        *
- * ALICE Experiment at CERN, All rights reserved.                         *
- *                                                                        *
- * Primary Author: Svein Lindal <slindal@fys.uio.no>                      *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-/// @file   AliAnaConvCorrPhoton.cxx
-/// @author Svein Lindal
-/// @brief  Class used to fill calculate correlation between photons - jets
-
-#include "AliAnaConvCorrPhotonJet.h"
-#include "AliAODTrack.h"
-#include "TClonesArray.h"
-#include "AliAODConversionParticle.h"
-#include "AliAODJet.h"
-
-#include "TRefArray.h"
-#include "TH1F.h"
-#include <iostream>
-// Gamma - jet correlation analysis task
-// Authors: Svein Lindal
-
-
-using namespace std;
-ClassImp(AliAnaConvCorrPhotonJet)
-
-//________________________________________________________________________________
-AliAnaConvCorrPhotonJet::AliAnaConvCorrPhotonJet() :
-AliAnaConvCorrBase("photonJet", "Photon Jet"),
-  fhPtFracGamma(NULL), 
-  fhPtFracPion(NULL)
-{
-  //consctructor
-}
-//________________________________________________________________________________
-AliAnaConvCorrPhotonJet::AliAnaConvCorrPhotonJet(TString name) :
-  AliAnaConvCorrBase(name, "Photon Jet"),
-  fhPtFracGamma(NULL), 
-  fhPtFracPion(NULL)
-{
-  //consctructor
-}
-
-
-//________________________________________________________________________________
-AliAnaConvCorrPhotonJet::~AliAnaConvCorrPhotonJet() {
-  //destructor
-}
-
-
-void AliAnaConvCorrPhotonJet::CreateHistograms() {
-  //Create histo
-  CreateBaseHistograms();
-  fhPtFracGamma = new TH1F("fhPtFracGamma", "fhPtFracGamma", 100, 0, 10);
-  GetHistograms()->Add(fhPtFracGamma);
-  fhPtFracPion = new TH1F("fhPtFracPion", "fhPtFracPion", 100, 0, 10);
-  GetHistograms()->Add(fhPtFracPion);
-
-}
-
-void AliAnaConvCorrPhotonJet::DoJetAnalysisGamma(AliAODJet * jet, const TClonesArray * const photons, const  TClonesArray *const pions ) const{
-  //See header file for documetation
-  Int_t trackIDs[4]={0};
-
-  for(Int_t i = 0; i < photons->GetEntriesFast(); i++) {
-    AliAODConversionParticle * photon = dynamic_cast<AliAODConversionParticle*>(photons->At(i));
-    if(photon) {
-      trackIDs[0] = photon->GetLabel1();
-      trackIDs[1] = photon->GetLabel2();
-      if(IsParticleInJet(jet, 2, trackIDs)){
-       fhPtFracGamma->Fill(photon->Pt()/jet->Pt());
-      }
-    }
-  }
-
-
-
-  for(Int_t i = 0; i < pions->GetEntriesFast(); i++) {
-    AliAODConversionParticle * pion = dynamic_cast<AliAODConversionParticle*>(pions->At(i));
-    if(pion) {
-      //pion->GetGrandChildren(photons, trackIDs);
-      if(IsParticleInJet(jet, 4, trackIDs)){
-       fhPtFracPion->Fill(pion->Pt()/jet->Pt());
-      }
-    }
-  }
-  
-  
-  
-
-  
-}
-
-//________________________________________________________________________________
-Bool_t AliAnaConvCorrPhotonJet::IsParticleInJet(const AliAODJet * jet, const Int_t nTracks, const Int_t * trackIds) const {
-  //See header file for documetation
-
-  Int_t mTracks = 0;
-  TRefArray * refTracks = jet->GetRefTracks();
-  for(Int_t jRef = 0; jRef < refTracks->GetEntriesFast(); jRef++) {
-    AliAODTrack * track = dynamic_cast<AliAODTrack*>(refTracks->At(jRef));
-    if(track) {
-      for(Int_t it = 0; it < nTracks; it++) {
-       if (track->GetID() == trackIds[it]) {
-         mTracks++;
-       }
-      }
-    }
-  }
-
-  //cout <<mTracks << " " << (mTracks > 1) << endl;
-  return (mTracks > 1);
-}
-
-
-//________________________________________________________________________________
-Double_t AliAnaConvCorrPhotonJet::ExtractFromJet(const AliAODJet * jet, const AliAODConversionParticle * const particle) const {
-  //See header file for documetation
-  
-  Float_t jetPt = jet->Pt();
-  cout << "Jet pt before and after: " << jetPt << "    ";
-
-  TRefArray * refTracks = jet->GetRefTracks();
-  for(Int_t jRef = 0; jRef < refTracks->GetEntriesFast(); jRef++) {
-    AliAODTrack * track = dynamic_cast<AliAODTrack*>(refTracks->At(jRef));
-    if(track) {
-      if (track->GetID() == particle->GetLabel1() || track->GetID() == particle->GetLabel2()) {
-       cout << " - " << track->Pt() << "  ";
-       jetPt = jetPt - track->Pt();
-      } else {
-       //cout << track->Pt() << endl;
-      }
-    } else {
-      cout <<"FUUUUUUUUUUUUUUUUUCJK"<<endl;
-    }
-  }
-  
-  cout << jetPt << endl;
-  return jetPt;
-}
-
-
-
-///_______________________________________________________________________________
-void AliAnaConvCorrPhotonJet::CorrelateWithHadrons(const AliAODConversionParticle * const photon, const TClonesArray * const jets, const Bool_t isolated) {
-  FillTriggerCounters(photon, isolated);
-  //See header file for documentation
-  if (jets) {
-    for(int ij = 0; ij < jets->GetEntriesFast(); ij++) {
-      AliAODJet * jet = dynamic_cast<AliAODJet*>(jets->At(ij));
-      if(jet) {
-               //Double_t jetPt = ExtractFromJet(jet, photon);
-               //FillHistograms(photon->Pt(), jetPt, GetDPhi(photon->Phi() - jet->Phi()), photon->Eta() - jet->Eta(), isolated);
-      }
-    }
-  }
-}
diff --git a/PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrPhotonJet.h b/PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrPhotonJet.h
deleted file mode 100644 (file)
index f6280ae..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/* This file is property of and copyright                                 *\r
- * ALICE Experiment at CERN, All rights reserved.                         *\r
- * See cxx source for full Copyright notice                               */\r
-\r
-/// @file   AliAnaConvCorrPhoton.h\r
-/// @author Svein Lindal\r
-/// @brief  Class used to find correlations between photons and jets\r
-\r
-#ifndef ALIANACONVCORRPHOTONJET_CXX\r
-#define ALIANACONVCORRPHOTONJET_CXX\r
-\r
-#include "AliAnaConvCorrBase.h"\r
-\r
-class TH1F;\r
-\r
-class AliAODConversionParticle;\r
-class TClonesArray;\r
-class AliAODJet;\r
-class AliAnaConvCorrPhotonJet : public AliAnaConvCorrBase {\r
-\r
-public:\r
-\r
-  AliAnaConvCorrPhotonJet(); \r
-  AliAnaConvCorrPhotonJet(TString name); \r
-  virtual ~AliAnaConvCorrPhotonJet();\r
-  \r
-  //Correlate photon with jets\r
-  virtual void CorrelateWithHadrons(const AliAODConversionParticle * const photon, const TClonesArray * const jets, const Bool_t isolated);\r
-  Double_t ExtractFromJet(const AliAODJet * jet, const AliAODConversionParticle * const particle)  const;\r
-  Bool_t IsParticleInJet(const AliAODJet * jet, const Int_t nTracks, const Int_t * trackIds) const;\r
-  void DoJetAnalysisGamma(AliAODJet * jet, const TClonesArray * const photons, const  TClonesArray *const pions ) const;\r
-  void CreateHistograms();\r
-\r
- private:\r
-\r
-  AliAnaConvCorrPhotonJet(const AliAnaConvCorrPhotonJet&); // not implemented\r
-  AliAnaConvCorrPhotonJet& operator=(const AliAnaConvCorrPhotonJet&); // not implemented\r
-  ClassDef(AliAnaConvCorrPhotonJet, 1); // \r
-\r
-  TH1F * fhPtFracGamma;// = new TH1F("fhPtFracGamma", "fhPtFracGamma", 100, 0, 10);\r
-  TH1F * fhPtFracPion;// = new TH1F("fhPtFracPion", "fhPtFracPion", 100, 0, 10);\r
-\r
-};\r
-\r
-#endif\r
diff --git a/PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrPion.h b/PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrPion.h
deleted file mode 100644 (file)
index 4a72062..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/* This file is property of and copyright                                 *\r
- * ALICE Experiment at CERN, All rights reserved.                         *\r
- * See cxx source for full Copyright notice                               */\r
-\r
-/// @file   AliAnaConvCorrPion.h\r
-/// @author Svein Lindal\r
-/// @brief  Class used to find correlations between pions and charged tracks\r
-\r
-\r
-#ifndef ALIANACONVCORRPION_CXX\r
-#define ALIANACONVCORRPION_CXX\r
-\r
-#include "AliAnaConvCorrBase.h"\r
-class TH2D;\r
-//#include "THnSparse.h"\r
-\r
-//class AliAODConversionPhoton;\r
-class TClonesArray;\r
-\r
-class AliAnaConvCorrPion : public AliAnaConvCorrBase {\r
-\r
-public:\r
-\r
-  AliAnaConvCorrPion(); \r
-  AliAnaConvCorrPion(TString name, TString title);\r
-  virtual ~AliAnaConvCorrPion();\r
-\r
-  TAxis& GetAxisM() { return fAxisM; }\r
-\r
-\r
-  //Correlate pions with charged tracks\r
-  //virtual void CorrelateWithHadrons(AliAODConversionPhoton * pion, const TClonesArray * tracks, const Bool_t isolated, const Int_t nSpawn, const Int_t * const spawn );\r
-\r
-  void CreateHistograms();\r
-\r
-  //void Process(TClonesArray * pions, TClonesArray * photons, TClonesArray * tracks);\r
-  \r
-\r
-  void FillTriggerCounters(const AliAODConversionParticle * particle, Int_t leading);\r
-  \r
- private:\r
-\r
-  void InitMassAxis();\r
-  //Get array of track labels of the 4 decay electrons (2gamma * 2 electrons)\r
-  //void GetTrackLabels(const AliAODConversionPhoton * pion, const TClonesArray * photons, Int_t* trackLabels);\r
-\r
-  //TH2F * fhPtVsInvMass;\r
-\r
-  TH2D * hTriggerPtvsMass[3]; //Histograms containing number of triggers in various bins\r
-  TAxis fAxisM;  //Mass axis\r
-\r
-  AliAnaConvCorrPion(const AliAnaConvCorrPion&); // not implemented\r
-  AliAnaConvCorrPion& operator=(const AliAnaConvCorrPion&); // not implemented\r
-  ClassDef(AliAnaConvCorrPion, 2); //\r
-\r
-};\r
-\r
-#endif\r
diff --git a/PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrPionJet.cxx b/PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrPionJet.cxx
deleted file mode 100644 (file)
index cce7ffa..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/**************************************************************************
- * This file is property of and copyright by the ALICE HLT Project        *
- * ALICE Experiment at CERN, All rights reserved.                         *
- *                                                                        *
- * Primary Author: Svein Lindal <slindal@fys.uio.no>                      *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-/// @file   AliAnaConvCorrPion.cxx
-/// @author Svein Lindal
-/// @brief  Class used to fill calculate correlation between photons - jets
-
-#include "AliAnaConvCorrPionJet.h"
-#include "AliAODTrack.h"
-#include "TClonesArray.h"
-#include "AliAODConversionParticle.h"
-#include "AliAODJet.h"
-
-#include <iostream>
-// Gamma - jet correlation analysis task
-// Authors: Svein Lindal
-
-
-using namespace std;
-ClassImp(AliAnaConvCorrPionJet)
-
-//________________________________________________________________________________
-AliAnaConvCorrPionJet::AliAnaConvCorrPionJet() :
-AliAnaConvCorrBase("PionJet", "Pion Jet") {
-  //consctructor
-}
-//________________________________________________________________________________
-AliAnaConvCorrPionJet::AliAnaConvCorrPionJet(TString name) :
-  AliAnaConvCorrBase(name, "Pion Jet") {
-  //consctructor
-}
-
-
-//________________________________________________________________________________
-AliAnaConvCorrPionJet::~AliAnaConvCorrPionJet() {
-  //destructor
-}
-
-///_______________________________________________________________________________
-void AliAnaConvCorrPionJet::CorrelateWithHadrons(const AliAODConversionParticle * const pion, const TClonesArray * const jets, const Bool_t isolated) {
-  //Do it
-  FillTriggerCounters(pion, isolated);
-
-  //See header file for documentation
-  if (jets) {
-      
-    for(int ij = 0; ij < jets->GetEntriesFast(); ij++) {
-      AliAODJet * jet = dynamic_cast<AliAODJet*>(jets->At(ij));
-      if(jet) {
-               //FillHistograms(pion->Pt(), jet->Pt(), GetDPhi(pion->Phi() - jet->Phi()), pion->Eta() - jet->Eta(), isolated);
-      }
-    }
-  }
-}
diff --git a/PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrPionJet.h b/PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrPionJet.h
deleted file mode 100644 (file)
index 27a5151..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/* This file is property of and copyright                                 *\r
- * ALICE Experiment at CERN, All rights reserved.                         *\r
- * See cxx source for full Copyright notice                               */\r
-\r
-/// @file   AliAnaConvCorrPion.h\r
-/// @author Svein Lindal\r
-/// @brief  Class used to find correlations between photons and jets\r
-\r
-#ifndef ALIANACONVCORRPIONJET_H\r
-#define ALIANACONVCORRPIONJET_H\r
-\r
-#include "AliAnaConvCorrBase.h"\r
-\r
-class AliAODConversionParticle;\r
-class TClonesArray;\r
-\r
-class AliAnaConvCorrPionJet : public AliAnaConvCorrBase {\r
-\r
-public:\r
-\r
-  AliAnaConvCorrPionJet(); \r
-  AliAnaConvCorrPionJet(TString name); \r
-  virtual ~AliAnaConvCorrPionJet();\r
-  \r
-  //Correlate photon with jets\r
-  virtual void CorrelateWithHadrons(const AliAODConversionParticle * const photon, const TClonesArray * const jets, const Bool_t isolated);\r
-  \r
- private:\r
-\r
-  AliAnaConvCorrPionJet(const AliAnaConvCorrPionJet&); // not implemented\r
-  AliAnaConvCorrPionJet& operator=(const AliAnaConvCorrPionJet&); // not implemented\r
-  ClassDef(AliAnaConvCorrPionJet, 1); // \r
-\r
-};\r
-\r
-#endif\r
diff --git a/PWGGA/GammaConv/ConvCorrelations/AliConversionTrackCuts.cxx b/PWGGA/GammaConv/ConvCorrelations/AliConversionTrackCuts.cxx
deleted file mode 100644 (file)
index 6c9e46a..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-/**************************************************************************
- * This file is property of and copyright by the ALICE HLT Project        *
- * ALICE Experiment at CERN, All rights reserved.                         *
- *                                                                        *
- * Primary Author: Svein Lindal <slindal@fys.uio.no>                      *
- *                                                                        *
- * Permission to use, copy, modify and distribute this software and its   *
- * documentation strictly for non-commercial purposes is hereby granted   *
- * without fee, provided that the above copyright notice appears in all   *
- * copies and that both the copyright notice and this permission notice   *
- * appear in the supporting documentation. The authors make no claims     *
- * about the suitability of this software for any purpose. It is          *
- * provided "as is" without express or implied warranty.                  *
- **************************************************************************/
-
-/// @file   AliConversionTrackCuts.cxx
-/// @author Svein Lindal
-/// @brief  Base class for analysation of conversion particle - track correlations
-
-
-#include "AliConversionTrackCuts.h"
-//#include "AliAODTrack.h"
-#include "AliAODEvent.h"
-#include <TFormula.h>
-#include <iostream>
-#include "TH2F.h"
-
-
-using namespace std;
-ClassImp(AliConversionTrackCuts)
-
-//________________________________________________________________________
-AliConversionTrackCuts::AliConversionTrackCuts() : 
-AliAnalysisCuts(),
-  fFlagsOn(0x0),
-  fFlagsOff(0x0),
-  fRejectKinkDaughters(kTRUE),
-  fDCARfixed(kTRUE),
-  fDCARptFormula(""),
-  fDCARmax(1E20),
-  fDCAZfixed(kTRUE),
-  fDCAZptFormula(""),
-  fDCAZmax(1E20),
-  fSPDminNClusters(0),
-  fITSminNClusters(0),
-  fITSmaxChi2(1E20),
-  fTPCminNClusters(0),
-  fTPCmaxChi2(1E20),
-  fAODTestFilterBit(-1),
-  fhPhi(NULL),
-  fHistograms(NULL)
-{
-  //Constructor
-}
-//________________________________________________________________________
-AliConversionTrackCuts::AliConversionTrackCuts(TString name, TString title = "title") : 
-  AliAnalysisCuts(name, title),
-  fFlagsOn(0x0),
-  fFlagsOff(0x0),
-  fRejectKinkDaughters(kTRUE),
-  fDCARfixed(kTRUE),
-  fDCARptFormula(""),
-  fDCARmax(1E20),
-  fDCAZfixed(kTRUE),
-  fDCAZptFormula(""),
-  fDCAZmax(1E20),
-  fDCAXYmax(1E20),
-  fSPDminNClusters(0),
-  fITSminNClusters(0),
-  fITSmaxChi2(1E20),
-  fTPCminNClusters(0),
-  fTPCmaxChi2(1E20),
-  fAODTestFilterBit(-1),
-  fhPhi(NULL),
-  fHistograms(NULL)
-{
-  //Constructor
-}
-
-
-//________________________________________________________________________________
- AliConversionTrackCuts::~AliConversionTrackCuts() {
-   ///destructor
-   // if(fHistograms)
-   //   delete fHistograms;
-   // fHistograms = NULL;
-
-}
-
-TList * AliConversionTrackCuts::CreateHistograms() {
-
-  if(!fHistograms) fHistograms = new TList();
-
-  fHistograms->SetOwner(kTRUE);
-  fHistograms->SetName("trackCuts");
-
-  fhPhi = new TH2F("phi", "phi", 20, -0.5, 19.5, 128, 0, TMath::TwoPi());
-  fHistograms->Add(fhPhi);
-
-  fhPhiPt = new TH2F("phipt", "phipt", 80, 0, 100, 128, 0, TMath::TwoPi());
-  fHistograms->Add(fhPhiPt);
-
-
-  return fHistograms;
-}
-
-
-void AliConversionTrackCuts::FillHistograms(Int_t cutIndex, AliVTrack * track) {
-  
-  fhPhi->Fill(cutIndex, track->Phi());
-  fhPhiPt->Fill(track->Pt(), track->Phi());
-}
-
-Bool_t AliConversionTrackCuts::AcceptTrack(AliAODTrack * track, AliAODEvent * aodEvent) {
-  // Check an AOD track.
-// This is done doing directly all checks, since there is not
-// an equivalend checker for AOD tracks
-//
-
-   // try to retrieve the reference AOD event
-   // AliAODEvent *aodEvent = 0x0;
-   // if (fEvent) aodEvent = fEvent->GetRefAOD();
-   // if (!aodEvent) {
-   //    AliError("AOD reference event is not initialized!");
-   //    return kFALSE;
-   // }
-
-  Int_t cutIndex = 0;
-  
-  FillHistograms(cutIndex, track);
-  cutIndex++;
-  
-  if (track->GetTPCNcls() < fTPCminNClusters) {
-  FillHistograms(cutIndex, track);
-       AliDebug(AliLog::kDebug + 2, "Too few TPC clusters. Rejected");
-       return kFALSE;
-  }
-  cutIndex++;
-  
-  if (track->Chi2perNDF() > fTPCmaxChi2) {
-  FillHistograms(cutIndex, track);
-       AliDebug(AliLog::kDebug + 2, "Bad chi2. Rejected");
-       return kFALSE;
-  }
-  cutIndex++;
-
-  AliAODVertex *vertex = track->GetProdVertex();
-  if (vertex && fRejectKinkDaughters) {
-       if (vertex->GetType() == AliAODVertex::kKink) {
-         FillHistograms(cutIndex, track);
-         AliDebug(AliLog::kDebug + 2, "Kink daughter. Rejected");
-         return kFALSE;
-       }
-  }
-  cutIndex++;
-
-  if(track->ZAtDCA() > fDCAZmax) {
-       FillHistograms(cutIndex, track);
-       AliDebug(AliLog::kDebug + 2, "Kink daughter. Rejected");
-       return kFALSE;
-  }
-  cutIndex++;
-
-  Float_t xatdca = track->XAtDCA();
-  Float_t yatdca = track->YAtDCA();
-  
-  if(xatdca*xatdca * yatdca*yatdca > fDCAXYmax) {
-       FillHistograms(cutIndex, track);
-       AliDebug(AliLog::kDebug + 2, "Kink daughter. Rejected");
-       return kFALSE;
-  }
-  cutIndex++;
-
-
-
-  ULong_t status = track->GetStatus();
-  if ((status&AliESDtrack::kTPCrefit) == 0) {
-       FillHistograms(cutIndex, track);
-       AliDebug(AliLog::kDebug + 2, "Kink daughter. Rejected");
-       return kFALSE;
-  }
-  cutIndex++;
-
-  if ((status&AliESDtrack::kITSrefit) == 0) {
-       FillHistograms(cutIndex, track);
-       AliDebug(AliLog::kDebug + 2, "Kink daughter. Rejected");
-       return kFALSE;
-  }
-  cutIndex++;
-
-
-
-  return kTRUE;
-}
-
-//_________________________________________________________________________________________________
-void AliConversionTrackCuts::Print(const Option_t *) const
-{
-//
-// Print information on this cut
-//
-
-   AliInfo(Form("Cut name                : %s", GetName()));
-   AliInfo(Form("Required flags (off, on): %lx %lx", fFlagsOn, fFlagsOff));
-   AliInfo(Form("Ranges in eta, pt       : %.2f - %.2f, %.2f - %.2f", fEta[0], fEta[1], fPt[0], fPt[1]));
-   AliInfo(Form("Kink daughters are      : %s", (fRejectKinkDaughters ? "rejected" : "accepted")));
-   AliInfo(Form("TPC requirements        : min. cluster = %d, max chi2 = %f", fTPCminNClusters, fTPCmaxChi2));
-   AliInfo(Form("ITS requirements        : min. cluster = %d (all), %d (SPD), max chi2 = %f", fITSminNClusters, fSPDminNClusters, fITSmaxChi2));
-
-   if (fDCARfixed) {
-        AliInfo(Form("DCA r cut               : fixed to %f cm", fDCARmax));
-   } else {
-        AliInfo(Form("DCA r cut formula       : %s", fDCARptFormula.Data()));
-   }
-   
-   if (fDCAZfixed) {
-        AliInfo(Form("DCA z cut               : fixed to %f cm", fDCAZmax));
-   } else {
-        AliInfo(Form("DCA z cut formula       : %s", fDCAZptFormula.Data()));
-   }
-   
-   
-}
-
-
-
-
-
-
index 6c8f601..06fcb0a 100644 (file)
@@ -16,9 +16,6 @@
 #pragma link C++ class AliAnaConvCorrBase++;
 #pragma link C++ class AliAnaConvCorrPion++;
 #pragma link C++ class AliAnaConvCorrPhoton++;
-#pragma link C++ class AliAnaConvCorrPhotonJet++;
-#pragma link C++ class AliAnaConvCorrPionJet++;
-#pragma link C++ class AliConversionTrackCuts++;
 
 #pragma link C++ class AliConversionPhotonBase++;
 #pragma link C++ class AliAODConversionParticle+;
@@ -29,4 +26,6 @@
 
 #pragma link C++ class AliAnalysisTaskdPhi+;
 #pragma link C++ class AliConversionCuts++;
+#pragma link C++ class AliConversionTrackCuts++;
+
 #endif