]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
adding changes from gsi
authorslindal <slindal@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 23 Feb 2012 17:04:18 +0000 (17:04 +0000)
committerslindal <slindal@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 23 Feb 2012 17:04:18 +0000 (17:04 +0000)
PWGGA/GammaConv/AliAnalysisTaskdPhi.cxx
PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrBase.cxx
PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrBase.h
PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrPion.cxx
PWGGA/GammaConv/ConvCorrelations/AliAnaConvCorrPion.h
PWGGA/GammaConv/ConvCorrelations/AliConversionTrackCuts.cxx
PWGGA/GammaConv/ConvCorrelations/AliConversionTrackCuts.h

index ea99ba154609121a4eb2418104c4b358a74629d3..740576afd828267ef689fa8b930f7f1fa747cf90 100644 (file)
@@ -103,6 +103,9 @@ 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());
@@ -518,10 +521,15 @@ void AliAnalysisTaskdPhi::Process(TObjArray * gammas, TObjArray * tracks, Int_t
          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)) {
+               if(pion->Pt() > fAxistPt.GetBinLowEdge(1) && 
+                  pion->M() > fAxisPiM.GetBinLowEdge(1) && 
+                  pion->M() < fAxisPiM.GetBinUpEdge(fAxisPiM.GetNbins())) {
                  piCorr->CorrelateWithTracks(pion, tracks, tIDs, leadingpi);
                }
          }
index 54cb58c3d02887ea489ce5f07999b19d2e75ba01..d1d29a18cb32aa0a94e8560ef1da21d7064579d2 100644 (file)
@@ -78,10 +78,10 @@ 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(160, -1.6, 1.6);
+  fAxisdEta.Set(30, -1.5, 1.5);
   fAxisdEta.SetNameTitle("dEta", "delta eta");
 
-  fAxisdPhi.Set(64, -TMath::PiOver2(), 3*TMath::PiOver2());
+  fAxisdPhi.Set(32, -TMath::PiOver2(), 3*TMath::PiOver2());
   fAxisdPhi.SetNameTitle("dPhi", "delta Phi");
 
   fAxistPt.Set(18, ptbins);
@@ -102,7 +102,7 @@ void AliAnaConvCorrBase::SetUpDefaultBins() {
   fAxisMEEta.Set(160, -0.8, 0.8);
   fAxisMEEta.SetNameTitle("eta", "eta");
   
-  fAxisMEPhi.Set(64, 0, TMath::TwoPi());
+  fAxisMEPhi.Set(128, 0, TMath::TwoPi());
   fAxisMEPhi.SetNameTitle("phi", "phi");
 
   fTrackAxisList.AddAt(&fAxisMEEta, 0);
@@ -126,13 +126,13 @@ void AliAnaConvCorrBase::SetUpDefaultBins() {
 void AliAnaConvCorrBase::CreateBaseHistograms() {
   //Create histograms add, to outputlis
 
-  cout << "Creating histograms for "<< GetName() << endl;
+  //cout << "Creating histograms for "<< GetName() << endl;
 
   fHistograms = new TList();
   fHistograms->SetOwner(kTRUE);
   fHistograms->SetName(fName);
 
-  for(int iIso = 0; iIso < 2; iIso++) {
+  for(int iIso = 0; iIso < 3; iIso++) {
 
     fHNTriggers[iIso] = new TH1F(Form("%s_%s_fNTriggers", fName.Data(), (iIso==0)?"nonIso":"isolated"), 
                                                                 Form("%s_%s_fNTriggers", fName.Data(), (iIso==0)?"nonIso":"isolated"), 
@@ -158,7 +158,7 @@ THnSparseF * AliAnaConvCorrBase::CreateSparse(TString nameString, TString titleS
   //Create sparse
   const Int_t dim = axesList->GetSize();
   
-  cout << nameString << " " << titleString << " " <<   "    dimesion: " << dim << endl;
+  //cout << nameString << " " << titleString << " " <<   "    dimesion: " << dim << endl;
 
   TAxis * axes[dim];
   Int_t   bins[dim];
@@ -175,8 +175,8 @@ THnSparseF * AliAnaConvCorrBase::CreateSparse(TString nameString, TString titleS
   }
 
   for(Int_t i = 0; i<dim; i++) {
-       cout << axes[i]->GetTitle() << endl;
-       bins[i] = axes[i]->GetNbins(); 
+       //cout << axes[i]->GetTitle() << endl;
+       bins[i] = axes[i]->GetNbins(); 
        min[i] = axes[i]->GetBinLowEdge(1);
        max[i] = axes[i]->GetBinUpEdge(axes[i]->GetNbins());
   }
@@ -231,7 +231,7 @@ void AliAnaConvCorrBase::PrintStatistics()  {
 
 
 //_______________________________________________________________________________
-void AliAnaConvCorrBase::FillTriggerCounters(const AliAODConversionParticle * particle, Bool_t leading) {
+void AliAnaConvCorrBase::FillTriggerCounters(const AliAODConversionParticle * particle, Int_t leading) {
   fHNTriggers[leading]->Fill(particle->Pt());
 }
 
@@ -240,6 +240,7 @@ void AliAnaConvCorrBase::FillTriggerCounters(const AliAODConversionParticle * pa
 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();
@@ -247,13 +248,19 @@ void AliAnaConvCorrBase::CorrelateWithTracks(AliAODConversionParticle * particle
   Double_t trackValues[nDim];
   Double_t trigValues[nDim - 1];
 
-
   trigValues[0] = particle->Eta();
   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();
+  }
+
   for(int ij = 0; ij < tracks->GetEntriesFast(); ij++) {
        AliVTrack * track = static_cast<AliVTrack*>(tracks->UncheckedAt(ij));
        Int_t tid = track->GetID();
@@ -275,11 +282,6 @@ void AliAnaConvCorrBase::CorrelateWithTracks(AliAODConversionParticle * particle
        trackValues[4] = isolated;
 
 
-       if(nDim > 4) {
-         dphivalues[5] = particle->M();
-         trackValues[5] = particle->M();
-         trigValues[4] = particle->M();
-       }
        
        fCorrSparse->Fill(dphivalues);
        fTrackSparse->Fill(trackValues);
index 72923b21cf20515dcdc1398680df1d641bd44373..9b7e2422ef247834c0af73cef9ca6aa47fa44661 100644 (file)
@@ -64,7 +64,7 @@ public:
   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, Bool_t leading);\r
+  virtual void FillTriggerCounters(const AliAODConversionParticle * particle, Int_t leading);\r
 \r
   TAxis& GetAxistPt()       { return fAxistPt;   }\r
   TAxis& GetAxiscPt()       { return fAxiscPt;   }\r
@@ -87,7 +87,7 @@ 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[2]; //Histograms containing number of triggers in various bins\r
+  TH1F * fHNTriggers[3]; //Histograms containing number of triggers in various bins\r
 \r
 private:\r
 \r
index d129bf27ae4ee294cdddaec12a745b23eb609498..45b11e7b155dd55092f4909f1b15be1c2f576ff3 100644 (file)
@@ -38,7 +38,7 @@ ClassImp(AliAnaConvCorrPion)
 //________________________________________________________________________________
 AliAnaConvCorrPion::AliAnaConvCorrPion() :
 AliAnaConvCorrBase("pion_hadron_corr", "Pion dPhi"),
-  hTriggerPtvsMass(NULL),
+//hTriggerPtvsMass(NULL),
   fAxisM()
 {
   //consctructor
@@ -47,7 +47,7 @@ AliAnaConvCorrBase("pion_hadron_corr", "Pion dPhi"),
 //________________________________________________________________________________
 AliAnaConvCorrPion::AliAnaConvCorrPion(TString name, TString title = "Pion Corr") :
   AliAnaConvCorrBase(name, title),
-  hTriggerPtvsMass(NULL),
+  //hTriggerPtvsMass(NULL),
   fAxisM()
 {
   //consctructor
@@ -76,16 +76,21 @@ void AliAnaConvCorrPion::InitMassAxis() {
 void AliAnaConvCorrPion::CreateHistograms() {
   //Create histograms
   CreateBaseHistograms();
-  hTriggerPtvsMass = new TH2D("hTriggerPtvsMass", "Pt vs Mass", 400, 0, .400, GetAxistPt().GetNbins(), GetAxistPt().GetXbins()->GetArray());
-  GetHistograms()->Add(hTriggerPtvsMass);
+  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]);
 }
 
 
 ///________________________________________________________________________________
-void AliAnaConvCorrPion::FillTriggerCounters(const AliAODConversionParticle * particle, Bool_t isolated) {
+void AliAnaConvCorrPion::FillTriggerCounters(const AliAODConversionParticle * particle, Int_t leading) {
   //Fill histograms counting triggers
-  fHNTriggers[isolated]->Fill(particle->Pt());
-  hTriggerPtvsMass->Fill(particle->M(), particle->Pt());
+  fHNTriggers[leading]->Fill(particle->Pt());
+  hTriggerPtvsMass[leading]->Fill(particle->M(), particle->Pt());
 }
 
 //________________________________________________________________________________
index 60b3e0082ffc18729f83e1df7a03e4038d7781e7..4a720624acb91d5ad7740ef5ca20e464a2271ec3 100644 (file)
@@ -36,7 +36,7 @@ public:
   //void Process(TClonesArray * pions, TClonesArray * photons, TClonesArray * tracks);\r
   \r
 \r
-  void FillTriggerCounters(const AliAODConversionParticle * particle, Bool_t isolated);\r
+  void FillTriggerCounters(const AliAODConversionParticle * particle, Int_t leading);\r
   \r
  private:\r
 \r
@@ -46,7 +46,7 @@ public:
 \r
   //TH2F * fhPtVsInvMass;\r
 \r
-  TH2D * hTriggerPtvsMass; //Histograms containing number of triggers in various bins\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
index 9c4afb519afd119f7d939910960de6fdfd36242b..be33bb477574b0032c99968544f2db9118dfdb4d 100644 (file)
@@ -22,7 +22,7 @@
 //#include "AliAODTrack.h"
 #include "AliAODEvent.h"
 #include <TFormula.h>
-
+#include <iostream>
 
 
 using namespace std;
@@ -92,6 +92,7 @@ Bool_t AliConversionTrackCuts::AcceptTrack(AliAODTrack * track, AliAODEvent * ao
    //    return kFALSE;
    // }
 
+
    // step #0: check SPD and ITS clusters
    Int_t nSPD = 0;
    nSPD  = TESTBIT(track->GetITSClusterMap(), 0);
@@ -106,21 +107,24 @@ Bool_t AliConversionTrackCuts::AcceptTrack(AliAODTrack * track, AliAODEvent * ao
       AliDebug(AliLog::kDebug + 2, "Too few TPC clusters. Rejected");
       return kFALSE;
    }
+
    if (track->GetITSNcls() < fITSminNClusters) {
       AliDebug(AliLog::kDebug + 2, "Too few ITS clusters. Rejected");
       return kFALSE;
    }
-
    // step #2: check chi square
    if (track->Chi2perNDF() > fTPCmaxChi2) {
       AliDebug(AliLog::kDebug + 2, "Bad chi2. Rejected");
       return kFALSE;
    }
+
    if (track->Chi2perNDF() > fITSmaxChi2) {
       AliDebug(AliLog::kDebug + 2, "Bad chi2. Rejected");
       return kFALSE;
    }
 
+
    // step #3: reject kink daughters
    AliAODVertex *vertex = track->GetProdVertex();
    if (vertex && fRejectKinkDaughters) {
@@ -130,6 +134,7 @@ Bool_t AliConversionTrackCuts::AcceptTrack(AliAODTrack * track, AliAODEvent * ao
       }
    }
 
+
    // step #4: DCA cut (transverse)
    Double_t b[2], cov[3];
    vertex = aodEvent->GetPrimaryVertex();
@@ -137,10 +142,12 @@ Bool_t AliConversionTrackCuts::AcceptTrack(AliAODTrack * track, AliAODEvent * ao
       AliDebug(AliLog::kDebug + 2, "NULL vertex");
       return kFALSE;
    }
+
    if (!track->PropagateToDCA(vertex, aodEvent->GetMagneticField(), kVeryBig, b, cov)) {
       AliDebug(AliLog::kDebug + 2, "Failed propagation to vertex");
       return kFALSE;
    }
+
    // if the DCA cut is not fixed, compute current value
    if (!fDCARfixed) {
       static TString str(fDCARptFormula);
@@ -148,12 +155,14 @@ Bool_t AliConversionTrackCuts::AcceptTrack(AliAODTrack * track, AliAODEvent * ao
       static const TFormula dcaXY(Form("%s_dcaXY", GetName()), str.Data());
       fDCARmax = dcaXY.Eval(track->Pt());
    }
+
    // check the cut
    if (TMath::Abs(b[0]) > fDCARmax) {
       AliDebug(AliLog::kDebug + 2, "Too large transverse DCA");
       return kFALSE;
    }
 
    // step #5: DCA cut (longitudinal)
    // the DCA has already been computed above
    // if the DCA cut is not fixed, compute current value
@@ -163,21 +172,24 @@ Bool_t AliConversionTrackCuts::AcceptTrack(AliAODTrack * track, AliAODEvent * ao
       static const TFormula dcaZ(Form("%s_dcaXY", GetName()), str.Data());
       fDCAZmax = dcaZ.Eval(track->Pt());
    }
+
    // check the cut
-   if (TMath::Abs(b[1]) > fDCAZmax) {
+  if (TMath::Abs(b[1]) > fDCAZmax) {
       AliDebug(AliLog::kDebug + 2, "Too large longitudinal DCA");
       return kFALSE;
    }
 
    // step #6: check eta/pt range
    if (track->Eta() < fEta[0] || track->Eta() > fEta[1]) {
       AliDebug(AliLog::kDebug + 2, "Outside ETA acceptance");
       return kFALSE;
    }
-   if (track->Pt() < fPt[0] || track->Pt() > fPt[1]) {
-      AliDebug(AliLog::kDebug + 2, "Outside PT acceptance");
-      return kFALSE;
-   }
+
+   // if (track->Pt() < fPt[0] || track->Pt() > fPt[1]) {
+   //    AliDebug(AliLog::kDebug + 2, "Outside PT acceptance");
+   //    return kFALSE;
+   // }
 
    // if we are here, all cuts were passed and no exit point was got
    return kTRUE;
index ffe2bd6cd27a5f897995dad04182a536d7752a48..a23b0ca1f62aa5d6f01a1868b4f43b4f9031fac4 100644 (file)
@@ -97,7 +97,7 @@ inline void AliConversionTrackCuts::SetDefaults2010()
    SetITSminNClusters(0);
    SetITSmaxChi2(1E+20);
    SetTPCminNClusters(70);
-   SetTPCmaxChi2(4.0);
+   SetTPCmaxChi2(10.0);
    SetRejectKinkDaughters();
    SetAODTestFilterBit(5);
 }