]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
add DeltaMRel histo to JetShape ana classes
authormverweij <marta.verweij@cern.ch>
Mon, 23 Jun 2014 22:32:02 +0000 (00:32 +0200)
committermverweij <marta.verweij@cern.ch>
Tue, 24 Jun 2014 11:14:17 +0000 (13:14 +0200)
PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskJetShapeConst.cxx
PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskJetShapeConst.h
PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskJetShapeDeriv.cxx
PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskJetShapeDeriv.h

index e6542fb674678697912e28eef22d9b2718b8b8ca..d735b7f5d9eba4f011c1dc97db0c6025fbde50c4 100644 (file)
@@ -61,6 +61,7 @@ AliAnalysisTaskJetShapeConst::AliAnalysisTaskJetShapeConst() :
   fh2MSubPtTrue(0x0),
   fh2MTruePtTrue(0x0),
   fh2PtTrueDeltaM(0x0),
+  fh2PtTrueDeltaMRel(0x0),
   fhnMassResponse(0x0)
 {
   // Default constructor.
@@ -71,6 +72,7 @@ AliAnalysisTaskJetShapeConst::AliAnalysisTaskJetShapeConst() :
   fh2MSubPtTrue       = new TH2F*[fNcentBins];
   fh2MTruePtTrue      = new TH2F*[fNcentBins];
   fh2PtTrueDeltaM     = new TH2F*[fNcentBins];
+  fh2PtTrueDeltaMRel  = new TH2F*[fNcentBins];
   fhnMassResponse     = new THnSparse*[fNcentBins];
 
   for (Int_t i = 0; i < fNcentBins; i++) {
@@ -80,6 +82,7 @@ AliAnalysisTaskJetShapeConst::AliAnalysisTaskJetShapeConst() :
     fh2MSubPtTrue[i]       = 0;
     fh2MTruePtTrue[i]      = 0;
     fh2PtTrueDeltaM[i]     = 0;
+    fh2PtTrueDeltaMRel[i]  = 0;
     fhnMassResponse[i]     = 0;
   }
 
@@ -112,6 +115,7 @@ AliAnalysisTaskJetShapeConst::AliAnalysisTaskJetShapeConst(const char *name) :
   fh2MSubPtTrue(0x0),
   fh2MTruePtTrue(0x0),
   fh2PtTrueDeltaM(0x0),
+  fh2PtTrueDeltaMRel(0x0),
   fhnMassResponse(0x0)
 {
   // Standard constructor.
@@ -122,6 +126,7 @@ AliAnalysisTaskJetShapeConst::AliAnalysisTaskJetShapeConst(const char *name) :
   fh2MSubPtTrue       = new TH2F*[fNcentBins];
   fh2MTruePtTrue      = new TH2F*[fNcentBins];
   fh2PtTrueDeltaM     = new TH2F*[fNcentBins];
+  fh2PtTrueDeltaMRel  = new TH2F*[fNcentBins];
   fhnMassResponse     = new THnSparse*[fNcentBins];
 
   for (Int_t i = 0; i < fNcentBins; i++) {
@@ -131,6 +136,7 @@ AliAnalysisTaskJetShapeConst::AliAnalysisTaskJetShapeConst(const char *name) :
     fh2MSubPtTrue[i]       = 0;
     fh2MTruePtTrue[i]      = 0;
     fh2PtTrueDeltaM[i]     = 0;
+    fh2PtTrueDeltaMRel[i]  = 0;
     fhnMassResponse[i]     = 0;
   }
 
@@ -201,6 +207,11 @@ void AliAnalysisTaskJetShapeConst::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);
@@ -309,6 +320,7 @@ Bool_t AliAnalysisTaskJetShapeConst::FillHistograms()
          fh2MSubPtTrue[fCentBin]->Fill(jetS->M(),jet2->Pt());
          fh2MTruePtTrue[fCentBin]->Fill(jet2->M(),jet2->Pt());
          fh2PtTrueDeltaM[fCentBin]->Fill(jet2->Pt(),jetS->M()-jet2->M());
+         if(jet2->M()>0.) fh2PtTrueDeltaMRel[fCentBin]->Fill(jet2->Pt(),(jetS->M()-jet2->M())/jet2->M());
          Double_t var[4] = {jetS->M(),jet2->M(),jet1->Pt()-jetCont->GetRhoVal()*jet1->Area(),jet2->Pt()};
          fhnMassResponse[fCentBin]->Fill(var);
        }
index f2d4cd953e7623dee189a64d600a2128c4e734c4..4891bb0b6704ffc1c682526e142fc21b1fd0a58c 100644 (file)
@@ -72,6 +72,7 @@ class AliAnalysisTaskJetShapeConst : public AliAnalysisTaskEmcalJet {
   TH2F          **fh2MSubPtTrue;                                   //! subtracted jet mass vs true jet pT for matched jets
   TH2F          **fh2MTruePtTrue;                                  //! true jet mass vs true jet pT for matched jets
   TH2F          **fh2PtTrueDeltaM;                                 //! true jet pT vs (Msub - Mtrue)
+  TH2F          **fh2PtTrueDeltaMRel;                              //! true jet pT vs (Msub - Mtrue)/Mtrue
   THnSparse     **fhnMassResponse;                                 //! Msub vs Mtrue vs PtCorr vs PtTrue
 
  private:
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);
        }
index a4d998ca177a3cfbac579c8a4b24c0a03146e87a..0933e681579ed6bf35db32273a5972bd88de45d0 100644 (file)
@@ -73,6 +73,7 @@ class AliAnalysisTaskJetShapeDeriv : public AliAnalysisTaskEmcalJet {
   TH2F          **fh2MSubPtTrue;                                   //! subtracted jet mass vs true jet pT for matched jets
   TH2F          **fh2MTruePtTrue;                                  //! true jet mass vs true jet pT for matched jets
   TH2F          **fh2PtTrueDeltaM;                                 //! true jet pT vs (Msub - Mtrue)
+  TH2F          **fh2PtTrueDeltaMRel;                              //! true jet pT vs (Msub - Mtrue)/Mtrue
   THnSparse     **fhnMassResponse;                                 //! Msub vs Mtrue vs PtCorr vs PtTrue
 
   TH2F          **fh2PtTrueSubFacV1;                               //! true pT vs -(rho+rhom)*V1