]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetMass.cxx
Overload second find method from TObject
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskEmcalJetMass.cxx
index eeec5c89cb69dd2e37ad9a74c9a0765304c28cc4..639ae40fea4a7a40c34678d9978d1516a16702ab 100644 (file)
@@ -41,12 +41,9 @@ AliAnalysisTaskEmcalJetMass::AliAnalysisTaskEmcalJetMass() :
   fContainerBase(0),
   fMinFractionShared(0),
   fJetMassType(kRaw),
-  fh2PtJet1VsLeadPtAllSel(0),
-  fh2PtJet1VsLeadPtTagged(0),
-  fh2PtJet1VsLeadPtTaggedMatch(0),
-  fh2PtVsMassJet1All(0),
-  fh2PtVsMassJet1Tagged(0),
-  fh2PtVsMassJet1TaggedMatch(0),
+  fh3PtJet1VsMassVsLeadPtAllSel(0),
+  fh3PtJet1VsMassVsLeadPtTagged(0),
+  fh3PtJet1VsMassVsLeadPtTaggedMatch(0),
   fpPtVsMassJet1All(0),
   fpPtVsMassJet1Tagged(0),
   fpPtVsMassJet1TaggedMatch(0),
@@ -60,40 +57,34 @@ AliAnalysisTaskEmcalJetMass::AliAnalysisTaskEmcalJetMass() :
 {
   // Default constructor.
 
-  fh2PtJet1VsLeadPtAllSel        = new TH2F*[fNcentBins];
-  fh2PtJet1VsLeadPtTagged        = new TH2F*[fNcentBins];
-  fh2PtJet1VsLeadPtTaggedMatch   = new TH2F*[fNcentBins];
-  fh2PtVsMassJet1All             = new TH2F*[fNcentBins];
-  fh2PtVsMassJet1Tagged          = new TH2F*[fNcentBins];
-  fh2PtVsMassJet1TaggedMatch     = new TH2F*[fNcentBins];
-  fpPtVsMassJet1All              = new TProfile*[fNcentBins];
-  fpPtVsMassJet1Tagged           = new TProfile*[fNcentBins];
-  fpPtVsMassJet1TaggedMatch      = new TProfile*[fNcentBins];
-  fh2MassVsAreaJet1All           = new TH2F*[fNcentBins];
-  fh2MassVsAreaJet1Tagged        = new TH2F*[fNcentBins];
-  fh2MassVsAreaJet1TaggedMatch   = new TH2F*[fNcentBins];
-  fh2MassVsNConstJet1All         = new TH2F*[fNcentBins];
-  fh2MassVsNConstJet1Tagged      = new TH2F*[fNcentBins];
-  fh2MassVsNConstJet1TaggedMatch = new TH2F*[fNcentBins];
-  fh2EtMassOverEtRSq             = new TH2F*[fNcentBins];
+  fh3PtJet1VsMassVsLeadPtAllSel        = new TH3F*[fNcentBins];
+  fh3PtJet1VsMassVsLeadPtTagged        = new TH3F*[fNcentBins];
+  fh3PtJet1VsMassVsLeadPtTaggedMatch   = new TH3F*[fNcentBins];
+  fpPtVsMassJet1All                    = new TProfile*[fNcentBins];
+  fpPtVsMassJet1Tagged                 = new TProfile*[fNcentBins];
+  fpPtVsMassJet1TaggedMatch            = new TProfile*[fNcentBins];
+  fh2MassVsAreaJet1All                 = new TH2F*[fNcentBins];
+  fh2MassVsAreaJet1Tagged              = new TH2F*[fNcentBins];
+  fh2MassVsAreaJet1TaggedMatch         = new TH2F*[fNcentBins];
+  fh2MassVsNConstJet1All               = new TH2F*[fNcentBins];
+  fh2MassVsNConstJet1Tagged            = new TH2F*[fNcentBins];
+  fh2MassVsNConstJet1TaggedMatch       = new TH2F*[fNcentBins];
+  fh2EtMassOverEtRSq                   = new TH2F*[fNcentBins];
 
   for (Int_t i = 0; i < fNcentBins; i++) {
-    fh2PtJet1VsLeadPtAllSel[i]        = 0;
-    fh2PtJet1VsLeadPtTagged[i]        = 0;
-    fh2PtJet1VsLeadPtTaggedMatch[i]   = 0;
-    fh2PtVsMassJet1All[i]             = 0;
-    fh2PtVsMassJet1Tagged[i]          = 0;
-    fh2PtVsMassJet1TaggedMatch[i]     = 0;
-    fpPtVsMassJet1All[i]              = 0;
-    fpPtVsMassJet1Tagged[i]           = 0;
-    fpPtVsMassJet1TaggedMatch[i]      = 0;
-    fh2MassVsAreaJet1All[i]           = 0;
-    fh2MassVsAreaJet1Tagged[i]        = 0;
-    fh2MassVsAreaJet1TaggedMatch[i]   = 0;
-    fh2MassVsNConstJet1All[i]         = 0;
-    fh2MassVsNConstJet1Tagged[i]      = 0;
-    fh2MassVsNConstJet1TaggedMatch[i] = 0;
-    fh2EtMassOverEtRSq[i]             = 0;
+    fh3PtJet1VsMassVsLeadPtAllSel[i]        = 0;
+    fh3PtJet1VsMassVsLeadPtTagged[i]        = 0;
+    fh3PtJet1VsMassVsLeadPtTaggedMatch[i]   = 0;
+    fpPtVsMassJet1All[i]                    = 0;
+    fpPtVsMassJet1Tagged[i]                 = 0;
+    fpPtVsMassJet1TaggedMatch[i]            = 0;
+    fh2MassVsAreaJet1All[i]                 = 0;
+    fh2MassVsAreaJet1Tagged[i]              = 0;
+    fh2MassVsAreaJet1TaggedMatch[i]         = 0;
+    fh2MassVsNConstJet1All[i]               = 0;
+    fh2MassVsNConstJet1Tagged[i]            = 0;
+    fh2MassVsNConstJet1TaggedMatch[i]       = 0;
+    fh2EtMassOverEtRSq[i]                   = 0;
   }
 
   SetMakeGeneralHistograms(kTRUE);
@@ -105,12 +96,9 @@ AliAnalysisTaskEmcalJetMass::AliAnalysisTaskEmcalJetMass(const char *name) :
   fContainerBase(0),
   fMinFractionShared(0),
   fJetMassType(kRaw),
-  fh2PtJet1VsLeadPtAllSel(0),
-  fh2PtJet1VsLeadPtTagged(0),
-  fh2PtJet1VsLeadPtTaggedMatch(0),
-  fh2PtVsMassJet1All(0),
-  fh2PtVsMassJet1Tagged(0),
-  fh2PtVsMassJet1TaggedMatch(0),
+  fh3PtJet1VsMassVsLeadPtAllSel(0),
+  fh3PtJet1VsMassVsLeadPtTagged(0),
+  fh3PtJet1VsMassVsLeadPtTaggedMatch(0),
   fpPtVsMassJet1All(0),
   fpPtVsMassJet1Tagged(0),
   fpPtVsMassJet1TaggedMatch(0),
@@ -124,40 +112,34 @@ AliAnalysisTaskEmcalJetMass::AliAnalysisTaskEmcalJetMass(const char *name) :
 {
   // Standard constructor.
 
-  fh2PtJet1VsLeadPtAllSel        = new TH2F*[fNcentBins];
-  fh2PtJet1VsLeadPtTagged        = new TH2F*[fNcentBins];
-  fh2PtJet1VsLeadPtTaggedMatch   = new TH2F*[fNcentBins];
-  fh2PtVsMassJet1All             = new TH2F*[fNcentBins];
-  fh2PtVsMassJet1Tagged          = new TH2F*[fNcentBins];
-  fh2PtVsMassJet1TaggedMatch     = new TH2F*[fNcentBins];
-  fpPtVsMassJet1All              = new TProfile*[fNcentBins];
-  fpPtVsMassJet1Tagged           = new TProfile*[fNcentBins];
-  fpPtVsMassJet1TaggedMatch      = new TProfile*[fNcentBins];
-  fh2MassVsAreaJet1All           = new TH2F*[fNcentBins];
-  fh2MassVsAreaJet1Tagged        = new TH2F*[fNcentBins];
-  fh2MassVsAreaJet1TaggedMatch   = new TH2F*[fNcentBins];
-  fh2MassVsNConstJet1All         = new TH2F*[fNcentBins];
-  fh2MassVsNConstJet1Tagged      = new TH2F*[fNcentBins];
-  fh2MassVsNConstJet1TaggedMatch = new TH2F*[fNcentBins];
-  fh2EtMassOverEtRSq             = new TH2F*[fNcentBins];
+  fh3PtJet1VsMassVsLeadPtAllSel        = new TH3F*[fNcentBins];
+  fh3PtJet1VsMassVsLeadPtTagged        = new TH3F*[fNcentBins];
+  fh3PtJet1VsMassVsLeadPtTaggedMatch   = new TH3F*[fNcentBins];
+  fpPtVsMassJet1All                    = new TProfile*[fNcentBins];
+  fpPtVsMassJet1Tagged                 = new TProfile*[fNcentBins];
+  fpPtVsMassJet1TaggedMatch            = new TProfile*[fNcentBins];
+  fh2MassVsAreaJet1All                 = new TH2F*[fNcentBins];
+  fh2MassVsAreaJet1Tagged              = new TH2F*[fNcentBins];
+  fh2MassVsAreaJet1TaggedMatch         = new TH2F*[fNcentBins];
+  fh2MassVsNConstJet1All               = new TH2F*[fNcentBins];
+  fh2MassVsNConstJet1Tagged            = new TH2F*[fNcentBins];
+  fh2MassVsNConstJet1TaggedMatch       = new TH2F*[fNcentBins];
+  fh2EtMassOverEtRSq                   = new TH2F*[fNcentBins];
 
   for (Int_t i = 0; i < fNcentBins; i++) {
-    fh2PtJet1VsLeadPtAllSel[i]        = 0;
-    fh2PtJet1VsLeadPtTagged[i]        = 0;
-    fh2PtJet1VsLeadPtTaggedMatch[i]   = 0;
-    fh2PtVsMassJet1All[i]             = 0;
-    fh2PtVsMassJet1Tagged[i]          = 0;
-    fh2PtVsMassJet1TaggedMatch[i]     = 0;
-    fpPtVsMassJet1All[i]              = 0;
-    fpPtVsMassJet1Tagged[i]           = 0;
-    fpPtVsMassJet1TaggedMatch[i]      = 0;
-    fh2MassVsAreaJet1All[i]           = 0;
-    fh2MassVsAreaJet1Tagged[i]        = 0;
-    fh2MassVsAreaJet1TaggedMatch[i]   = 0;
-    fh2MassVsNConstJet1All[i]         = 0;
-    fh2MassVsNConstJet1Tagged[i]      = 0;
-    fh2MassVsNConstJet1TaggedMatch[i] = 0;
-    fh2EtMassOverEtRSq[i]             = 0;
+    fh3PtJet1VsMassVsLeadPtAllSel[i]        = 0;
+    fh3PtJet1VsMassVsLeadPtTagged[i]        = 0;
+    fh3PtJet1VsMassVsLeadPtTaggedMatch[i]   = 0;
+    fpPtVsMassJet1All[i]                    = 0;
+    fpPtVsMassJet1Tagged[i]                 = 0;
+    fpPtVsMassJet1TaggedMatch[i]            = 0;
+    fh2MassVsAreaJet1All[i]                 = 0;
+    fh2MassVsAreaJet1Tagged[i]              = 0;
+    fh2MassVsAreaJet1TaggedMatch[i]         = 0;
+    fh2MassVsNConstJet1All[i]               = 0;
+    fh2MassVsNConstJet1Tagged[i]            = 0;
+    fh2MassVsNConstJet1TaggedMatch[i]       = 0;
+    fh2EtMassOverEtRSq[i]                   = 0;
   }
 
   SetMakeGeneralHistograms(kTRUE);
@@ -179,15 +161,15 @@ void AliAnalysisTaskEmcalJetMass::UserCreateOutputObjects()
   Bool_t oldStatus = TH1::AddDirectoryStatus();
   TH1::AddDirectory(kFALSE);
 
-  const Int_t nBinsPt  = 250;
+  const Int_t nBinsPt  = 200;
   const Double_t minPt = -50.;
-  const Double_t maxPt = 200.;
+  const Double_t maxPt = 150.;
 
-  const Int_t nBinsM  = 150;
-  const Double_t minM = -50.;
-  const Double_t maxM = 100.;
+  const Int_t nBinsM  = 100;
+  const Double_t minM = -20.;
+  const Double_t maxM = 80.;
 
-  const Int_t nBinsArea = 100;
+  const Int_t nBinsArea = 50;
   const Double_t minArea = 0.;
   const Double_t maxArea = 1.;
 
@@ -198,49 +180,34 @@ void AliAnalysisTaskEmcalJetMass::UserCreateOutputObjects()
   TString histName = "";
   TString histTitle = "";
   for (Int_t i = 0; i < fNcentBins; i++) {
-    histName = TString::Format("fh2PtJet1VsLeadPtAllSel_%d",i);
-    histTitle = TString::Format("%s;#it{p}_{T,jet1};#it{p}_{T,lead trk}",histName.Data());
-    fh2PtJet1VsLeadPtAllSel[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,20,0.,20.);
-    fOutput->Add(fh2PtJet1VsLeadPtAllSel[i]);
-
-    histName = TString::Format("fh2PtJet1VsLeadPtTagged_%d",i);
-    histTitle = TString::Format("%s;#it{p}_{T,jet1};#it{p}_{T,lead trk}",histName.Data());
-    fh2PtJet1VsLeadPtTagged[i] =  new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,20,0.,20.);
-    fOutput->Add(fh2PtJet1VsLeadPtTagged[i]);
-
-    histName = TString::Format("fh2PtJet1VsLeadPtTaggedMatch_%d",i);
-    histTitle = TString::Format("%s;#it{p}_{T,jet1};#it{p}_{T,lead trk}",histName.Data());
-    fh2PtJet1VsLeadPtTaggedMatch[i] =  new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,20,0.,20.);
-    fOutput->Add(fh2PtJet1VsLeadPtTaggedMatch[i]);
-
-    histName = TString::Format("fh2PtVsMassJet1All_%d",i);
-    histTitle = TString::Format("%s;#it{p}_{T,jet1};#it{M}_{jet1}",histName.Data());
-    fh2PtVsMassJet1All[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
-    fOutput->Add(fh2PtVsMassJet1All[i]);
-
-    histName = TString::Format("fh2PtVsMassJet1Tagged_%d",i);
-    histTitle = TString::Format("%s;#it{p}_{T,jet1};#it{M}_{jet1}",histName.Data());
-    fh2PtVsMassJet1Tagged[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
-    fOutput->Add(fh2PtVsMassJet1Tagged[i]);
-
-    histName = TString::Format("fh2PtVsMassJet1TaggedMatch_%d",i);
-    histTitle = TString::Format("%s;#it{p}_{T,jet1};#it{M}_{jet1}",histName.Data());
-    fh2PtVsMassJet1TaggedMatch[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsM,minM,maxM);
-    fOutput->Add(fh2PtVsMassJet1TaggedMatch[i]);
+    histName = TString::Format("fh3PtJet1VsMassVsLeadPtAllSel_%d",i);
+    histTitle = TString::Format("%s;#it{p}_{T,jet1};#it{M}_{jet1};#it{p}_{T,lead trk}",histName.Data());
+    fh3PtJet1VsMassVsLeadPtAllSel[i] = new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsM,minM,maxM,20,0.,20.);
+    fOutput->Add(fh3PtJet1VsMassVsLeadPtAllSel[i]);
+
+    histName = TString::Format("fh3PtJet1VsMassVsLeadPtTagged_%d",i);
+    histTitle = TString::Format("%s;#it{p}_{T,jet1};#it{M}_{jet1};#it{p}_{T,lead trk}",histName.Data());
+    fh3PtJet1VsMassVsLeadPtTagged[i] =  new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsM,minM,maxM,20,0.,20.);
+    fOutput->Add(fh3PtJet1VsMassVsLeadPtTagged[i]);
+
+    histName = TString::Format("fh3PtJet1VsMassVsLeadPtTaggedMatch_%d",i);
+    histTitle = TString::Format("%s;#it{p}_{T,jet1};#it{M}_{jet1};#it{p}_{T,lead trk}",histName.Data());
+    fh3PtJet1VsMassVsLeadPtTaggedMatch[i] =  new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsM,minM,maxM,20,0.,20.);
+    fOutput->Add(fh3PtJet1VsMassVsLeadPtTaggedMatch[i]);
 
     histName = TString::Format("fpPtVsMassJet1All_%d",i);
     histTitle = TString::Format("%s;#it{p}_{T,jet1};Avg #it{M}_{jet1}",histName.Data());
-    fpPtVsMassJet1All[i] = new TProfile(histName.Data(),histTitle.Data(),nBinsM,minM,maxM);
+    fpPtVsMassJet1All[i] = new TProfile(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt);
     fOutput->Add(fpPtVsMassJet1All[i]);
 
     histName = TString::Format("fpPtVsMassJet1Tagged_%d",i);
     histTitle = TString::Format("%s;#it{p}_{T,jet1};Avg #it{M}_{jet1}",histName.Data());
-    fpPtVsMassJet1Tagged[i] = new TProfile(histName.Data(),histTitle.Data(),nBinsM,minM,maxM);
+    fpPtVsMassJet1Tagged[i] = new TProfile(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt);
     fOutput->Add(fpPtVsMassJet1Tagged[i]);
 
     histName = TString::Format("fpPtVsMassJet1TaggedMatch_%d",i);
     histTitle = TString::Format("%s;#it{p}_{T,jet1};Avg #it{M}_{jet1}",histName.Data());
-    fpPtVsMassJet1TaggedMatch[i] = new TProfile(histName.Data(),histTitle.Data(),nBinsM,minM,maxM);
+    fpPtVsMassJet1TaggedMatch[i] = new TProfile(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt);
     fOutput->Add(fpPtVsMassJet1TaggedMatch[i]);
 
     histName = TString::Format("fh2MassVsAreaJet1All_%d",i);
@@ -316,8 +283,7 @@ Bool_t AliAnalysisTaskEmcalJetMass::FillHistograms()
 
       Double_t ptJet1 = jet1->Pt() - GetRhoVal(fContainerBase)*jet1->Area();
       Double_t mJet1 = GetJetMass(jet1);
-      fh2PtJet1VsLeadPtAllSel[fCentBin]->Fill(ptJet1,jet1->MaxTrackPt());
-      fh2PtVsMassJet1All[fCentBin]->Fill(ptJet1,mJet1);
+      fh3PtJet1VsMassVsLeadPtAllSel[fCentBin]->Fill(ptJet1,mJet1,jet1->MaxTrackPt());
       fpPtVsMassJet1All[fCentBin]->Fill(ptJet1,mJet1);
       fh2MassVsAreaJet1All[fCentBin]->Fill(mJet1,jet1->Area());
       fh2MassVsNConstJet1All[fCentBin]->Fill(mJet1,jet1->GetNumberOfConstituents());
@@ -325,26 +291,24 @@ Bool_t AliAnalysisTaskEmcalJetMass::FillHistograms()
       if(jet1->GetTagStatus()<1 || !jet1->GetTaggedJet())
        continue;
 
-      fh2PtJet1VsLeadPtTagged[fCentBin]->Fill(ptJet1,jet1->MaxTrackPt());
-      fh2PtVsMassJet1Tagged[fCentBin]->Fill(ptJet1,mJet1);
+      fh3PtJet1VsMassVsLeadPtTagged[fCentBin]->Fill(ptJet1,mJet1,jet1->MaxTrackPt());
       fpPtVsMassJet1Tagged[fCentBin]->Fill(ptJet1,mJet1);
       fh2MassVsAreaJet1Tagged[fCentBin]->Fill(mJet1,jet1->Area());
       fh2MassVsNConstJet1Tagged[fCentBin]->Fill(mJet1,jet1->GetNumberOfConstituents());
 
       Double_t fraction = jetCont->GetFractionSharedPt(jet1);
       if(fMinFractionShared>0. && fraction>fMinFractionShared) {
-       fh2PtJet1VsLeadPtTaggedMatch[fCentBin]->Fill(ptJet1,jet1->MaxTrackPt());
-       fh2PtVsMassJet1TaggedMatch[fCentBin]->Fill(ptJet1,mJet1);
+       fh3PtJet1VsMassVsLeadPtTaggedMatch[fCentBin]->Fill(ptJet1,mJet1,jet1->MaxTrackPt());
        fpPtVsMassJet1TaggedMatch[fCentBin]->Fill(ptJet1,mJet1);
        fh2MassVsAreaJet1TaggedMatch[fCentBin]->Fill(mJet1,jet1->Area());
        fh2MassVsNConstJet1TaggedMatch[fCentBin]->Fill(mJet1,jet1->GetNumberOfConstituents());
       }
       
-      Double_t Et2 = jet1->M()*jet1->M() + jet1->Pt()*jet1->Pt();
+      Double_t Et2 = mJet1*mJet1 + ptJet1*ptJet1;
       Double_t Et = 0.;    Double_t massOverEtR = 0.;
       if(Et2>0.) Et = TMath::Sqrt(Et2);
       if((Et*jetCont->GetJetRadius())>0.) 
-       massOverEtR = jet1->M()/(Et*jetCont->GetJetRadius());
+       massOverEtR = mJet1/(Et*jetCont->GetJetRadius());
       fh2EtMassOverEtRSq[fCentBin]->Fill(Et,massOverEtR*massOverEtR);
     }
   }
@@ -368,12 +332,10 @@ Bool_t AliAnalysisTaskEmcalJetMass::RetrieveEventObjects() {
   //
   // retrieve event objects
   //
-
   if (!AliAnalysisTaskEmcalJet::RetrieveEventObjects())
     return kFALSE;
 
   return kTRUE;
-
 }
 
 //_______________________________________________________________________