]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
add multiplicity bins
authormverweij <marta.verweij@cern.ch>
Mon, 24 Feb 2014 08:46:40 +0000 (09:46 +0100)
committermverweij <marta.verweij@cern.ch>
Mon, 24 Feb 2014 09:42:34 +0000 (10:42 +0100)
PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetTriggerQA.cxx
PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskEmcalJetTriggerQA.h

index 63259f0b5f89c0763c4ab07f52fc93a28b9cb9c2..a042f2e22915fe743631f59aedbf468fc77e16d1 100644 (file)
@@ -36,8 +36,6 @@ AliAnalysisTaskEmcalJetTriggerQA::AliAnalysisTaskEmcalJetTriggerQA() :
   AliAnalysisTaskEmcalJet("AliAnalysisTaskEmcalJetTriggerQA", kTRUE),
   fDebug(kFALSE),
   fTriggerClass(""),
-  fBitJ1((1<<8)),
-  fBitJ2((1<<11)),
   fContainerFull(0),
   fContainerCharged(1),
   fMaxPatchEnergy(0),
@@ -49,6 +47,8 @@ AliAnalysisTaskEmcalJetTriggerQA::AliAnalysisTaskEmcalJetTriggerQA() :
   fh3PtEtaPhiTracks(0),
   fh3PtEtaPhiTracksOnEmcal(0),
   fh3PtEtaPhiTracksProp(0),
+  fh2CentPtJetFull(0),
+  fh2CentPtJetCharged(0),
   fh3PtEtaPhiJetFull(0),
   fh3PtEtaPhiJetCharged(0),
   fh2NJetsPtFull(0),
@@ -90,8 +90,6 @@ AliAnalysisTaskEmcalJetTriggerQA::AliAnalysisTaskEmcalJetTriggerQA(const char *n
   AliAnalysisTaskEmcalJet(name, kTRUE),
   fDebug(kFALSE),
   fTriggerClass(""),
-  fBitJ1((1<<8)),
-  fBitJ2((1<<11)),
   fContainerFull(0),
   fContainerCharged(1),
   fMaxPatchEnergy(0),
@@ -103,6 +101,8 @@ AliAnalysisTaskEmcalJetTriggerQA::AliAnalysisTaskEmcalJetTriggerQA(const char *n
   fh3PtEtaPhiTracks(0),
   fh3PtEtaPhiTracksOnEmcal(0),
   fh3PtEtaPhiTracksProp(0),
+  fh2CentPtJetFull(0),
+  fh2CentPtJetCharged(0),
   fh3PtEtaPhiJetFull(0),
   fh3PtEtaPhiJetCharged(0),
   fh2NJetsPtFull(0),
@@ -168,7 +168,6 @@ Bool_t AliAnalysisTaskEmcalJetTriggerQA::SelectEvent() {
     }
 
     TString firedTrigClass = InputEvent()->GetFiredTriggerClasses();
-
     if(fTriggerClass.Contains(trigType1.Data()) && fTriggerClass.Contains(trigType2.Data())) { //if events with J1&&J2 are requested
       if(!firedTrigClass.Contains(trigType1.Data()) || !firedTrigClass.Contains(trigType2.Data()) ) //check if both are fired
         return kFALSE;
@@ -180,15 +179,13 @@ Bool_t AliAnalysisTaskEmcalJetTriggerQA::SelectEvent() {
        return kFALSE;
     }
   }
-
   fhNEvents->Fill(1.5);
 
   return kTRUE;
-
 }
 
 //________________________________________________________________________
-void AliAnalysisTaskEmcalJetTriggerQA::FindTriggerPatch() {
+void AliAnalysisTaskEmcalJetTriggerQA::FillTriggerPatchHistos() {
 
   //Fill trigger patch histos for main trigger
 
@@ -234,9 +231,9 @@ void AliAnalysisTaskEmcalJetTriggerQA::UserCreateOutputObjects()
   fHistRhovsCentCharged->GetYaxis()->SetTitle("#rho_{ch} (GeV/c * rad^{-1})");
   fOutput->Add(fHistRhovsCentCharged);
     
-  Int_t fgkNCentBins = 20;
+  Int_t fgkNCentBins = 21;
   Float_t kMinCent   = 0.;
-  Float_t kMaxCent   = 100.;
+  Float_t kMaxCent   = 105.;
   Double_t *binsCent = new Double_t[fgkNCentBins+1];
   for(Int_t i=0; i<=fgkNCentBins; i++) binsCent[i]=(Double_t)kMinCent + (kMaxCent-kMinCent)/fgkNCentBins*(Double_t)i ;
     
@@ -341,6 +338,12 @@ void AliAnalysisTaskEmcalJetTriggerQA::UserCreateOutputObjects()
   fh3PtEtaPhiTracksProp = new TH3F("fh3PtEtaPhiTracksProp","fh3PtEtaPhiTracksProp;#it{p}_{T}^{track};#eta;#varphi",fgkNEnBins,binsEn,fgkNEtaBins,binsEta,fgkNPhiBins,binsPhi);
   fOutput->Add(fh3PtEtaPhiTracksProp);
 
+  fh2CentPtJetFull = new TH2F("fh2CentPtJetFull","fh2CentPtJetFull;cent;#it{p}_{T}^{jet}",fgkNCentBins,binsCent,fgkNPtBins,binsPt);
+  fOutput->Add(fh2CentPtJetFull);
+
+  fh2CentPtJetCharged = new TH2F("fh2CentPtJetCharged","fh2CentPtJetCharged;cent;#it{p}_{T}^{jet}",fgkNCentBins,binsCent,fgkNPtBins,binsPt);
+  fOutput->Add(fh2CentPtJetCharged);
+
   fh3PtEtaPhiJetFull = new TH3F("fh3PtEtaPhiJetFull","fh3PtEtaPhiJetFull;#it{p}_{T}^{jet};#eta;#varphi",fgkNPtBins,binsPt,fgkNEtaBins,binsEta,fgkNPhiBins,binsPhi);
   fOutput->Add(fh3PtEtaPhiJetFull);
 
@@ -499,7 +502,6 @@ Bool_t AliAnalysisTaskEmcalJetTriggerQA::FillHistograms()
   AliClusterContainer  *clusCont = GetClusterContainer(0);
   if (clusCont) {
     Int_t nclusters = clusCont->GetNClusters();
-    TString arrName = clusCont->GetArrayName();
     for (Int_t ic = 0; ic < nclusters; ic++) {
       AliVCluster *cluster = static_cast<AliVCluster*>(clusCont->GetCluster(ic));
       if (!cluster) {
@@ -522,7 +524,7 @@ Bool_t AliAnalysisTaskEmcalJetTriggerQA::FillHistograms()
     }
   }
 
-  //cells
+  //Cells
   if(fCaloCells) {
     const Short_t nCells   = fCaloCells->GetNumberOfCells();
 
@@ -554,19 +556,19 @@ Bool_t AliAnalysisTaskEmcalJetTriggerQA::FillHistograms()
       AliEmcalJet* jet = GetAcceptJetFromArray(ij,fContainerFull);
       if (!jet)
        continue; //jet not selected
-      
+
       Double_t jetPt = jet->Pt() - GetRhoVal(fContainerFull)*jet->Area();
-      Double_t jetPhi = jet->Phi();
-      Double_t dEPJetFull = -500.0;
-      dEPJetFull = RelativeEP(jetPhi , fEPV0);
-        
+      if(jetPt>ptLeadJet1) ptLeadJet1=jetPt;
+
+      Double_t dEPJetFull = RelativeEP(jet->Phi() , fEPV0);
       fh3JetReacCent->Fill(jet->E(),fCent,dEPJetFull);
       fh2FullJetCent->Fill(fCent,dEPJetFull);
       
-      if(jetPt>ptLeadJet1) ptLeadJet1=jetPt;
+      fh2CentPtJetFull->Fill(fCent,jetPt);
+      fh2CentPtJetCharged->Fill(fCent,jetPt);
       fh3PtEtaPhiJetFull->Fill(jetPt,jet->Eta(),jet->Phi());
       fh3PtEtaAreaJetFull->Fill(jetPt,jet->Eta(),jet->Area());
-      
+
       //count jets above certain pT threshold
       Int_t ptbin = fh2NJetsPtFull->GetYaxis()->FindBin(jetPt);
       for(Int_t iptbin = ptbin; iptbin<=fh2NJetsPtFull->GetNbinsY(); iptbin++)
@@ -574,7 +576,6 @@ Bool_t AliAnalysisTaskEmcalJetTriggerQA::FillHistograms()
       
       fh2PtNConstituentsCharged->Fill(jetPt,jet->GetNumberOfTracks());
       fh2PtNConstituents->Fill(jetPt,jet->GetNumberOfConstituents());
-
       fh2PtNEF->Fill(jetPt,jet->NEF());
       fh3NEFEtaPhi->Fill(jet->NEF(),jet->Eta(),jet->Phi());
       fh2NEFNConstituentsCharged->Fill(jet->NEF(),jet->GetNumberOfTracks());
@@ -672,7 +673,7 @@ Bool_t AliAnalysisTaskEmcalJetTriggerQA::Run()
     return kFALSE;
   
   if(fTriggerPatchInfo) 
-    FindTriggerPatch();
+    FillTriggerPatchHistos();
 
   return kTRUE;  // If return kFALSE FillHistogram() will NOT be executed.
 }
@@ -791,29 +792,26 @@ Double_t AliAnalysisTaskEmcalJetTriggerQA::GetECross(Int_t absID) const {
 }
 
 //_________________________________________________________________________
-Float_t AliAnalysisTaskEmcalJetTriggerQA:: RelativeEP(Double_t objAng, Double_t EPAng) const
-{ // function to calculate angle between object and EP in the 1st quadrant (0,Pi/2)
-    Double_t dphi = (EPAng - objAng);
-    
-    // ran into trouble with a few dEP<-Pi so trying this...
-    if( dphi<-1*TMath::Pi() ){
-        dphi = dphi + 1*TMath::Pi();
-    }
-    
-    if( dphi>1*TMath::Pi()){
-        dphi = dphi - 1*TMath::Pi();
-    }
-     
-    if( (dphi>0) && (dphi<1*TMath::Pi()/2) ){
-        // Do nothing! we are in quadrant 1
-    }else if( (dphi>1*TMath::Pi()/2) && (dphi<1*TMath::Pi()) ){
-        dphi = 1*TMath::Pi() - dphi;
-    }else if( (dphi<0) && (dphi>-1*TMath::Pi()/2) ){
-        dphi = fabs(dphi);
-    }else if( (dphi<-1*TMath::Pi()/2) && (dphi>-1*TMath::Pi()) ){
-        dphi = dphi + 1*TMath::Pi();
-    }
-    
-    return dphi;   // dphi in [0, Pi/2]
-}
+Float_t AliAnalysisTaskEmcalJetTriggerQA::RelativeEP(Double_t objAng, Double_t EPAng) const
+{
+  // function to calculate angle between object and EP in the 1st quadrant (0,Pi/2)
+  Double_t dphi = EPAng - objAng;
+
+  // ran into trouble with a few dEP<-Pi so trying this...
+  if( dphi<-1*TMath::Pi() )
+    dphi = dphi + 1*TMath::Pi();
+  if( dphi>1*TMath::Pi())
+    dphi = dphi - 1*TMath::Pi();
+
+  if( (dphi>0) && (dphi<1*TMath::Pi()/2) ){
+    // Do nothing! we are in quadrant 1
+  }else if( (dphi>1*TMath::Pi()/2) && (dphi<1*TMath::Pi()) ){
+    dphi = 1*TMath::Pi() - dphi;
+  }else if( (dphi<0) && (dphi>-1*TMath::Pi()/2) ){
+    dphi = fabs(dphi);
+  }else if( (dphi<-1*TMath::Pi()/2) && (dphi>-1*TMath::Pi()) ){
+    dphi = dphi + 1*TMath::Pi();
+  }
 
+  return dphi;   // dphi in [0, Pi/2]
+}
index 0be5e52d5c2ff81d853d994ca0ed51e81628cc8e..8955435ce4881b295fa95ecc808d2c017f8a705f 100644 (file)
@@ -27,7 +27,7 @@ class AliAnalysisTaskEmcalJetTriggerQA : public AliAnalysisTaskEmcalJet {
   void                        Terminate(Option_t *option);
 
   Bool_t                      SelectEvent();              //decides if event is used for analysis
-  void                        FindTriggerPatch();
+  void                        FillTriggerPatchHistos();
 
   //Setters
   void SetDebug(Int_t d)                    { fDebug = d;}
@@ -48,17 +48,13 @@ class AliAnalysisTaskEmcalJetTriggerQA : public AliAnalysisTaskEmcalJet {
   Bool_t                      FillHistograms()   ;
   Bool_t                      Run()              ;
   Float_t                     RelativeEP(Double_t objAng, Double_t EPAng) const;
-    
   Bool_t                      TestFilterBit(Int_t trigBit, UInt_t bitJetTrig) const {return (Bool_t) ((trigBit & bitJetTrig) != 0);}
 
-
  private:
-  Bool_t             fDebug;                 //  debug level
+  Bool_t             fDebug;                 // debug level
   TString            fTriggerClass;          // trigger class to analyze EJ1 or EJ2    
-  UInt_t             fBitJ1;                 // trigger bit of EJE1
-  UInt_t             fBitJ2;                 // trigger bit of EJE2
-  Int_t              fContainerFull;         //  number of container with full jets DET
-  Int_t              fContainerCharged;      //  number of container with charged jets DET
+  Int_t              fContainerFull;         // number of container with full jets DET
+  Int_t              fContainerCharged;      // number of container with charged jets DET
   Double_t           fMaxPatchEnergy;        // energy of patch with largest energy
   Int_t              fTriggerType;           // trigger type
   Int_t              fNFastOR;               // size of trigger patch fNFastORxfNFastOR
@@ -69,6 +65,8 @@ class AliAnalysisTaskEmcalJetTriggerQA : public AliAnalysisTaskEmcalJet {
   TH3F  *fh3PtEtaPhiTracks;                 //! pt,eta,phi of tracks
   TH3F  *fh3PtEtaPhiTracksOnEmcal;          //! pt,eta,phi of tracks
   TH3F  *fh3PtEtaPhiTracksProp;             //! pt,eta,phi of tracks
+  TH2F  *fh2CentPtJetFull;                  //! cent, pt of full jets
+  TH2F  *fh2CentPtJetCharged;               //! cent, pt of charged jets
   TH3F  *fh3PtEtaPhiJetFull;                //! pt,eta,phi of full jets
   TH3F  *fh3PtEtaPhiJetCharged;             //! pt,eta,phi of charged jets
   TH2F  *fh2NJetsPtFull;                    //! NJets per event vs pT,jet
@@ -97,13 +95,12 @@ class AliAnalysisTaskEmcalJetTriggerQA : public AliAnalysisTaskEmcalJet {
   TH3F  *fh3PatchADCEnergyEtaPhiCenterJ1J2; //! patch ADC energy vs eta, phi at center of patch, low + high threshold
   TH2F  *fh2CellEnergyVsTime;               //! emcal cell energy vs time
   TH3F  *fh3EClusELeadingCellVsTime;        //! cluster energy vs energy of leading cell in cluster vs time of the leading cell
-
-  TH3F  *fh3JetReacCent;
-  TH2F  *fh2FullJetCent;
+  TH3F  *fh3JetReacCent;                    //! jet energy vs cent vs dphi(jet,event plane)
+  TH2F  *fh2FullJetCent;                    //! cent vs dphi(jet,event plane)
     
   AliAnalysisTaskEmcalJetTriggerQA(const AliAnalysisTaskEmcalJetTriggerQA&);            // not implemented
   AliAnalysisTaskEmcalJetTriggerQA &operator=(const AliAnalysisTaskEmcalJetTriggerQA&); // not implemented
 
-  ClassDef(AliAnalysisTaskEmcalJetTriggerQA, 9)
+  ClassDef(AliAnalysisTaskEmcalJetTriggerQA, 10)
 };
 #endif