]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskJetShapeDeriv.cxx
add DeltaMRel histo to JetShape ana classes
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / UserTasks / AliAnalysisTaskJetShapeDeriv.cxx
index b1b9ed9c4e32e60275399f8bb15608b13f11b404..2246ff553dc47238c726104c86a4b9a7e7bcabff 100644 (file)
@@ -63,6 +63,7 @@ AliAnalysisTaskJetShapeDeriv::AliAnalysisTaskJetShapeDeriv() :
   fh2MSubPtTrue(0x0),
   fh2MTruePtTrue(0x0),
   fh2PtTrueDeltaM(0x0),
+  fh2PtTrueDeltaMRel(0x0),
   fhnMassResponse(0x0),
   fh2PtTrueSubFacV1(0x0),
   fh2PtRawSubFacV1(0x0),
@@ -81,6 +82,7 @@ AliAnalysisTaskJetShapeDeriv::AliAnalysisTaskJetShapeDeriv() :
   fh2MSubPtTrue       = new TH2F*[fNcentBins];
   fh2MTruePtTrue      = new TH2F*[fNcentBins];
   fh2PtTrueDeltaM     = new TH2F*[fNcentBins];
+  fh2PtTrueDeltaMRel  = new TH2F*[fNcentBins];
   fhnMassResponse     = new THnSparse*[fNcentBins];
   fh2PtTrueSubFacV1   = new TH2F*[fNcentBins];
   fh2PtRawSubFacV1    = new TH2F*[fNcentBins];
@@ -98,6 +100,7 @@ AliAnalysisTaskJetShapeDeriv::AliAnalysisTaskJetShapeDeriv() :
     fh2MSubPtTrue[i]       = 0;
     fh2MTruePtTrue[i]      = 0;
     fh2PtTrueDeltaM[i]     = 0;
+    fh2PtTrueDeltaMRel[i]  = 0;
     fhnMassResponse[i]     = 0;
     fh2PtTrueSubFacV1[i]   = 0;
     fh2PtRawSubFacV1[i]    = 0;
@@ -140,6 +143,7 @@ AliAnalysisTaskJetShapeDeriv::AliAnalysisTaskJetShapeDeriv(const char *name) :
   fh2MSubPtTrue(0x0),
   fh2MTruePtTrue(0x0),
   fh2PtTrueDeltaM(0x0),
+  fh2PtTrueDeltaMRel(0x0),
   fhnMassResponse(0x0),
   fh2PtTrueSubFacV1(0x0),
   fh2PtRawSubFacV1(0x0),
@@ -158,6 +162,7 @@ AliAnalysisTaskJetShapeDeriv::AliAnalysisTaskJetShapeDeriv(const char *name) :
   fh2MSubPtTrue       = new TH2F*[fNcentBins];
   fh2MTruePtTrue      = new TH2F*[fNcentBins];
   fh2PtTrueDeltaM     = new TH2F*[fNcentBins];
+  fh2PtTrueDeltaMRel  = new TH2F*[fNcentBins];
   fhnMassResponse     = new THnSparse*[fNcentBins];
   fh2PtTrueSubFacV1   = new TH2F*[fNcentBins];
   fh2PtRawSubFacV1    = new TH2F*[fNcentBins];
@@ -175,6 +180,7 @@ AliAnalysisTaskJetShapeDeriv::AliAnalysisTaskJetShapeDeriv(const char *name) :
     fh2MSubPtTrue[i]       = 0;
     fh2MTruePtTrue[i]      = 0;
     fh2PtTrueDeltaM[i]     = 0;
+    fh2PtTrueDeltaMRel[i]  = 0;
     fhnMassResponse[i]     = 0;
     fh2PtTrueSubFacV1[i]   = 0;
     fh2PtRawSubFacV1[i]    = 0;
@@ -262,6 +268,11 @@ void AliAnalysisTaskJetShapeDeriv::UserCreateOutputObjects()
     fh2PtTrueDeltaM[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,100,-50.,50.);
     fOutput->Add(fh2PtTrueDeltaM[i]);
 
+    histName = Form("fh2PtTrueDeltaMRel_%d",i);
+    histTitle = Form("fh2PtTrueDeltaMRel_%d;#it{p}_{T,true};(#it{M}_{sub}-#it{M}_{true})/#it{M}_{true}",i);
+    fh2PtTrueDeltaMRel[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,200,-1.,1.);
+    fOutput->Add(fh2PtTrueDeltaMRel[i]);
+
     histName = Form("fhnMassResponse_%d",i);
     histTitle = Form("fhnMassResponse_%d;#it{M}_{sub};#it{M}_{true};#it{p}_{T,sub};#it{p}_{T,true}",i);
     fhnMassResponse[i] = new THnSparseF(histName.Data(),histTitle.Data(),nBinsSparse0,nBins0,xmin0,xmax0);
@@ -397,6 +408,7 @@ Bool_t AliAnalysisTaskJetShapeDeriv::FillHistograms()
          fh2MSubPtTrue[fCentBin]->Fill(jet1->GetSecondOrderSubtracted(),jet2->Pt());
          fh2MTruePtTrue[fCentBin]->Fill(jet2->M(),jet2->Pt());
          fh2PtTrueDeltaM[fCentBin]->Fill(jet2->Pt(),jet1->GetSecondOrderSubtracted()-jet2->M());
+         if(jet2->M()>0.) fh2PtTrueDeltaMRel[fCentBin]->Fill(jet2->Pt(),(jet1->GetSecondOrderSubtracted()-jet2->M())/jet2->M());
          Double_t var[4] = {jet1->GetSecondOrderSubtracted(),jet2->M(),jet1->Pt()-jetCont->GetRhoVal()*jet1->Area(),jet2->Pt()};
          fhnMassResponse[fCentBin]->Fill(var);
        }