new histograms added
authorjotwinow <jotwinow@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 3 Mar 2010 16:50:42 +0000 (16:50 +0000)
committerjotwinow <jotwinow@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 3 Mar 2010 16:50:42 +0000 (16:50 +0000)
PWG0/dNdPt/AlidNdPtCorrection.cxx
PWG0/dNdPt/AlidNdPtCorrection.h
PWG0/dNdPt/AlidNdPtCutAnalysis.cxx

index b7ef512..f7545f4 100644 (file)
@@ -60,6 +60,7 @@ ClassImp(AlidNdPtCorrection)
   fCorrectionFolder(0),\r
   fMCEventHist1(0),\r
   fRecEventHist1(0),\r
+  fRecEventMultHist1(0),\r
   fMCAllEventMultHist1(0),\r
   fMCAllNDEventMultHist1(0),\r
   fMCAllNSDEventMultHist1(0),\r
@@ -75,6 +76,11 @@ ClassImp(AlidNdPtCorrection)
   fMCNSDEventAllPrimTrackTrueMultHist1(0),\r
   fMCTriggerPrimTrackTrueMultHist1(0),\r
   fMCEventPrimTrackTrueMultHist1(0),\r
+  fMCAllPrimTrackTrueMultHist2(0),\r
+  fMCNDEventAllPrimTrackTrueMultHist2(0),\r
+  fMCNSDEventAllPrimTrackTrueMultHist2(0),\r
+  fMCTriggerPrimTrackTrueMultHist2(0),\r
+  fMCEventPrimTrackTrueMultHist2(0),\r
   fMCAllPrimTrackMeanPtMult1(0),\r
   fMCNDEventAllPrimTrackMeanPtMult1(0),\r
   fMCNSDEventAllPrimTrackMeanPtMult1(0),\r
@@ -111,6 +117,7 @@ ClassImp(AlidNdPtCorrection)
   for(Int_t i=0; i<8; i++) { \r
     fCorrRecTrackMultHist1[i] = 0;\r
     fCorrRecTrackTrueMultHist1[i] = 0;\r
+    fCorrRecTrackTrueMultHist2[i] = 0;\r
     fCorrRecTrackMeanPtMultHist1[i] = 0;\r
     fCorrRecTrackMeanPtTrueMultHist1[i] = 0;\r
     fCorrRecTrackPt1[i] = 0;\r
@@ -129,6 +136,7 @@ AlidNdPtCorrection::AlidNdPtCorrection(Char_t* name, Char_t* title, TString corr
   fCorrectionFolder(0),\r
   fMCEventHist1(0),\r
   fRecEventHist1(0),\r
+  fRecEventMultHist1(0),\r
   fMCAllEventMultHist1(0),\r
   fMCAllNDEventMultHist1(0),\r
   fMCAllNSDEventMultHist1(0),\r
@@ -144,6 +152,11 @@ AlidNdPtCorrection::AlidNdPtCorrection(Char_t* name, Char_t* title, TString corr
   fMCNSDEventAllPrimTrackTrueMultHist1(0),\r
   fMCTriggerPrimTrackTrueMultHist1(0),\r
   fMCEventPrimTrackTrueMultHist1(0),\r
+  fMCAllPrimTrackTrueMultHist2(0),\r
+  fMCNDEventAllPrimTrackTrueMultHist2(0),\r
+  fMCNSDEventAllPrimTrackTrueMultHist2(0),\r
+  fMCTriggerPrimTrackTrueMultHist2(0),\r
+  fMCEventPrimTrackTrueMultHist2(0),\r
   fMCAllPrimTrackMeanPtMult1(0),\r
   fMCNDEventAllPrimTrackMeanPtMult1(0),\r
   fMCNSDEventAllPrimTrackMeanPtMult1(0),\r
@@ -180,6 +193,7 @@ AlidNdPtCorrection::AlidNdPtCorrection(Char_t* name, Char_t* title, TString corr
   for(Int_t i=0; i<8; i++) { \r
     fCorrRecTrackMultHist1[i] = 0;\r
     fCorrRecTrackTrueMultHist1[i] = 0;\r
+    fCorrRecTrackTrueMultHist2[i] = 0;\r
     fCorrRecTrackMeanPtMultHist1[i] = 0;\r
     fCorrRecTrackMeanPtTrueMultHist1[i] = 0;\r
     fCorrRecTrackPt1[i] = 0;\r
@@ -200,6 +214,7 @@ AlidNdPtCorrection::~AlidNdPtCorrection() {
   //\r
   if(fMCEventHist1) delete fMCEventHist1; fMCEventHist1=0;\r
   if(fRecEventHist1) delete fRecEventHist1; fRecEventHist1=0;\r
+  if(fRecEventMultHist1) delete fRecEventMultHist1; fRecEventMultHist1=0;\r
 \r
   if(fMCAllEventMultHist1) delete fMCAllEventMultHist1; fMCAllEventMultHist1=0;\r
   if(fMCAllNDEventMultHist1) delete fMCAllNDEventMultHist1; fMCAllNDEventMultHist1=0;\r
@@ -219,6 +234,15 @@ AlidNdPtCorrection::~AlidNdPtCorrection() {
   if(fMCTriggerPrimTrackTrueMultHist1) delete fMCTriggerPrimTrackTrueMultHist1; fMCTriggerPrimTrackTrueMultHist1=0;\r
   if(fMCEventPrimTrackTrueMultHist1) delete fMCEventPrimTrackTrueMultHist1; fMCEventPrimTrackTrueMultHist1=0;\r
 \r
+  if(fMCAllPrimTrackTrueMultHist2) delete fMCAllPrimTrackTrueMultHist2; fMCAllPrimTrackTrueMultHist2=0;\r
+  if(fMCNDEventAllPrimTrackTrueMultHist2) delete fMCNDEventAllPrimTrackTrueMultHist2; fMCNDEventAllPrimTrackTrueMultHist2=0;\r
+  if(fMCNSDEventAllPrimTrackTrueMultHist2) delete fMCNSDEventAllPrimTrackTrueMultHist2; fMCNSDEventAllPrimTrackTrueMultHist2=0;\r
+  if(fMCTriggerPrimTrackTrueMultHist2) delete fMCTriggerPrimTrackTrueMultHist2; fMCTriggerPrimTrackTrueMultHist2=0;\r
+  if(fMCEventPrimTrackTrueMultHist2) delete fMCEventPrimTrackTrueMultHist2; fMCEventPrimTrackTrueMultHist2=0;\r
+\r
+\r
+\r
+\r
   if(fMCAllPrimTrackMeanPtMult1) delete fMCAllPrimTrackMeanPtMult1; fMCAllPrimTrackMeanPtMult1=0;\r
   if(fMCNDEventAllPrimTrackMeanPtMult1) delete fMCNDEventAllPrimTrackMeanPtMult1; fMCNDEventAllPrimTrackMeanPtMult1=0;\r
   if(fMCNSDEventAllPrimTrackMeanPtMult1) delete fMCNSDEventAllPrimTrackMeanPtMult1; fMCNSDEventAllPrimTrackMeanPtMult1=0;\r
@@ -240,6 +264,7 @@ AlidNdPtCorrection::~AlidNdPtCorrection() {
   for(Int_t i=0; i<8; i++) { \r
     if(fCorrRecTrackMultHist1[i]) delete fCorrRecTrackMultHist1[i]; fCorrRecTrackMultHist1[i]=0;\r
     if(fCorrRecTrackTrueMultHist1[i]) delete fCorrRecTrackTrueMultHist1[i]; fCorrRecTrackTrueMultHist1[i]=0;\r
+    if(fCorrRecTrackTrueMultHist2[i]) delete fCorrRecTrackTrueMultHist2[i]; fCorrRecTrackTrueMultHist2[i]=0;\r
     if(fCorrRecTrackMeanPtMultHist1[i]) delete fCorrRecTrackMeanPtMultHist1[i]; fCorrRecTrackMeanPtMultHist1[i]=0;\r
     if(fCorrRecTrackMeanPtTrueMultHist1[i]) delete fCorrRecTrackMeanPtTrueMultHist1[i]; fCorrRecTrackMeanPtTrueMultHist1[i]=0;\r
     if(fCorrRecTrackPt1[i]) delete fCorrRecTrackPt1[i]; fCorrRecTrackPt1[i]=0;\r
@@ -292,6 +317,15 @@ void AlidNdPtCorrection::Init(){
   fRecEventHist1->Sumw2();\r
 \r
   //\r
+  Int_t binsRecEventMultHist1[2]={150,150};\r
+  Double_t minRecEventMultHist1[2]={-0.5,-0.5}; \r
+  Double_t maxRecEventMultHist1[2]={149.5,149.5}; \r
+  fRecEventMultHist1 = new THnSparseF("fRecEventMultHist1","track multiplicity:tracklet multiplicity",2,binsRecEventMultHist1,minRecEventMultHist1,maxRecEventMultHist1);\r
+  fRecEventMultHist1->GetAxis(0)->SetTitle("track_mult");\r
+  fRecEventMultHist1->GetAxis(1)->SetTitle("tracklet_mult");\r
+  fRecEventMultHist1->Sumw2();\r
+\r
+  //\r
   char name[256];\r
   char title[256];\r
 \r
@@ -440,6 +474,76 @@ void AlidNdPtCorrection::Init(){
   fMCEventPrimTrackTrueMultHist1->Sumw2();\r
 \r
   //\r
+  // mcPT vs multiplicity vs true multiplicity\r
+  //\r
+\r
+  Int_t binsMCAllPrimTrackTrueMultHist2[3]={ptNbins,150,150};\r
+  Double_t minMCAllPrimTrackTrueMultHist2[3]={0.,-0.5,-0.5}; \r
+  Double_t maxMCAllPrimTrackTrueMultHist2[3]={20.,149.5,149.5}; \r
+  sprintf(name,"fMCAllPrimTrackTrueMultHist2");\r
+  sprintf(title,"mcPt:mult:true_mult");\r
+  \r
+  fMCAllPrimTrackTrueMultHist2 = new THnSparseF(name,title,3,binsMCAllPrimTrackTrueMultHist2,minMCAllPrimTrackTrueMultHist2,maxMCAllPrimTrackTrueMultHist2);\r
+  fMCAllPrimTrackTrueMultHist2->SetBinEdges(0,binsPt);\r
+  fMCAllPrimTrackTrueMultHist2->GetAxis(0)->SetTitle("mcPt (GeV/c)");\r
+  fMCAllPrimTrackTrueMultHist2->GetAxis(1)->SetTitle("mult");\r
+  fMCAllPrimTrackTrueMultHist2->GetAxis(2)->SetTitle("true_mult");\r
+  fMCAllPrimTrackTrueMultHist2->Sumw2();\r
+\r
+  Int_t binsMCNDEventAllPrimTrackTrueMultHist2[3]={ptNbins,150,150};\r
+  Double_t minMCNDEventAllPrimTrackTrueMultHist2[3]={0.,-0.5,-0.5}; \r
+  Double_t maxMCNDEventAllPrimTrackTrueMultHist2[3]={20.,149.5,149.5}; \r
+  sprintf(name,"fMCNDEventAllPrimTrackTrueMultHist2");\r
+  sprintf(title,"mcPt:mult:true_mult");\r
+  \r
+  fMCNDEventAllPrimTrackTrueMultHist2 = new THnSparseF(name,title,3,binsMCNDEventAllPrimTrackTrueMultHist2,minMCNDEventAllPrimTrackTrueMultHist2,maxMCNDEventAllPrimTrackTrueMultHist2);\r
+  fMCNDEventAllPrimTrackTrueMultHist2->SetBinEdges(0,binsPt);\r
+  fMCNDEventAllPrimTrackTrueMultHist2->GetAxis(0)->SetTitle("mcPt (GeV/c)");\r
+  fMCNDEventAllPrimTrackTrueMultHist2->GetAxis(1)->SetTitle("mult");\r
+  fMCNDEventAllPrimTrackTrueMultHist2->GetAxis(2)->SetTitle("true_mult");\r
+  fMCNDEventAllPrimTrackTrueMultHist2->Sumw2();\r
+\r
+  Int_t binsMCNSDEventAllPrimTrackTrueMultHist2[3]={ptNbins,150,150};\r
+  Double_t minMCNSDEventAllPrimTrackTrueMultHist2[3]={0.,-0.5,-0.5}; \r
+  Double_t maxMCNSDEventAllPrimTrackTrueMultHist2[3]={20.,149.5,149.5}; \r
+  sprintf(name,"fMCNSDEventAllPrimTrackTrueMultHist2");\r
+  sprintf(title,"mcPt:mult:true_mult");\r
+  \r
+  fMCNSDEventAllPrimTrackTrueMultHist2 = new THnSparseF(name,title,3,binsMCNSDEventAllPrimTrackTrueMultHist2,minMCNSDEventAllPrimTrackTrueMultHist2,maxMCNSDEventAllPrimTrackTrueMultHist2);\r
+  fMCNSDEventAllPrimTrackTrueMultHist2->SetBinEdges(0,binsPt);\r
+  fMCNSDEventAllPrimTrackTrueMultHist2->GetAxis(0)->SetTitle("mcPt (GeV/c)");\r
+  fMCNSDEventAllPrimTrackTrueMultHist2->GetAxis(1)->SetTitle("mult");\r
+  fMCNSDEventAllPrimTrackTrueMultHist2->GetAxis(2)->SetTitle("true_mult");\r
+  fMCNSDEventAllPrimTrackTrueMultHist2->Sumw2();\r
+\r
+  Int_t binsMCEventTriggerPrimTrackTrueMultHist2[3]={ptNbins,150,150};\r
+  Double_t minMCEventTriggerPrimTrackTrueMultHist2[3]={0.,-0.5,-0.5}; \r
+  Double_t maxMCEventTriggerPrimTrackTrueMultHist2[3]={20.,149.5,149.5}; \r
+  sprintf(name,"fMCTriggerPrimTrackTrueMultHist2");\r
+  sprintf(title,"mcPt:mult:true_mult");\r
+  \r
+  fMCTriggerPrimTrackTrueMultHist2 = new THnSparseF(name,title,3,binsMCEventTriggerPrimTrackTrueMultHist2,minMCEventTriggerPrimTrackTrueMultHist2,maxMCEventTriggerPrimTrackTrueMultHist2);\r
+  fMCTriggerPrimTrackTrueMultHist2->SetBinEdges(0,binsPt);\r
+  fMCTriggerPrimTrackTrueMultHist2->GetAxis(0)->SetTitle("mcPt (GeV/c)");\r
+  fMCTriggerPrimTrackTrueMultHist2->GetAxis(1)->SetTitle("mult");\r
+  fMCTriggerPrimTrackTrueMultHist2->GetAxis(2)->SetTitle("true_mult");\r
+  fMCTriggerPrimTrackTrueMultHist2->Sumw2();\r
+\r
+  Int_t binsMCEventPrimTrackTrueMultHist2[3]={ptNbins,150,150};\r
+  Double_t minMCEventPrimTrackTrueMultHist2[3]={0.,-0.5,-0.5}; \r
+  Double_t maxMCEventPrimTrackTrueMultHist2[3]={20.,149.5,149.5}; \r
+  sprintf(name,"fMCEventPrimTrackTrueMultHist2");\r
+  sprintf(title,"mcPt:mult:true_mult");\r
+  \r
+  fMCEventPrimTrackTrueMultHist2 = new THnSparseF(name,title,3,binsMCEventPrimTrackTrueMultHist2,minMCEventPrimTrackTrueMultHist2,maxMCEventPrimTrackTrueMultHist2);\r
+  fMCEventPrimTrackTrueMultHist2->SetBinEdges(0,binsPt);\r
+  fMCEventPrimTrackTrueMultHist2->GetAxis(0)->SetTitle("mcPt (GeV/c)");\r
+  fMCEventPrimTrackTrueMultHist2->GetAxis(1)->SetTitle("mult");\r
+  fMCEventPrimTrackTrueMultHist2->GetAxis(2)->SetTitle("true_mult");\r
+  fMCEventPrimTrackTrueMultHist2->Sumw2();\r
+\r
+\r
+  //\r
   // mean pt\r
   //\r
   Int_t binsMCAllPrimTrackMeanPtTrueMult1[2]={100,150};\r
@@ -590,6 +694,10 @@ void AlidNdPtCorrection::Init(){
   Double_t minCorrRecTrackTrueMultHist1[3]={0.,-1.,-0.5}; \r
   Double_t maxCorrRecTrackTrueMultHist1[3]={20.,1.,149.5};\r
 \r
+  Int_t binsCorrRecTrackTrueMultHist2[3]={ptNbins,150,150};\r
+  Double_t minCorrRecTrackTrueMultHist2[3]={0.,-0.5,-0.5}; \r
+  Double_t maxCorrRecTrackTrueMultHist2[3]={20.,149.5,149.5};\r
+\r
   //\r
   Int_t binsCorrRecTrackMeanPtMultHist1[2]={100,150};\r
   Double_t minCorrRecTrackMeanPtMultHist1[2]={0.,-0.5}; \r
@@ -627,6 +735,15 @@ void AlidNdPtCorrection::Init(){
     fCorrRecTrackTrueMultHist1[i]->GetAxis(2)->SetTitle("true multiplicity");\r
     fCorrRecTrackTrueMultHist1[i]->Sumw2();\r
 \r
+    //\r
+    sprintf(name,"fCorrRecTrackTrueMultHist2_%d",i);\r
+    sprintf(title,"Pt:mult:true_mult");\r
+    fCorrRecTrackTrueMultHist2[i] = new THnSparseF(name,title,3,binsCorrRecTrackTrueMultHist2,minCorrRecTrackTrueMultHist2,maxCorrRecTrackTrueMultHist2);\r
+    fCorrRecTrackTrueMultHist2[i]->SetBinEdges(0,binsPt);\r
+    fCorrRecTrackTrueMultHist2[i]->GetAxis(0)->SetTitle("Pt (GeV/c)");\r
+    fCorrRecTrackTrueMultHist2[i]->GetAxis(1)->SetTitle("multiplicity");\r
+    fCorrRecTrackTrueMultHist2[i]->GetAxis(2)->SetTitle("true multiplicity");\r
+    fCorrRecTrackTrueMultHist2[i]->Sumw2();\r
 \r
     // THnSparse track histograms\r
     sprintf(name,"fCorrRecTrackMeanPtMultHist1_%d",i);\r
@@ -1176,7 +1293,7 @@ void AlidNdPtCorrection::Process(AliESDEvent *esdEvent, AliMCEvent *mcEvent)
       fCorrRecTrackMeanPtMultHist1[i]->Fill(vCorrRecTrackMeanPtMultHist1); \r
       \r
       if( IsUseMCInfo() ) {\r
-        if(!fCorrRecTrackTrueMultHist1[i]) continue;\r
+        if(!fCorrRecTrackPt1[i]) continue;\r
         meanPtTrueMult[i] = fCorrRecTrackPt1[i]->Projection(0)->GetMean();    \r
         Double_t vCorrRecTrackMeanPtTrueMultHist1[2] = {meanPtMult[i],multMCTrueTracks};\r
         fCorrRecTrackMeanPtTrueMultHist1[i]->Fill(vCorrRecTrackMeanPtTrueMultHist1); \r
@@ -1189,6 +1306,11 @@ void AlidNdPtCorrection::Process(AliESDEvent *esdEvent, AliMCEvent *mcEvent)
     // control event histograms\r
     Double_t vRecEventHist1[3] = {vtxESD->GetXv(),vtxESD->GetYv(),vtxESD->GetZv()};\r
     fRecEventHist1->Fill(vRecEventHist1);\r
+\r
+    // correlation track multiplicity vs tracklet multiplicity\r
+    Double_t vRecEventMultHist1[3] = {multRecTemp, multMBTracks};\r
+    fRecEventMultHist1->Fill(vRecEventMultHist1);\r
+\r
   } \r
 \r
   // empty events corrections\r
@@ -1264,25 +1386,31 @@ void AlidNdPtCorrection::Process(AliESDEvent *esdEvent, AliMCEvent *mcEvent)
 \r
         Double_t valMCAllTrackMultHist1[3] = {gpt,geta,multRec};         \r
         Double_t valMCAllTrackTrueMultHist1[3] = {gpt,geta,multMCTrueTracks};    \r
+        Double_t valMCAllTrackTrueMultHist2[3] = {gpt,multRec,multMCTrueTracks};         \r
 \r
         fMCAllPrimTrackMultHist1->Fill(valMCAllTrackMultHist1);\r
         fMCAllPrimTrackTrueMultHist1->Fill(valMCAllTrackTrueMultHist1);\r
+        fMCAllPrimTrackTrueMultHist2->Fill(valMCAllTrackTrueMultHist2);\r
 \r
         if(evtType == AliPWG0Helper::kND) {\r
           fMCNDEventAllPrimTrackMultHist1->Fill(valMCAllTrackMultHist1);\r
           fMCNDEventAllPrimTrackTrueMultHist1->Fill(valMCAllTrackTrueMultHist1);\r
+          fMCNDEventAllPrimTrackTrueMultHist2->Fill(valMCAllTrackTrueMultHist2);\r
         }\r
         if(evtType != AliPWG0Helper::kSD) {\r
           fMCNSDEventAllPrimTrackMultHist1->Fill(valMCAllTrackMultHist1);\r
           fMCNSDEventAllPrimTrackTrueMultHist1->Fill(valMCAllTrackTrueMultHist1);\r
+          fMCNSDEventAllPrimTrackTrueMultHist2->Fill(valMCAllTrackTrueMultHist2);\r
         }\r
         if(isEventTriggered) { \r
          fMCTriggerPrimTrackMultHist1->Fill(valMCAllTrackMultHist1);\r
           fMCTriggerPrimTrackTrueMultHist1->Fill(valMCAllTrackTrueMultHist1);\r
+          fMCTriggerPrimTrackTrueMultHist2->Fill(valMCAllTrackTrueMultHist2);\r
        }\r
         if(isEventTriggered && isEventOK) { \r
          fMCEventPrimTrackMultHist1->Fill(valMCAllTrackMultHist1);\r
           fMCEventPrimTrackTrueMultHist1->Fill(valMCAllTrackTrueMultHist1);\r
+          fMCEventPrimTrackTrueMultHist2->Fill(valMCAllTrackTrueMultHist2);\r
        }\r
       }\r
 \r
@@ -1448,7 +1576,10 @@ void AlidNdPtCorrection::FillHistograms(AliESDtrack * const esdTrack, AliStack *
 \r
       if( IsUseMCInfo() ) {\r
         Double_t valCorrRecTrackTrueMultHist1[3] = {pt,eta,trueMult};    \r
+        Double_t valCorrRecTrackTrueMultHist2[3] = {pt,mult,trueMult};   \r
+\r
         fCorrRecTrackTrueMultHist1[i]->Fill(valCorrRecTrackTrueMultHist1,corrF[i]);\r
+        fCorrRecTrackTrueMultHist2[i]->Fill(valCorrRecTrackTrueMultHist2,corrF[i]);\r
       } \r
     }\r
   }\r
@@ -1595,6 +1726,7 @@ Long64_t AlidNdPtCorrection::Merge(TCollection* const list)
   \r
     fMCEventHist1->Add(entry->fMCEventHist1);\r
     fRecEventHist1->Add(entry->fRecEventHist1);\r
+    fRecEventMultHist1->Add(entry->fRecEventMultHist1);\r
 \r
     fMCAllEventMultHist1->Add(entry->fMCAllEventMultHist1);\r
     fMCAllNDEventMultHist1->Add(entry->fMCAllNDEventMultHist1);\r
@@ -1614,6 +1746,12 @@ Long64_t AlidNdPtCorrection::Merge(TCollection* const list)
     fMCTriggerPrimTrackTrueMultHist1->Add(entry->fMCTriggerPrimTrackTrueMultHist1);\r
     fMCEventPrimTrackTrueMultHist1->Add(entry->fMCEventPrimTrackTrueMultHist1);\r
 \r
+    fMCAllPrimTrackTrueMultHist2->Add(entry->fMCAllPrimTrackTrueMultHist2);\r
+    fMCNDEventAllPrimTrackTrueMultHist2->Add(entry->fMCNDEventAllPrimTrackTrueMultHist2);\r
+    fMCNSDEventAllPrimTrackTrueMultHist2->Add(entry->fMCNSDEventAllPrimTrackTrueMultHist2);\r
+    fMCTriggerPrimTrackTrueMultHist2->Add(entry->fMCTriggerPrimTrackTrueMultHist2);\r
+    fMCEventPrimTrackTrueMultHist2->Add(entry->fMCEventPrimTrackTrueMultHist2);\r
+\r
     fMCAllPrimTrackMeanPtMult1->Add(entry->fMCAllPrimTrackMeanPtMult1);\r
     fMCNDEventAllPrimTrackMeanPtMult1->Add(entry->fMCNDEventAllPrimTrackMeanPtMult1);\r
     fMCNSDEventAllPrimTrackMeanPtMult1->Add(entry->fMCNSDEventAllPrimTrackMeanPtMult1);\r
@@ -1635,6 +1773,7 @@ Long64_t AlidNdPtCorrection::Merge(TCollection* const list)
     for(Int_t i=0; i<8; i++) {\r
       fCorrRecTrackMultHist1[i]->Add(entry->fCorrRecTrackMultHist1[i]);\r
       fCorrRecTrackTrueMultHist1[i]->Add(entry->fCorrRecTrackTrueMultHist1[i]);\r
+      fCorrRecTrackTrueMultHist2[i]->Add(entry->fCorrRecTrackTrueMultHist2[i]);\r
 \r
       fCorrRecTrackMeanPtMultHist1[i]->Add(entry->fCorrRecTrackMeanPtMultHist1[i]);\r
       fCorrRecTrackMeanPtTrueMultHist1[i]->Add(entry->fCorrRecTrackMeanPtTrueMultHist1[i]);\r
index 7166b95..efebd37 100644 (file)
@@ -69,6 +69,10 @@ public :
   Double_t GetContFactZvMult(THnSparse *const hist=0, Double_t zv =0, Int_t mult=0) const;
 
   // Getters
+  THnSparseF *GetMCEventHist1() const { return fMCEventHist1;};
+  THnSparseF *GetRecEventHist1() const { return fRecEventHist1;};
+  THnSparseF *GetRecEventMultHist1() const { return fRecEventMultHist1;};
+
   THnSparseF *GetMCAllEventMultHist1() const {return fMCAllEventMultHist1;}; 
   THnSparseF *GetMCAllNDEventMultHist1() const {return fMCAllNDEventMultHist1;}; 
   THnSparseF *GetMCAllNSDEventMultHist1() const {return fMCAllNSDEventMultHist1;}; 
@@ -87,6 +91,14 @@ public :
   THnSparseF *GetMCTriggerPrimTrackTrueMultHist1() const {return fMCTriggerPrimTrackTrueMultHist1;}; 
   THnSparseF *GetMCEventPrimTrackTrueMultHist1() const {return fMCEventPrimTrackTrueMultHist1;}; 
 
+  THnSparseF *GetMCAllPrimTrackTrueMultHist2() const {return fMCAllPrimTrackTrueMultHist2;}; 
+  THnSparseF *GetMCNDEventAllPrimTrackTrueMultHist2() const {return fMCNDEventAllPrimTrackTrueMultHist2;}; 
+  THnSparseF *GetMCNSDEventAllPrimTrackTrueMultHist2() const {return fMCNSDEventAllPrimTrackTrueMultHist2;}; 
+  THnSparseF *GetMCTriggerPrimTrackTrueMultHist2() const {return fMCTriggerPrimTrackTrueMultHist2;}; 
+  THnSparseF *GetMCEventPrimTrackTrueMultHist2() const {return fMCEventPrimTrackTrueMultHist2;}; 
+
+
+
 
   THnSparseF *GetMCAllPrimTrackMeanPtMult1() const {return fMCAllPrimTrackMeanPtMult1;}; 
   THnSparseF *GetMCNDEventAllPrimTrackMeanPtMult1() const {return fMCNDEventAllPrimTrackMeanPtMult1;}; 
@@ -102,6 +114,7 @@ public :
 
   THnSparseF *GetCorrRecTrackMultHist1(Int_t i) const {return fCorrRecTrackMultHist1[i];}
   THnSparseF *GetCorrRecTrackTrueMultHist1(Int_t i) const {return fCorrRecTrackTrueMultHist1[i];}
+  THnSparseF *GetCorrRecTrackTrueMultHist2(Int_t i) const {return fCorrRecTrackTrueMultHist2[i];}
   THnSparseF *GetCorrRecTrackMeanPtMultHist1(Int_t i) const {return fCorrRecTrackMeanPtMultHist1[i];}
   THnSparseF *GetCorrRecTrackMeanPtTrueMultHist1(Int_t i) const {return fCorrRecTrackMeanPtTrueMultHist1[i];}
   THnSparseF *GetCorrRecTrackPt1(Int_t i) const {return fCorrRecTrackPt1[i];}
@@ -173,6 +186,7 @@ private:
   //
   THnSparseF *fMCEventHist1;  //-> mcXv:mcYv:mcZv
   THnSparseF *fRecEventHist1; //-> Xv:Yv:Zv
+  THnSparseF *fRecEventMultHist1; //-> track multiplicity:tracklet multiplicity
 
   // all MC events
   THnSparseF *fMCAllEventMultHist1; //-> mcZv:multiplicity
@@ -209,22 +223,20 @@ private:
   THnSparseF *fMCEventPrimTrackMultHist1; //-> mcPt:mcEta:multiplicity
 
   // true multiplicity 
-
-  // all mc primary tracks in acceptance (INEL)
   THnSparseF *fMCAllPrimTrackTrueMultHist1; //-> mcPt:mcEta:true multiplicity
-
-  // all mc primary tracks in acceptance (ND events)
   THnSparseF *fMCNDEventAllPrimTrackTrueMultHist1; //-> mcPt:mcEta:true multiplicity
-
-  // all mc primary tracks in acceptance (NSD events)
   THnSparseF *fMCNSDEventAllPrimTrackTrueMultHist1; //-> mcPt:mcEta:true multiplicity
-
-  // all mc primary tracks in acceptance (triggered events)
   THnSparseF *fMCTriggerPrimTrackTrueMultHist1; //-> mcPt:mcEta:true multiplicity
-
-  // mc primary tracks in acceptance (triggered and event vertex reconstructed)
   THnSparseF *fMCEventPrimTrackTrueMultHist1; //-> mcPt:mcEta:true multiplicity
 
+  // mcPT multiplicity vs true multiplicity 
+  THnSparseF *fMCAllPrimTrackTrueMultHist2; //-> mcPt:multiplicity:true multiplicity
+  THnSparseF *fMCNDEventAllPrimTrackTrueMultHist2; //-> mcPt:multiplicity:true multiplicity
+  THnSparseF *fMCNSDEventAllPrimTrackTrueMultHist2; //-> mcPt:multiplicity:true multiplicity
+  THnSparseF *fMCTriggerPrimTrackTrueMultHist2; //-> mcPt:multiplicity:true multiplicity
+  THnSparseF *fMCEventPrimTrackTrueMultHist2; //-> mcPt:multiplicity:true multiplicity
+
+
   //
   // mc <pt> from the event
   //
@@ -261,6 +273,7 @@ private:
   // [7]=[4]+trigger MBToNSD)
   THnSparseF *fCorrRecTrackMultHist1[8]; //-> Pt:Eta:mult corrected histograms 
   THnSparseF *fCorrRecTrackTrueMultHist1[8]; //-> Pt:Eta:trueMult corrected histograms
+  THnSparseF *fCorrRecTrackTrueMultHist2[8]; //-> Pt:mult:trueMult corrected histograms
 
   // <pt> vs multiplicity from the event
   THnSparseF *fCorrRecTrackMeanPtMultHist1[8]; //-> <Pt>:mult corrected histograms
index 20582a5..45a5bb6 100644 (file)
@@ -148,9 +148,9 @@ void AlidNdPtCutAnalysis::Init(){
   //\r
 \r
   //nClust:chi2PerClust:nClust/nFindableClust:DCAy:DCAz:eta:phi:pt:isKink:isPrim:polarity\r
-  Int_t binsRecMCTrackHist[11]={160,80,80,80,80,30,90,ptNbins, 2, 2, 2};\r
-  Double_t minRecMCTrackHist[11]={0., 0., 0., -10.,-10.,-1.5, 0., ptMin, 0., 0., 0.};\r
-  Double_t maxRecMCTrackHist[11]={160.,10.,1.2, 10.,10.,1.5, 2.*TMath::Pi(), ptMax, 2.,2., 2.};\r
+  Int_t binsRecMCTrackHist[11]={160,80,80,100,100,30,90,ptNbins, 2, 2, 2};\r
+  Double_t minRecMCTrackHist[11]={0., 0., 0., -5.,-5.,-1.5, 0., ptMin, 0., 0., 0.};\r
+  Double_t maxRecMCTrackHist[11]={160.,10.,1.2, 5.,5.,1.5, 2.*TMath::Pi(), ptMax, 2.,2., 2.};\r
 \r
   fRecMCTrackHist = new THnSparseF("fRecMCTrackHist","nClust:chi2PerClust:nClust/nFindableClust:DCAy:DCAz:eta:phi:pt:isKink:isPrim:polarity",11,binsRecMCTrackHist,minRecMCTrackHist,maxRecMCTrackHist);\r
   fRecMCTrackHist->SetBinEdges(7,binsPt);\r