]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Add jet mass to tagged jet correlation
authormverweij <marta.verweij@cern.ch>
Mon, 21 Jul 2014 21:47:35 +0000 (17:47 -0400)
committermverweij <marta.verweij@cern.ch>
Wed, 30 Jul 2014 15:48:51 +0000 (11:48 -0400)
add mass plot vs pt jet 2

add tagged jet mass to response matrix

fix warning

PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetTagger.cxx
PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetTagger.h
PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskJetShapeConst.cxx
PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskJetShapeDeriv.cxx
PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskJetShapeGR.cxx

index a1ba217e2d475b7dd8f7d5126561a0458c3a8d4a..5bbe6b16a8047a9763bae4797364252cf86be030 100644 (file)
@@ -54,7 +54,9 @@ AliAnalysisTaskEmcalJetTagger::AliAnalysisTaskEmcalJetTagger() :
   fh2PtJet1VsPtJet2(0),
   fh3PtJetDEtaDPhiConst(0),
   fh2PtJetDRConst(0),
-  fh3PtJetAreaDRConst(0)
+  fh3PtJetAreaDRConst(0),
+  fh3PtJet1VsMassJet1MassJet2(0),
+  fh3PtJet2VsMassJet1MassJet2(0)
 {
   // Default constructor.
 
@@ -64,6 +66,8 @@ AliAnalysisTaskEmcalJetTagger::AliAnalysisTaskEmcalJetTagger() :
   fh2PtJet1VsLeadPtAllSel      = new TH2F*[fNcentBins];
   fh2PtJet1VsLeadPtTagged      = new TH2F*[fNcentBins];
   fh2PtJet1VsPtJet2            = new TH2F*[fNcentBins];
+  fh3PtJet1VsMassJet1MassJet2  = new TH3F*[fNcentBins];
+  fh3PtJet2VsMassJet1MassJet2  = new TH3F*[fNcentBins];
 
   for (Int_t i = 0; i < fNcentBins; i++) {
     fh3PtJet1VsDeltaEtaDeltaPhi[i] = 0;
@@ -72,6 +76,8 @@ AliAnalysisTaskEmcalJetTagger::AliAnalysisTaskEmcalJetTagger() :
     fh2PtJet1VsLeadPtAllSel[i]     = 0;
     fh2PtJet1VsLeadPtTagged[i]     = 0;
     fh2PtJet1VsPtJet2[i]           = 0;
+    fh3PtJet1VsMassJet1MassJet2[i] = 0;
+    fh3PtJet2VsMassJet1MassJet2[i] = 0;
   }
 
   SetMakeGeneralHistograms(kTRUE);
@@ -95,7 +101,9 @@ AliAnalysisTaskEmcalJetTagger::AliAnalysisTaskEmcalJetTagger(const char *name) :
   fh2PtJet1VsPtJet2(0),
   fh3PtJetDEtaDPhiConst(0),
   fh2PtJetDRConst(0),
-  fh3PtJetAreaDRConst(0)
+  fh3PtJetAreaDRConst(0),
+  fh3PtJet1VsMassJet1MassJet2(0),
+  fh3PtJet2VsMassJet1MassJet2(0)
 {
   // Standard constructor.
 
@@ -105,6 +113,8 @@ AliAnalysisTaskEmcalJetTagger::AliAnalysisTaskEmcalJetTagger(const char *name) :
   fh2PtJet1VsLeadPtAllSel     = new TH2F*[fNcentBins];
   fh2PtJet1VsLeadPtTagged     = new TH2F*[fNcentBins];
   fh2PtJet1VsPtJet2           = new TH2F*[fNcentBins];
+  fh3PtJet1VsMassJet1MassJet2 = new TH3F*[fNcentBins];
+  fh3PtJet2VsMassJet1MassJet2 = new TH3F*[fNcentBins];
 
   for (Int_t i = 0; i < fNcentBins; i++) {
     fh3PtJet1VsDeltaEtaDeltaPhi[i] = 0;
@@ -113,6 +123,8 @@ AliAnalysisTaskEmcalJetTagger::AliAnalysisTaskEmcalJetTagger(const char *name) :
     fh2PtJet1VsLeadPtAllSel[i]     = 0;
     fh2PtJet1VsLeadPtTagged[i]     = 0;
     fh2PtJet1VsPtJet2[i]           = 0;
+    fh3PtJet1VsMassJet1MassJet2[i] = 0;
+    fh3PtJet2VsMassJet1MassJet2[i] = 0;
   }
 
   SetMakeGeneralHistograms(kTRUE);
@@ -139,6 +151,7 @@ void AliAnalysisTaskEmcalJetTagger::UserCreateOutputObjects()
   const Int_t nBinsDEta        = 100;
   const Int_t nBinsDR          = 50;
   const Int_t nBinsFraction    = 101;
+  const Int_t nBinsM           = 150;
 
   const Double_t minPt       = -50.;
   const Double_t maxPt       = 200.;
@@ -150,6 +163,8 @@ void AliAnalysisTaskEmcalJetTagger::UserCreateOutputObjects()
   const Double_t maxDR       =  0.5;
   const Double_t minFraction =  -0.005;
   const Double_t maxFraction =  1.005;
+  const Double_t minM        = -20.;
+  const Double_t maxM        = 130.;
 
   TString histName = "";
   TString histTitle = "";
@@ -185,6 +200,15 @@ void AliAnalysisTaskEmcalJetTagger::UserCreateOutputObjects()
     fh2PtJet1VsPtJet2[i] = new TH2F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsPt,minPt,maxPt);
     fOutput->Add(fh2PtJet1VsPtJet2[i]);
 
+    histName = TString::Format("fh3PtJet1VsMassJet1MassJet2_%d",i);
+    histTitle = TString::Format("%s;#it{p}_{T,jet1};#it{M}_{jet1};#it{M}_{jet2}",histName.Data());
+    fh3PtJet1VsMassJet1MassJet2[i] = new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsM,minM,maxM,nBinsM,minM,maxM);
+    fOutput->Add(fh3PtJet1VsMassJet1MassJet2[i]);
+
+    histName = TString::Format("fh3PtJet2VsMassJet1MassJet2_%d",i);
+    histTitle = TString::Format("%s;#it{p}_{T,jet1};#it{M}_{jet1};#it{M}_{jet2}",histName.Data());
+    fh3PtJet2VsMassJet1MassJet2[i] = new TH3F(histName.Data(),histTitle.Data(),nBinsPt,minPt,maxPt,nBinsM,minM,maxM,nBinsM,minM,maxM);
+    fOutput->Add(fh3PtJet2VsMassJet1MassJet2[i]);
   }
 
   fh3PtJetDEtaDPhiConst = new TH3F("fh3PtJetDEtaDPhiConst","fh3PtJetDEtaDPhiConst;pT;#Delta #eta;#Delta #varphi",nBinsPt,minPt,maxPt,nBinsDEta,-1.,1.,nBinsDPhi,-1.,1.);
@@ -278,6 +302,9 @@ Bool_t AliAnalysisTaskEmcalJetTagger::FillHistograms()
     
     fh3PtJet1VsDeltaEtaDeltaPhi[fCentBin]->Fill(ptJet1,jet1->Eta()-jet2->Eta(),dPhi);
     fh2PtJet1VsDeltaR[fCentBin]->Fill(ptJet1,GetDeltaR(jet1,jet2));
+    //fill histo with pt jet 1 vs mass jet 1 vs mass jet 2
+    fh3PtJet1VsMassJet1MassJet2[fCentBin]->Fill(ptJet1,jet1->M(),jet2->M());
+    fh3PtJet2VsMassJet1MassJet2[fCentBin]->Fill(ptJet2,jet1->M(),jet2->M());
   }
   return kTRUE;
 }
index 316ca5863dc6cae26e99eeaaf65492bba4403417..de174991d4fa4b85de492368f13e20ef3946d982 100644 (file)
@@ -79,10 +79,13 @@ class AliAnalysisTaskEmcalJetTagger : public AliAnalysisTaskEmcalJet {
   TH2F             *fh2PtJetDRConst;              //!pt jet vs delta R of constituents
   TH3F             *fh3PtJetAreaDRConst;          //!pt jet vs Area vs delta R of constituents
 
+  TH3F            **fh3PtJet1VsMassJet1MassJet2;  //!pt jet 1 vs mass jet1 vs mass jet2
+  TH3F            **fh3PtJet2VsMassJet1MassJet2;  //!pt jet 2 vs mass jet1 vs mass jet2
+
   AliAnalysisTaskEmcalJetTagger(const AliAnalysisTaskEmcalJetTagger&);            // not implemented
   AliAnalysisTaskEmcalJetTagger &operator=(const AliAnalysisTaskEmcalJetTagger&); // not implemented
 
-  ClassDef(AliAnalysisTaskEmcalJetTagger, 3)
+  ClassDef(AliAnalysisTaskEmcalJetTagger, 4)
 };
 #endif
 
index d735b7f5d9eba4f011c1dc97db0c6025fbde50c4..3fb881ec20e3d0b130ac39ac946cee04b47306c9 100644 (file)
@@ -168,11 +168,15 @@ void AliAnalysisTaskJetShapeConst::UserCreateOutputObjects()
   const Double_t minM = -50.;
   const Double_t maxM = 100.;
 
+  const Int_t nBinsMT  = 50;
+  const Double_t minMT = 0.;
+  const Double_t maxMT = 50.;
+
   //Binning for THnSparse
-  const Int_t nBinsSparse0 = 4;
-  const Int_t nBins0[nBinsSparse0] = {nBinsM,nBinsM,nBinsPt,nBinsPt};
-  const Double_t xmin0[nBinsSparse0]  = { minM, minM, minPt, minPt};
-  const Double_t xmax0[nBinsSparse0]  = { maxM, maxM, maxPt, maxPt};
+  const Int_t nBinsSparse0 = 5;
+  const Int_t nBins0[nBinsSparse0] = {nBinsM,nBinsM,nBinsPt,nBinsPt,nBinsMT};
+  const Double_t xmin0[nBinsSparse0]  = { minM, minM, minPt, minPt, minMT};
+  const Double_t xmax0[nBinsSparse0]  = { maxM, maxM, maxPt, maxPt, maxMT};
 
   TString histName = "";
   TString histTitle = "";
@@ -213,7 +217,7 @@ void AliAnalysisTaskJetShapeConst::UserCreateOutputObjects()
     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);
+    histTitle = Form("fhnMassResponse_%d;#it{M}_{sub};#it{M}_{true};#it{p}_{T,sub};#it{p}_{T,true};#it{M}_{sub}^{tagged}",i);
     fhnMassResponse[i] = new THnSparseF(histName.Data(),histTitle.Data(),nBinsSparse0,nBins0,xmin0,xmax0);
     fOutput->Add(fhnMassResponse[i]);
   }
@@ -262,16 +266,23 @@ Bool_t AliAnalysisTaskJetShapeConst::FillHistograms()
 {
   // Fill histograms.
 
-  AliEmcalJet* jet1 = NULL;
-  AliEmcalJet *jet2 = NULL;
-  AliEmcalJet *jetS = NULL;
+  AliEmcalJet* jet1  = NULL; //AA jet
+  AliEmcalJet *jet2  = NULL; //Embedded Pythia jet
+  AliEmcalJet *jet1T = NULL; //tagged AA jet
+  //  AliEmcalJet *jet2T = NULL; //tagged Pythia jet
+  AliEmcalJet *jetS = NULL;  //subtracted jet
   AliJetContainer *jetCont = GetJetContainer(fContainerBase);
   AliJetContainer *jetContS = GetJetContainer(fContainerSub);
   AliDebug(11,Form("NJets  Incl: %d  Csub: %d",jetCont->GetNJets(),jetContS->GetNJets()));
   if(jetCont) {
     jetCont->ResetCurrentID();
     while((jet1 = jetCont->GetNextAcceptJet())) {
-
+      jet2  = NULL;
+      jet1T = NULL;
+      //   jet2T = NULL;
+      jetS  = NULL;
+      if(jet1->GetTagStatus()>0) jet1T = jet1->GetTaggedJet();
       //Get constituent subtacted version of jet
       Int_t ifound = 0;
       Int_t ilab = -1;
@@ -312,6 +323,8 @@ Bool_t AliAnalysisTaskJetShapeConst::FillHistograms()
        }
       }
 
+      //      if(fMatch==1 && jet2->GetTagStatus()>0) jet2T = jet2->GetTaggedJet();
+
       //Fill histograms for matched jets
       fh2MSubMatch[fCentBin]->Fill(jetS->M(),fMatch);
       if(fMatch==1) {
@@ -321,7 +334,9 @@ Bool_t AliAnalysisTaskJetShapeConst::FillHistograms()
          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()};
+         Double_t mJet1Tagged = -1.;
+         if(jet1T) mJet1Tagged = jet1T->M();
+         Double_t var[5] = {jetS->M(),jet2->M(),jet1->Pt()-jetCont->GetRhoVal()*jet1->Area(),jet2->Pt(),mJet1Tagged};
          fhnMassResponse[fCentBin]->Fill(var);
        }
       }
index 2246ff553dc47238c726104c86a4b9a7e7bcabff..98eb2dcef99f29d93a97d03af6c59954fe3a91c4 100644 (file)
@@ -220,6 +220,10 @@ void AliAnalysisTaskJetShapeDeriv::UserCreateOutputObjects()
   const Double_t minM = -50.;
   const Double_t maxM = 100.;
 
+  const Int_t nBinsMT  = 50;
+  const Double_t minMT = 0.;
+  const Double_t maxMT = 50.;
+
   const Int_t nBinsV1  = 60;
   const Double_t minV1 = -60.;
   const Double_t maxV1 = 0.;
@@ -229,10 +233,10 @@ void AliAnalysisTaskJetShapeDeriv::UserCreateOutputObjects()
   const Double_t maxV2 = 0.;
 
   //Binning for THnSparse
-  const Int_t nBinsSparse0 = 4;
-  const Int_t nBins0[nBinsSparse0] = {nBinsM,nBinsM,nBinsPt,nBinsPt};
-  const Double_t xmin0[nBinsSparse0]  = { minM, minM, minPt, minPt};
-  const Double_t xmax0[nBinsSparse0]  = { maxM, maxM, maxPt, maxPt};
+  const Int_t nBinsSparse0 = 5;
+  const Int_t nBins0[nBinsSparse0] = {nBinsM,nBinsM,nBinsPt,nBinsPt,nBinsMT};
+  const Double_t xmin0[nBinsSparse0]  = { minM, minM, minPt, minPt, minMT};
+  const Double_t xmax0[nBinsSparse0]  = { maxM, maxM, maxPt, maxPt, maxMT};
 
   TString histName = "";
   TString histTitle = "";
@@ -274,7 +278,7 @@ void AliAnalysisTaskJetShapeDeriv::UserCreateOutputObjects()
     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);
+    histTitle = Form("fhnMassResponse_%d;#it{M}_{sub};#it{M}_{true};#it{p}_{T,sub};#it{p}_{T,true};#it{M}_{sub}^{tagged}",i);
     fhnMassResponse[i] = new THnSparseF(histName.Data(),histTitle.Data(),nBinsSparse0,nBins0,xmin0,xmax0);
     fOutput->Add(fhnMassResponse[i]);
 
@@ -361,14 +365,20 @@ Bool_t AliAnalysisTaskJetShapeDeriv::FillHistograms()
 {
   // Fill histograms.
 
-  AliEmcalJet* jet1 = NULL;
-  AliEmcalJet *jet2 = NULL;
+  AliEmcalJet* jet1  = NULL; //AA jet
+  AliEmcalJet *jet2  = NULL; //Embedded Pythia jet
+  AliEmcalJet *jet1T = NULL; //tagged AA jet
+  //  AliEmcalJet *jet2T = NULL; //tagged Pythia jet
   AliJetContainer *jetCont = GetJetContainer(fContainerBase);
   fRho  = (Float_t)jetCont->GetRhoVal();
   fRhoM = (Float_t)jetCont->GetRhoMassVal();
   if(jetCont) {
     jetCont->ResetCurrentID();
     while((jet1 = jetCont->GetNextAcceptJet())) {
+      jet2 = NULL;
+      jet1T = NULL;
+      //   jet2T = NULL;
+      if(jet1->GetTagStatus()>0) jet1T = jet1->GetTaggedJet();
       //Fill histograms for all AA jets
       fh2MSubPtRawAll[fCentBin]->Fill(jet1->GetSecondOrderSubtracted(),jet1->Pt()-jetCont->GetRhoVal()*jet1->Area());
       fh2PtRawSubFacV1[fCentBin]->Fill(jet1->Pt(),-1.*(fRho+fRhoM)*jet1->GetFirstDerivative());
@@ -400,6 +410,8 @@ Bool_t AliAnalysisTaskJetShapeDeriv::FillHistograms()
        }
       }
 
+      //      if(fMatch==1 && jet2->GetTagStatus()>0) jet2T = jet2->GetTaggedJet();
+
       //Fill histograms for matched jets
       fh2MSubMatch[fCentBin]->Fill(jet1->GetSecondOrderSubtracted(),fMatch);
       if(fMatch==1) {
@@ -409,7 +421,9 @@ Bool_t AliAnalysisTaskJetShapeDeriv::FillHistograms()
          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()};
+         Double_t mJet1Tagged = -1.;
+         if(jet1T) mJet1Tagged = jet1T->M();
+         Double_t var[5] = {jet1->GetSecondOrderSubtracted(),jet2->M(),jet1->Pt()-jetCont->GetRhoVal()*jet1->Area(),jet2->Pt(),mJet1Tagged};
          fhnMassResponse[fCentBin]->Fill(var);
        }
       }
index 7626e009f592648022f771999b860d3da563593b..9d8a641673ffe546fc8f2742844cf78d5e22e59a 100644 (file)
@@ -594,7 +594,7 @@ Bool_t AliAnalysisTaskJetShapeGR::FillTrueJets() {
     while((jet1 = jetCont->GetNextAcceptJet())) {
       fh1PtTrue[fCentBin]->Fill(jet1->Pt());
       
-      Double_t dev = CalcDeltaGR(jet1,fContainerTrue,fNum,fDen);//num,den);
+      //Double_t dev = CalcDeltaGR(jet1,fContainerTrue,fNum,fDen);//num,den);
       for(Int_t i = 0; i<nr; i++) {
        Double_t r = i*fDRStep + 0.5*fDRStep;
        fh3DeltaGRNumRPtTrue[fCentBin]->Fill(fNum->At(i),r,jet1->Pt());