correct.C
authormfloris <mfloris@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 12 Nov 2010 15:23:36 +0000 (15:23 +0000)
committermfloris <mfloris@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 12 Nov 2010 15:23:36 +0000 (15:23 +0000)
- Cosmetic changes (legends etc)
- some intermediate histos saved

AliAnalysisMultPbTrackHistoManager & AliAnalysisTaskMultPbTracks:
- Added pt,eta,vz histos for different particle species
- Added vz,event histo

run.C
- Switching off DCA cut

PWG0/multPbPb/AliAnalysisMultPbTrackHistoManager.cxx
PWG0/multPbPb/AliAnalysisMultPbTrackHistoManager.h
PWG0/multPbPb/AliAnalysisTaskMultPbTracks.cxx
PWG0/multPbPb/AliAnalysisTaskTriggerStudy.cxx
PWG0/multPbPb/CreateAlienHandler.C
PWG0/multPbPb/correct.C
PWG0/multPbPb/run.C

index f03b851..0622e41 100644 (file)
@@ -18,7 +18,7 @@ const char * AliAnalysisMultPbTrackHistoManager::kHistoPtEtaVzNames[] = { "hGenP
                                                                          "hRecPtEtaVzSecWeak", "hRecPtEtaVzSecMaterial", "hRecPtEtaVzFake"};
 const char * AliAnalysisMultPbTrackHistoManager::kHistoDCANames[]     = { "hGenDCA", "hRecDCA", "hRecDCAPrim", "hRecDCASecWeak","hRecDCASecMaterial", "hRecDCAFake"};
 const char * AliAnalysisMultPbTrackHistoManager::kHistoPrefix[]     = { "hGen", "hRec", "hRecPrim", "hRecSecWeak","hRecSecMaterial", "hRecFake"};
-const char * AliAnalysisMultPbTrackHistoManager::kSpeciesName[]     = { "#pi+", "K+", "p", "l+",  "#pi-", "K-", "#bar{p}", "l-", "Others"};
+const char * AliAnalysisMultPbTrackHistoManager::kSpeciesName[]     = { "pi+", "K+", "p", "l+",  "pi-", "K-", "barp", "l-", "Others"};
 
 
 AliAnalysisMultPbTrackHistoManager::AliAnalysisMultPbTrackHistoManager() : AliHistoListWrapper(), fHNameSuffix(""){ 
@@ -40,12 +40,16 @@ AliAnalysisMultPbTrackHistoManager::~AliAnalysisMultPbTrackHistoManager() {
 
 }
 
-TH3D * AliAnalysisMultPbTrackHistoManager::GetHistoPtEtaVz(Histo_t id) {
+TH3D * AliAnalysisMultPbTrackHistoManager::GetHistoPtEtaVz(Histo_t id, Int_t particle) {
   // Returns a 3D histo of Pt/eta/vtx. It it does not exist, books it.
 
-  TH3D * h = (TH3D*) GetHisto(kHistoPtEtaVzNames[id]);
+  TString name = kHistoPtEtaVzNames[id];
+
+  if(particle >= 0) name += kSpeciesName[particle];
+
+  TH3D * h = (TH3D*) GetHisto(name.Data());
   if (!h) {
-    h = BookHistoPtEtaVz(kHistoPtEtaVzNames[id], Form("Pt Eta Vz distribution (%s)",kHistoPtEtaVzNames[id]));
+    h = BookHistoPtEtaVz(name.Data(), Form("Pt Eta Vz distribution (%s)",kHistoPtEtaVzNames[id]));
   }
 
   return h;
@@ -92,11 +96,14 @@ TH1D * AliAnalysisMultPbTrackHistoManager::GetHistoPt (Histo_t id,
   // Get range in terms of bin numners.  If the float range is
   // less than -11111 take the range from the first to the last bin (i.e. no
   // under/over-flows)
-  Int_t min1 = minEta  < -11111 ? 1 : h3D ->GetYaxis()->FindBin(minEta);
-  Int_t min2  = minVz  < -11111 ? 1 : h3D ->GetZaxis()->FindBin(minVz) ;
+  // FIXME: UNDERFLOWS
+  Int_t min1 = minEta  < -11111 ? -1 : h3D ->GetYaxis()->FindBin(minEta);
+  Int_t min2  = minVz  < -11111 ? -1 : h3D ->GetZaxis()->FindBin(minVz) ;
 
-  Int_t max1 = maxEta  < -11111 ? h3D->GetNbinsY() : h3D ->GetYaxis()->FindBin(maxEta-0.00001);
-  Int_t max2  = maxVz  < -11111 ? h3D->GetNbinsZ() : h3D ->GetZaxis()->FindBin(maxVz -0.00001);
+  // Int_t max1 = maxEta  < -11111 ? h3D->GetNbinsY() : h3D ->GetYaxis()->FindBin(maxEta-0.00001);
+  // Int_t max2  = maxVz  < -11111 ? h3D->GetNbinsZ() : h3D ->GetZaxis()->FindBin(maxVz -0.00001);
+  Int_t max1 = maxEta  < -11111 ? -1 : h3D ->GetYaxis()->FindBin(maxEta-0.00001);
+  Int_t max2  = maxVz  < -11111 ? -1 : h3D ->GetZaxis()->FindBin(maxVz -0.00001);
 
 
   TString hname = h3D->GetName();
@@ -243,6 +250,33 @@ TH1D * AliAnalysisMultPbTrackHistoManager::GetHistoSpecies(Histo_t id) {
 
 }
 
+TH1D * AliAnalysisMultPbTrackHistoManager::GetHistoVzEvent(Histo_t id) {
+
+  // Returns histogram with Vz of the event
+
+  TString name = TString(kHistoPrefix[id])+"_VzEvent";
+
+  TH1D * h =  (TH1D*) GetHisto(name);
+  if (!h) {
+    name+=fHNameSuffix;
+    Bool_t oldStatus = TH1::AddDirectoryStatus();
+    TH1::AddDirectory(kFALSE);
+
+    AliInfo(Form("Booking histo %s",name.Data()));
+
+    h = new TH1D (name.Data(), Form("Vz of the event (%s)",kHistoPrefix[id]), 10, -10, 10);                     
+    h->Sumw2();
+    h->SetXTitle("V_{z}^{event} (cm)");
+    TH1::AddDirectory(oldStatus);
+    fList->Add(h);
+
+
+  }
+  return h;
+  
+
+}
+
 
 
 TH1I * AliAnalysisMultPbTrackHistoManager::GetHistoStats() {
@@ -324,9 +358,9 @@ TH3D * AliAnalysisMultPbTrackHistoManager::BookHistoPtEtaVz(const char * name, c
                       nvzbins,  binsVz
                       );
 
-  h->SetXTitle("p_{T}");
+  h->SetXTitle("p_{T} (GeV)");
   h->SetYTitle("#eta");
-  h->SetZTitle("V_{z} (cm)");
+  h->SetZTitle("V_{z}^{tracks} (cm)");
   h->Sumw2();
   
   fList->Add(h);
index 80a92a9..0a52c2e 100644 (file)
@@ -37,7 +37,7 @@ public:
   void SetSuffix(const char * suffix) { fHNameSuffix = suffix;}
 
   // Histo getters
-  TH3D * GetHistoPtEtaVz(Histo_t id);
+  TH3D * GetHistoPtEtaVz(Histo_t id, Int_t particle = -1);
   TH1D * GetHistoPt (Histo_t id, Float_t minEta = -22222, Float_t maxEta = -22222, Float_t minVz  = -22222, Float_t maxVz  = -22222, Bool_t scaleWidth = kTRUE);
   TH1D * GetHistoEta(Histo_t id, Float_t minPt  = -22222, Float_t maxPt  = -22222, Float_t minVz  = -22222, Float_t maxVz  = -22222, Bool_t scaleWidth = kTRUE);
   TH1D * GetHistoVz (Histo_t id, Float_t minPt  = -22222, Float_t maxPt  = -22222, Float_t minEta = -22222, Float_t maxEta = -22222, Bool_t scaleWidth = kTRUE);
@@ -48,6 +48,9 @@ public:
 
   TH1D * GetHistoSpecies(Histo_t id);
   TH1D * GetHistoProcess(Histo_t id);
+  TH1D * GetHistoVzEvent(Histo_t id);
+
+
 
   // Misch utils
   void ScaleHistos (Double_t nev, Option_t * option="");
index d4d8be7..1496455 100644 (file)
@@ -155,8 +155,14 @@ void AliAnalysisTaskMultPbTracks::UserExec(Option_t *)
 
   fHistoManager->GetHistoStats()->Fill(AliAnalysisMultPbTrackHistoManager::kStatCentr);
 
+
+
   if (fIsMC) {
-    
+    // Get MC vertex
+    //FIXME: which vertex do I take for MC?
+    TArrayF   vertex;
+    fMCEvent->GenEventHeader()->PrimaryVertex(vertex);
+    Float_t zvGen = vertex[2];    
 
     if (!fMCEvent) {
       AliError("No MC info found");
@@ -181,18 +187,19 @@ void AliAnalysisTaskMultPbTracks::UserExec(Option_t *)
        fHistoManager->GetHistoProcess(AliAnalysisMultPbTrackHistoManager::kHistoGen)->Fill(mcPart->Particle()->GetUniqueID());
        fHistoManager->FillParticleID(AliAnalysisMultPbTrackHistoManager::kHistoGen, mcPart);
        
-       // Get MC vertex
-       //FIXME: which vertex do I take for MC?
-       TArrayF   vertex;
-       fMCEvent->GenEventHeader()->PrimaryVertex(vertex);
-       Float_t zv = vertex[2];
        //      Float_t zv = vtxESD->GetZ();
        // Fill generated histo
-       hTracks[AliAnalysisMultPbTrackHistoManager::kHistoGen]->Fill(mcPart->Pt(),mcPart->Eta(),zv);
+       hTracks[AliAnalysisMultPbTrackHistoManager::kHistoGen]->Fill(mcPart->Pt(),mcPart->Eta(),zvGen);
+       Int_t partCode = fHistoManager->GetLocalParticleID(mcPart);
+       if (partCode == AliAnalysisMultPbTrackHistoManager::kPartPiPlus  || 
+           partCode == AliAnalysisMultPbTrackHistoManager::kPartPiMinus)
+         fHistoManager->GetHistoPtEtaVz(AliAnalysisMultPbTrackHistoManager::kHistoGen, partCode);
        
       }
       hNTracks[AliAnalysisMultPbTrackHistoManager::kHistoGen]->Fill(nPhysicalPrimaries);
-
+      fHistoManager->GetHistoVzEvent(AliAnalysisMultPbTrackHistoManager::kHistoGen)->Fill(zvGen);
+  
+    
     }
   }
   
@@ -200,8 +207,15 @@ void AliAnalysisTaskMultPbTracks::UserExec(Option_t *)
   // FIXME: shall I take the primary vertex?
   const AliESDVertex* vtxESD = fESD->GetPrimaryVertex();
   if(!vtxESD) return;
+  // FIXME: leave the cuts here or find a better place?)
+  // Quality cut on vertexer Z, as suggested by Francesco Prino
+  if(vtxESD->IsFromVertexerZ()) {
+    if (vtxESD->GetNContributors() <= 0) return;
+    if (vtxESD->GetDispersion() >= 0.04) return;
+    if (vtxESD->GetZRes() >= 0.25) return;
+  }
   fHistoManager->GetHistoStats()->Fill(AliAnalysisMultPbTrackHistoManager::kStatVtx);
-
+  fHistoManager->GetHistoVzEvent(AliAnalysisMultPbTrackHistoManager::kHistoRec)->Fill(vtxESD->GetZ());
 
   // loop on tracks
   Int_t ntracks = fESD->GetNumberOfTracks();
@@ -268,8 +282,13 @@ void AliAnalysisTaskMultPbTracks::UserExec(Option_t *)
        if(IsPhysicalPrimaryAndTransportBit(label)) {
          // Fill species histo
          fHistoManager->GetHistoProcess(AliAnalysisMultPbTrackHistoManager::kHistoRecPrim)->Fill(mcPart->Particle()->GetUniqueID());
-         if(accepted)
+         if(accepted) {
            hTracks[AliAnalysisMultPbTrackHistoManager::kHistoRecPrim]->Fill(esdTrack->Pt(),esdTrack->Eta(),vtxESD->GetZ());
+           Int_t partCode = fHistoManager->GetLocalParticleID(mcPart);
+           if (partCode == AliAnalysisMultPbTrackHistoManager::kPartPiPlus  || 
+               partCode == AliAnalysisMultPbTrackHistoManager::kPartPiMinus)
+             fHistoManager->GetHistoPtEtaVz(AliAnalysisMultPbTrackHistoManager::kHistoRecPrim, partCode);
+         }
          if(acceptedNoDCA)
            hDCA[AliAnalysisMultPbTrackHistoManager::kHistoRecPrim]->Fill(weightedDCA);
        } 
index f656b7b..54866d7 100644 (file)
@@ -198,7 +198,7 @@ void AliAnalysisTaskTriggerStudy::UserExec(Option_t *)
   //    cout << classes.Data() << endl;
   // }
   //  iter->Reset();
-  Int_t itoken = 0;
+  //Int_t itoken = 0;
   TObjString * tok=0;
   while((tok = (TObjString*) iter->Next())){
     // clean up trigger name
index 585071d..8b68597 100644 (file)
@@ -46,33 +46,33 @@ AliAnalysisGrid* CreateAlienHandler(TString dataset, TList * listToLoad, const c
    TIterator * iter = listToLoad->MakeIterator();
    TObjString * name = 0;
    TString sources = "";
-   while (name = (TObjString *)iter->Next()) {
-     gSystem->ExpandPathName(name->String());
-     name->String().ReplaceAll("+","");
-     sources = sources + name->String() + " ";
-   }
    // while (name = (TObjString *)iter->Next()) {
    //   gSystem->ExpandPathName(name->String());
-   //   name->String().ReplaceAll("+","");     
-   //   sources = sources + gSystem->BaseName(name->String().Data()) + " ";
+   //   name->String().ReplaceAll("+","");
+   //   sources = sources + name->String() + " ";
    // }
+   while (name = (TObjString *)iter->Next()) {
+     gSystem->ExpandPathName(name->String());
+     name->String().ReplaceAll("+","");     
+     sources = sources + gSystem->BaseName(name->String().Data()) + " ";
+   }
    plugin->SetAnalysisSource(sources.Data());
 // Declare all libraries (other than the default ones for the framework. These will be
 // loaded by the generated analysis macro. Add all extra files (task .cxx/.h) here.
 //   plugin->SetAdditionalLibs("AliCollisionsNormalization.cxx AliCollisionNormalizationTask.cxx AliPhysicsSelection.cxx AliCollisionsNormalization.h AliCollisionNormalizationTask.h AliPhysicsSelection.h");
-   iter = listToLoad->MakeIterator();
-   name = 0;
-   sources = "";
+   // iter = listToLoad->MakeIterator();
+   // name = 0;
+   // sources = "";
    // while (name = (TObjString *)iter->Next()) {
    //   gSystem->ExpandPathName(name->String());
    //   name->String().ReplaceAll("+","");     
    //   sources = sources + gSystem->BaseName(name->String().Data()) + " ";
    // }
-   while (name = (TObjString *)iter->Next()) {
-     gSystem->ExpandPathName(name->String());
-     name->String().ReplaceAll("+","");
-     sources = sources + name->String() + " ";
-   }
+   // while (name = (TObjString *)iter->Next()) {
+   //   gSystem->ExpandPathName(name->String());
+   //   name->String().ReplaceAll("+","");
+   //   sources = sources + name->String() + " ";
+   // }
    plugin->SetAdditionalLibs(sources.Data());
    // I'm using a modified ANALYSISalice package, so I need to load par files for everything
    // plugin->EnablePackage("STEERBase");
index e7abe1d..2ad9f45 100644 (file)
@@ -11,6 +11,7 @@
 #include "AliPhysicsSelection.h"
 #include "AliESDtrackCuts.h"
 #include "AliAnalysisMultPbCentralitySelector.h"
+#include "TLegend.h"
 
 using namespace std;
 
@@ -61,13 +62,15 @@ void correct(TString dataFolder = "./output/LHC10g2d_130844_V0M_bin_10/", TStrin
 
   // Some shorthands
   // FIXME: Gen should be projected including overflow in z?
-  TH1D * hDataPt   = (TH1D*) hManData->GetHistoPt(AliAnalysisMultPbTrackHistoManager::kHistoRec, -0.5,0.5,-10,10)->Clone("hDataPt");
-  TH1D * hMCPtGen  = hManCorr->GetHistoPt(AliAnalysisMultPbTrackHistoManager::kHistoGen,         -0.5,0.5,-10,10);
-  TH1D * hMCPtRec  = hManCorr->GetHistoPt(AliAnalysisMultPbTrackHistoManager::kHistoRec,         -0.5,0.5,-10,10);
-  TH1D * hMCPtPri  = hManCorr->GetHistoPt(AliAnalysisMultPbTrackHistoManager::kHistoRecPrim,     -0.5,0.5,-10,10);
-  TH1D * hMCPtSeM  = hManCorr->GetHistoPt(AliAnalysisMultPbTrackHistoManager::kHistoRecSecMat,   -0.5,0.5,-10,10);
-  TH1D * hMCPtSeW  = hManCorr->GetHistoPt(AliAnalysisMultPbTrackHistoManager::kHistoRecSecWeak,  -0.5,0.5,-10,10);
-  TH1D * hMCPtFak  = hManCorr->GetHistoPt(AliAnalysisMultPbTrackHistoManager::kHistoRecFake,     -0.5,0.5,-10,10);
+  Float_t zmin = 0;
+  Float_t zmax = 2;
+  TH1D * hDataPt   = (TH1D*) hManData->GetHistoPt(AliAnalysisMultPbTrackHistoManager::kHistoRec, -0.5,0.5,zmin,zmax)->Clone("hDataPt");
+  TH1D * hMCPtGen  = hManCorr->GetHistoPt(AliAnalysisMultPbTrackHistoManager::kHistoGen,         -0.5,0.5,-22222,-22222);
+  TH1D * hMCPtRec  = hManCorr->GetHistoPt(AliAnalysisMultPbTrackHistoManager::kHistoRec,         -0.5,0.5,zmin,zmax);
+  TH1D * hMCPtPri  = hManCorr->GetHistoPt(AliAnalysisMultPbTrackHistoManager::kHistoRecPrim,     -0.5,0.5,zmin,zmax);
+  TH1D * hMCPtSeM  = hManCorr->GetHistoPt(AliAnalysisMultPbTrackHistoManager::kHistoRecSecMat,   -0.5,0.5,zmin,zmax);
+  TH1D * hMCPtSeW  = hManCorr->GetHistoPt(AliAnalysisMultPbTrackHistoManager::kHistoRecSecWeak,  -0.5,0.5,zmin,zmax);
+  TH1D * hMCPtFak  = hManCorr->GetHistoPt(AliAnalysisMultPbTrackHistoManager::kHistoRecFake,     -0.5,0.5,zmin,zmax);
  
   TCanvas * cdata = new TCanvas ("cData", "Data");  
   cdata->SetLogy();
@@ -83,6 +86,18 @@ void correct(TString dataFolder = "./output/LHC10g2d_130844_V0M_bin_10/", TStrin
   hMCPtSeM ->Draw("same");
   hMCPtSeW ->Draw("same");
   hMCPtFak ->Draw("same");
+  
+  hMCPtGen ->GetXaxis()->SetRangeUser(0,4.5);
+  hMCPtGen ->GetYaxis()->SetRangeUser(0.1,1e4);
+  TLegend * lMC = new TLegend(0.505034, 0.59965, 0.877517, 0.926573,"Monte Carlo");
+  lMC->AddEntry( hMCPtGen, "Generated");
+  lMC->AddEntry( hMCPtRec, "All Rec");
+  lMC->AddEntry( hMCPtPri, "Rec Primaries");
+  lMC->AddEntry( hMCPtSeM, "Rec Sec. Material");
+  lMC->AddEntry( hMCPtSeW, "Rec Sec. Weak");
+  lMC->AddEntry( hMCPtFak, "Rec Fakes");
+  lMC->Draw();
+
 
   cout << "Fake/All Rec  = " << hMCPtFak->Integral()/hMCPtRec->Integral()  << endl;
   cout << "SM/All   Rec  = " << hMCPtSeM->Integral()/hMCPtRec->Integral()  << endl;
@@ -93,20 +108,21 @@ void correct(TString dataFolder = "./output/LHC10g2d_130844_V0M_bin_10/", TStrin
   // PRIM_DATA = ALL_DATA - SEC_MC/ALL_MC*ALL_DATA - FAK_MC/ALL_MC*ALL_DATA
   // TRUE_DATA = PRIM_DATA * GEN_MC/PRIM_MC
 
+
   TH1D * hEffPt = (TH1D*) hMCPtPri->Clone("hEffPt");
   hEffPt->Divide(hMCPtPri,hMCPtGen,1,1,"B");
 
-  TH1D * hCorSeM = (TH1D*) hMCPtSeM->Clone("hEffPt");
+  TH1D * hCorSeM = (TH1D*) hMCPtSeM->Clone("hCorSeM");
   hCorSeM->Divide(hMCPtSeM,hMCPtRec,1,1,"B");
   hCorSeM->Scale(fractionMaterial);// rescale material correction
-  hCorSeM->Multiply(hDataPt);
+  hCorSeM->Multiply(hDataPt); 
 
-  TH1D * hCorSeW = (TH1D*) hMCPtSeW->Clone("hEffPt");
+  TH1D * hCorSeW = (TH1D*) hMCPtSeW->Clone("hCorSeW");
   hCorSeW->Divide(hMCPtSeW,hMCPtRec,1,1,"B");
   hCorSeW->Scale(fractionWeak);// rescale weak correction
   hCorSeW->Multiply(hDataPt); 
 
-  TH1D * hCorFak = (TH1D*) hMCPtFak->Clone("hEffPt");
+  TH1D * hCorFak = (TH1D*) hMCPtFak->Clone("hCorFak");
   hCorFak->Divide(hMCPtFak,hMCPtRec,1,1,"B");
   hCorFak->Multiply(hDataPt);
 
@@ -117,8 +133,24 @@ void correct(TString dataFolder = "./output/LHC10g2d_130844_V0M_bin_10/", TStrin
   hCorrected->Divide(hEffPt);
   hCorrected->SetMarkerStyle(kOpenStar);
 
+
+  TCanvas * cCorrections = new TCanvas("cCorrections", "cCorrections");
+
+  hEffPt->Draw();
+  // hCorSeM->Draw();
+  // hCorSeM->SetLineColor(kRed);
+  // hCorSeM->SetMarkerColor(kRed);
+  // hMCPtSeM->Draw("same");  
+  // hCorSeW->Draw("same");
+  // hCorSeW->SetLineColor(kRed);
+  // hCorSeW->SetMarkerColor(kRed);
+  // hMCPtSeW->Draw("same");
+
+
   cdata->cd();
   hDataPt->Draw();
+  hDataPt ->GetXaxis()->SetRangeUser(0,4.5);
+  hDataPt ->GetYaxis()->SetRangeUser(0.1,1e4);
   hCorrected->SetLineColor(kBlack);
   hCorrected->SetMarkerColor(kBlack);
   hCorrected->Draw("same");
@@ -126,12 +158,19 @@ void correct(TString dataFolder = "./output/LHC10g2d_130844_V0M_bin_10/", TStrin
   TF1 * f = GetLevy();
   hCorrected->Fit(f,"", "same");
   hCorrected->Fit(f,"IME", "same");
-  cout << "dN/deta = " << f->Integral(0,100) << " +- " << f->IntegralError(0,100) << endl;
+  cout << "dN/deta (function)  = " << f->Integral(0,100) << " +- " << f->IntegralError(0,100) << endl;
+  cout << "dN/deta (func+data) = " << f->Integral(0,0.1) + hCorrected->Integral(3,-1,"width") << endl;//
   cout << "Generated dN/deta (correction) = " << hMCPtGen->Integral("width") << endl;
   // FIXME: comment this out
-  TH1D * hDataGen  = hManData->GetHistoPt(AliAnalysisMultPbTrackHistoManager::kHistoGen,        -0.5,0.5,-10,10);
+  TH1D * hDataGen  = hManData->GetHistoPt(AliAnalysisMultPbTrackHistoManager::kHistoGen,        -0.5,0.5,-22222,-22222);
   cout << "Generated dN/deta (data) =       " << hDataGen->Integral("width") << endl;
-  hDataGen->Draw("same");
+  hDataGen->Draw("same");  
+  TLegend * l = new TLegend(0.520134, 0.676573, 0.885906, 0.923077,"137161, p1+++");
+  l->AddEntry(hDataPt, "Raw data");
+  l->AddEntry(hCorrected, "Corrected data");
+  l->AddEntry(hMCPtGen, "Monte Carlo (generated)");
+  l->AddEntry(f, "Levy Fit");
+  l->Draw();
 }
 
 void CheckSecondaries(Double_t &fracWeak, Double_t &fracMaterial) {
index d96dacf..4d13001 100644 (file)
@@ -125,7 +125,8 @@ void run(Char_t* data, Long64_t nev = -1, Long64_t offset = 0, Bool_t debug = kF
     doSave = kTRUE;
   }
 
-  AliESDtrackCuts * cuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE);
+  AliESDtrackCuts * cuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kFALSE);
+  //  AliESDtrackCuts * cuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE);
   TString pathsuffix = "";
   // cuts->SetPtRange(0.15,0.2);// FIXME pt cut
   // const char * pathsuffix = "_pt_015_020_nofakes";