]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
preps for using the reactions plane
authorkleinb <kleinb@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 28 Mar 2011 19:17:51 +0000 (19:17 +0000)
committerkleinb <kleinb@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 28 Mar 2011 19:17:51 +0000 (19:17 +0000)
PWG4/JetTasks/AliAnalysisTaskJetSpectrum2.cxx
PWG4/JetTasks/AliAnalysisTaskJetSpectrum2.h

index 978e3dffa8b728f9bd8c3131298889565f6a9e70..2557759d07273991f3976009f3715761385fbf91 100644 (file)
@@ -86,6 +86,7 @@ AliAnalysisTaskJetSpectrum2::AliAnalysisTaskJetSpectrum2():
   fUseExternalWeightOnly(kFALSE),
   fLimitGenJetEta(kFALSE),
   fNMatchJets(5),
+  fNRPBins(3),
   fFilterMask(0),
   fEventSelectionMask(0),
   fAnalysisType(0),
@@ -99,6 +100,7 @@ AliAnalysisTaskJetSpectrum2::AliAnalysisTaskJetSpectrum2():
   fMinJetPt(0),
   fMinTrackPt(0.15),
   fDeltaPhiWindow(90./180.*TMath::Pi()),
+  fRPAngle(0),
   fMultRec(0),
   fMultGen(0),
   fh1Xsec(0x0),
@@ -107,6 +109,7 @@ AliAnalysisTaskJetSpectrum2::AliAnalysisTaskJetSpectrum2():
   fh1PtHardNoW(0x0),  
   fh1PtHardTrials(0x0),
   fh1ZVtx(0x0),
+  fh1RP(0x0),
   fh1TmpRho(0x0),
   fh2MultRec(0x0),
   fh2MultGen(0x0),
@@ -125,11 +128,12 @@ AliAnalysisTaskJetSpectrum2::AliAnalysisTaskJetSpectrum2():
     fh1PtTracksIn[ij] = 0;
     fh1PtTracksInLow[ij] = 0;
     fh1PtTracksLeadingIn[ij] = 0;
-    fh2MultJetPt[ij] = 0;
     fh2NJetsPt[ij]  = 0;
     fh2NTracksPt[ij]  = 0;
+    fh3MultTrackPtRP[ij] = 0;
     fh2LeadingTrackPtTrackPhi[ij] = 0;
     for(int i = 0;i <= kMaxJets;++i){
+      fh3MultPtRP[ij][i] = 0;
       fh2PhiPt[ij][i] = 0;
       fh2EtaPt[ij][i] = 0;
       fh2AreaPt[ij][i] = 0;
@@ -172,6 +176,7 @@ AliAnalysisTaskJetSpectrum2::AliAnalysisTaskJetSpectrum2(const char* name):
   fUseExternalWeightOnly(kFALSE),
   fLimitGenJetEta(kFALSE),
   fNMatchJets(5),
+  fNRPBins(3),
   fFilterMask(0),
   fEventSelectionMask(0),
   fAnalysisType(0),
@@ -185,6 +190,7 @@ AliAnalysisTaskJetSpectrum2::AliAnalysisTaskJetSpectrum2(const char* name):
   fMinJetPt(0),
   fMinTrackPt(0.15),
   fDeltaPhiWindow(90./180.*TMath::Pi()),
+  fRPAngle(0),
   fMultRec(0),
   fMultGen(0),
   fh1Xsec(0x0),
@@ -193,6 +199,7 @@ AliAnalysisTaskJetSpectrum2::AliAnalysisTaskJetSpectrum2(const char* name):
   fh1PtHardNoW(0x0),  
   fh1PtHardTrials(0x0),
   fh1ZVtx(0x0),
+  fh1RP(0x0),
   fh1TmpRho(0x0),
   fh2MultRec(0x0),
   fh2MultGen(0x0),
@@ -212,11 +219,12 @@ AliAnalysisTaskJetSpectrum2::AliAnalysisTaskJetSpectrum2(const char* name):
     fh1PtTracksIn[ij] = 0;
     fh1PtTracksInLow[ij] = 0;
     fh1PtTracksLeadingIn[ij] = 0;
-    fh2MultJetPt[ij] = 0;
     fh2NJetsPt[ij]  = 0;
     fh2NTracksPt[ij]  = 0;
+    fh3MultTrackPtRP[ij] = 0;
     fh2LeadingTrackPtTrackPhi[ij] = 0;
     for(int i = 0;i <= kMaxJets;++i){
+      fh3MultPtRP[ij][i] = 0;
       fh2PhiPt[ij][i] = 0;
       fh2EtaPt[ij][i] = 0;
       fh2AreaPt[ij][i] = 0;
@@ -366,6 +374,10 @@ void AliAnalysisTaskJetSpectrum2::UserCreateOutputObjects()
   
   fh1ZVtx = new TH1F("fh1ZVtx","z vtx;z_{vtx} (cm)",400,-20,20);
   fHistList->Add(fh1ZVtx);
+
+  fh1RP = new TH1F("fh1RP","RP;#Psi",480,-180,360);
+  fHistList->Add(fh1RP);
+
   fh2MultRec = new TH2F("fh2MultRec","multiplicity rec;# tracks;# jetrefs",400,-0.5,4000,400,0.,4000);
   fHistList->Add(fh2MultRec);
   fh2MultGen = new TH2F("fh2MultGen","multiplicity gen;# tracks;# jetrefs",400,-0.5,4000,400,0.,4000);
@@ -415,15 +427,16 @@ void AliAnalysisTaskJetSpectrum2::UserCreateOutputObjects()
       fh1SumPtTrack[ij] = new TH1F(Form("fh1SumPtTrack%s",cAdd.Data()),Form("Sum %s track p_T;p_{T} (GeV/c)",cAdd.Data()),900,0.,900.);
       fHistList->Add(fh1SumPtTrack[ij]);
 
-      fh2MultJetPt[ij]  = new TH2F(Form("fh2MultJetPt%s",cAdd.Data()),Form("%s jets p_T;# tracks;;p_{T} (GeV/c)",cAdd.Data()),400,0,4000,nBinPt,binLimitsPt);
-      fHistList->Add(fh2MultJetPt[ij]);
-
       fh2NJetsPt[ij]  = new TH2F(Form("fh2N%sJetsPt",cAdd.Data()),Form("Number of %s jets above threshhold;p_{T,cut} (GeV/c);N_{jets}",cAdd.Data()),nBinPt,binLimitsPt,50,-0.5,49.5);
       fHistList->Add(fh2NJetsPt[ij]);
 
       fh2NTracksPt[ij]  = new TH2F(Form("fh2N%sTracksPt",cAdd.Data()),Form("Number of %s tracks above threshhold;p_{T,cut} (GeV/c);N_{tracks}",cAdd.Data()),nBinPt,binLimitsPt,1000,0.,4000);
       fHistList->Add(fh2NTracksPt[ij]);
 
+      fh3MultTrackPtRP[ij]  = new TH3F(Form("fh3MultTrackPtRP%s",
+                                           cAdd.Data()),Form("%s track p_T;# tracks;;p_{T} (GeV/c)",cAdd.Data()),400,0,4000,nBinPt,0,300,(Int_t)fNRPBins,-0.5,fNRPBins-0.5);
+      fHistList->Add(fh3MultTrackPtRP[ij]);
+
       fh2LeadingTrackPtTrackPhi[ij] = new TH2F(Form("fh2Leading%sTrackPtTrackPhi",cAdd.Data()),Form("phi of leading %s track;p_{T};#phi;",cAdd.Data()),
                                               nBinPt,binLimitsPt,nBinPhi,binLimitsPhi);
       fHistList->Add(fh2LeadingTrackPtTrackPhi[ij]);
@@ -441,6 +454,12 @@ void AliAnalysisTaskJetSpectrum2::UserCreateOutputObjects()
        fHistList->Add(fh2PsiPt[ij][i]);
        fh2PhiPt[ij][i] = new TH2F(Form("fh2PhiPt%s_j%d",cAdd.Data(),i),Form("pt vs phi %s;#phi;p_{T};",cAdd.Data()),
                                   nBinPhi,binLimitsPhi,nBinPt,binLimitsPt);
+
+       fh3MultPtRP[ij][i]  = new TH3F(Form("fh3MultPtRP%s_j%d",cAdd.Data(),i),Form("%s jets p_T;# tracks;;p_{T} (GeV/c)",cAdd.Data()),400,0,4000,nBinPt,0,300,(Int_t)fNRPBins,-0.5,fNRPBins-0.5);
+      fHistList->Add(fh3MultPtRP[ij][i]);
+
+
+
        fHistList->Add(fh2PhiPt[ij][i]);
        fh2EtaPt[ij][i] = new TH2F(Form("fh2EtaPt%s_j%d",cAdd.Data(),i),Form("pt vs eta %s;#eta;p_{T};",cAdd.Data()),
                                   50,-1.,1.,nBinPt,binLimitsPt);
@@ -770,7 +789,6 @@ void AliAnalysisTaskJetSpectrum2::FillJetHistos(TList &jetsList,TList &particles
     AliAODJet *jet = (AliAODJet*)jetsList.At(ij);
     Float_t ptJet = jet->Pt();
     fh1PtJetsIn[iType]->Fill(ptJet);
-    fh2MultJetPt[iType]->Fill(refMult,ptJet);
     if(ptJet>ptOld){
       Printf("%s:%d Jets Type %d Not Sorted !! %d:%.3E %d:%.3E",(char*)__FILE__,__LINE__,iType,ij,ptJet,ij-1,ptOld);
     }
@@ -817,10 +835,12 @@ void AliAnalysisTaskJetSpectrum2::FillJetHistos(TList &jetsList,TList &particles
        fh2EtaArea[iType][kMaxJets]->Fill(etaJet,jet->EffectiveAreaCharged());
       }
       if(ij<kMaxJets){
+       fh3MultPtRP[iType][ij]->Fill(refMult,ptJet,0);
        fh2PhiPt[iType][ij]->Fill(phiJet,ptJet);
        fh2EtaPt[iType][ij]->Fill(etaJet,ptJet);
        if(leadTrack)fh2LTrackPtJetPt[iType][ij]->Fill(leadTrack->Pt(),ptJet);
       }
+      fh3MultPtRP[iType][kMaxJets]->Fill(refMult,ptJet,0);
       fh2PhiPt[iType][kMaxJets]->Fill(phiJet,ptJet);
       fh2EtaPt[iType][kMaxJets]->Fill(etaJet,ptJet);
       if(leadTrack)fh2LTrackPtJetPt[iType][kMaxJets]->Fill(leadTrack->Pt(),ptJet);
@@ -905,6 +925,11 @@ void AliAnalysisTaskJetSpectrum2::FillJetHistos(TList &jetsList,TList &particles
 
 void AliAnalysisTaskJetSpectrum2::FillTrackHistos(TList &particlesList,int iType){
 
+  Int_t refMult = fMultRec;
+  if(iType==kJetGen||iType==kJetGenFull){
+    refMult = fMultGen;
+  }
+
   Int_t nTrackOver = particlesList.GetSize();
   // do the same for tracks and jets
   if(nTrackOver>0){
@@ -933,6 +958,7 @@ void AliAnalysisTaskJetSpectrum2::FillTrackHistos(TList &particlesList,int iType
       Float_t tmpPt = tmpTrack->Pt();
       fh1PtTracksIn[iType]->Fill(tmpPt);
       fh1PtTracksInLow[iType]->Fill(tmpPt);
+      fh3MultTrackPtRP[iType]->Fill(refMult,tmpPt,0); 
       sumPt += tmpPt;
       Float_t tmpPhi = tmpTrack->Phi();
       if(tmpPhi<0)tmpPhi+=TMath::Pi()*2.;    
index 2e0641b5b6a40277649e1ac64f7845ae4f93a3e0..f96c920ace7be1e3f1483a146ff32f60a1295563 100644 (file)
@@ -58,6 +58,7 @@ class AliAnalysisTaskJetSpectrum2 : public AliAnalysisTaskSE
     virtual void SetTrackEtaWindow(Float_t f){fTrackRecEtaWindow = f;}
     virtual void SetNMatchJets(Short_t f){fNMatchJets = f;}
     virtual void SetMinJetPt(Float_t f){fMinJetPt = f;}
+    virtual void SetNRPBins(Short_t i){fNRPBins = i;} 
     virtual void SetMinTrackPt(Float_t f){fMinTrackPt = f;}
     virtual void SetDeltaPhiWindow(Float_t f){fDeltaPhiWindow = f;}
     virtual void SetAnalysisType(Int_t i){fAnalysisType = i;}
@@ -138,6 +139,7 @@ class AliAnalysisTaskJetSpectrum2 : public AliAnalysisTaskSE
     Bool_t        fUseExternalWeightOnly; // use only external weight
     Bool_t        fLimitGenJetEta;        // Limit the eta of the generated jets
     Short_t       fNMatchJets;            // number of leading jets considered from the list
+    Short_t       fNRPBins;               // number of bins with respect to RP
     UInt_t        fFilterMask;            // filter bit for slecected tracks
     UInt_t        fEventSelectionMask;    // Selection information used to filter events
     Int_t         fAnalysisType;          // Analysis type 
@@ -151,8 +153,10 @@ class AliAnalysisTaskJetSpectrum2 : public AliAnalysisTaskSE
     Float_t       fMinJetPt;              // limits the jet p_T in addition to what already is done in the jet finder, this is important for jet matching for JF with lo threshold
     Float_t       fMinTrackPt;            // limits the track p_T 
     Float_t       fDeltaPhiWindow;        // minium angle between dijets
+    Float_t       fRPAngle;               // ! angle of the reaction plane
     Int_t         fMultRec;               // ! reconstructed track multiplicity
     Int_t         fMultGen;               // ! generated track multiplicity
+    
 
     TProfile*     fh1Xsec;   //! pythia cross section and trials
     TH1F*         fh1Trials; //! trials are added
@@ -160,6 +164,7 @@ class AliAnalysisTaskJetSpectrum2 : public AliAnalysisTaskSE
     TH1F*         fh1PtHardNoW;  //! Pt har of the event without weigt       
     TH1F*         fh1PtHardTrials;  //! Number of trials 
     TH1F*         fh1ZVtx;          //! z-vtx distribution
+    TH1F*         fh1RP;            //! RP distribution
     TH1F*         fh1TmpRho;        //! just temporary histo for calculation    
     TH2F*         fh2MultRec;       //! reconstructed track multiplicity   
     TH2F*         fh2MultGen;       //! generated track multiplicity   
@@ -179,12 +184,12 @@ class AliAnalysisTaskJetSpectrum2 : public AliAnalysisTaskSE
     TH1F*         fh1PtTracksInLow[kJetTypes];  //! track pt for all tracks
     TH1F*         fh1PtTracksLeadingIn[kJetTypes];  //! track pt for all tracks
     
-    TH2F*         fh2MultJetPt[kJetTypes];  //! jet pt vs. mult
     TH2F*         fh2NJetsPt[kJetTypes];    //! Number of found jets above threshold
     TH2F*         fh2NTracksPt[kJetTypes];  //! Number of tracks above threshold
     TH2F*         fh2LeadingTrackPtTrackPhi[kJetTypes]; //! phi distribution of accepted leading tracks
     TH2F*         fh2RhoPt[kJetTypes][kMaxJets+1];     //! jet shape variable rho
     TH2F*         fh2PsiPt[kJetTypes][kMaxJets+1];     //! jet shape variable psi
+
     TH2F*         fh2PhiPt[kJetTypes][kMaxJets+1];       //! phi of jets      
     TH2F*         fh2EtaPt[kJetTypes][kMaxJets+1];       //! eta of jets      
     TH2F*         fh2AreaPt[kJetTypes][kMaxJets+1];       //! area distribution 
@@ -192,12 +197,18 @@ class AliAnalysisTaskJetSpectrum2 : public AliAnalysisTaskSE
     TH2F*         fh2PhiEta[kJetTypes][kMaxJets+1];      //! eta phi distribution of jet      
     TH2F*         fh2LTrackPtJetPt[kJetTypes][kMaxJets+1];       //! leading track within the jet vs jet pt 
 
+
+    TH3F*         fh3MultPtRP[kJetTypes][kMaxJets+1];       //! RP vs. mult of jets      
+    TH3F*         fh3MultTrackPtRP[kJetTypes];  //! mult vs pt      
+
+
     TH1F*   fh1DijetMinv[kJetTypes];            //! dijet inv mass
     TH2F*   fh2DijetDeltaPhiPt[kJetTypes];      //! dijet delta phi vs pt
     TH2F*   fh2DijetAsymPt[kJetTypes];          //! dijet asym vs pt after delta phi cut
     TH2F*   fh2DijetPt2vsPt1[kJetTypes];        //! dijet pt2 vs pt1
     TH2F*   fh2DijetDifvsSum[kJetTypes];        //! dijet dif vs sum
 
+
     TList *fHistList;                  //! Output list