]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
updates from Salvatore
authorloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 1 May 2012 21:37:01 +0000 (21:37 +0000)
committerloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 1 May 2012 21:37:01 +0000 (21:37 +0000)
PWGGA/EMCALTasks/AliAnalysisTaskSAJF.cxx
PWGGA/EMCALTasks/AliAnalysisTaskSAJF.h
PWGGA/EMCALTasks/AliAnalysisTaskSAQA.cxx
PWGGA/EMCALTasks/AliAnalysisTaskSAQA.h

index 995d447eeaa68bd6323ba560c82f7f55fb2603ec..f13a2c33082e1a6b1efdef0ab018f7a18e34cac9 100644 (file)
@@ -1,4 +1,8 @@
 // $Id$
+//
+// Jet finder analysis task (S.Aiola)
+//
+//
 
 #include <TChain.h>
 #include <TClonesArray.h>
@@ -25,6 +29,7 @@ ClassImp(AliAnalysisTaskSAJF)
 //________________________________________________________________________
 AliAnalysisTaskSAJF::AliAnalysisTaskSAJF() : 
   AliAnalysisTaskSE("AliAnalysisTaskSAJF"),
+  fAnaType(kEMCAL),
   fOutput(0),
   fTracksName("Tracks"),
   fCaloName("CaloClusters"),
@@ -36,6 +41,7 @@ AliAnalysisTaskSAJF::AliAnalysisTaskSAJF() :
   fTrgClusters(0),
   fCent(0),
   fHistCentrality(0),
+  fHistJetPhiEta(0),
   Ptbins(400),
   Ptlow(0),
   Ptup(200),
@@ -44,7 +50,6 @@ AliAnalysisTaskSAJF::AliAnalysisTaskSAJF() :
   Eup(200)
 {
   // Default constructor.
-  fBranchNames="ESD:AliESDRun.,AliESDHeader.,PrimaryVertex.";
 
   for (Int_t i = 0; i < 4; i++) {
     fHistJetsE[i] = 0;
@@ -57,11 +62,15 @@ AliAnalysisTaskSAJF::AliAnalysisTaskSAJF() :
     fHistTracksPtBkg[i] = 0;
     fHistClusEBkg[i] = 0;
   }
+
+  // Output slot #1 writes into a TH1 container
+  DefineOutput(1, TList::Class()); 
 }
 
 //________________________________________________________________________
 AliAnalysisTaskSAJF::AliAnalysisTaskSAJF(const char *name) : 
   AliAnalysisTaskSE(name),
+  fAnaType(kEMCAL),
   fOutput(0),
   fTracksName("Tracks"),
   fCaloName("CaloClusters"),
@@ -73,6 +82,7 @@ AliAnalysisTaskSAJF::AliAnalysisTaskSAJF(const char *name) :
   fTrgClusters(0),
   fCent(0),
   fHistCentrality(0),
+  fHistJetPhiEta(0),
   Ptbins(400),
   Ptlow(0),
   Ptup(200),
@@ -82,8 +92,6 @@ AliAnalysisTaskSAJF::AliAnalysisTaskSAJF(const char *name) :
 {
   // Standard constructor.
 
-  fBranchNames="ESD:AliESDRun.,AliESDHeader.,PrimaryVertex.";
-
   for (Int_t i = 0; i < 4; i++) {
     fHistJetsE[i] = 0;
     fHistJetsNE[i] = 0;
@@ -95,6 +103,9 @@ AliAnalysisTaskSAJF::AliAnalysisTaskSAJF(const char *name) :
     fHistTracksPtBkg[i] = 0;
     fHistClusEBkg[i] = 0;
   }
+
+  // Output slot #1 writes into a TH1 container
+  DefineOutput(1, TList::Class()); 
 }
 
 //________________________________________________________________________
@@ -116,6 +127,11 @@ void AliAnalysisTaskSAJF::UserCreateOutputObjects()
   fHistCentrality->GetYaxis()->SetTitle("counts");
   fOutput->Add(fHistCentrality);
 
+  fHistJetPhiEta = new TH2F("fHistJetPhiEta","Phi-Eta distribution of jets", 20, -2, 2, 32, 0, 6.4);
+  fHistJetPhiEta->GetXaxis()->SetTitle("Eta");
+  fHistJetPhiEta->GetYaxis()->SetTitle("Phi");
+  fOutput->Add(fHistJetPhiEta);
+
   TString histname;
 
   for (Int_t i = 0; i < 4; i++) {
@@ -279,7 +295,12 @@ Int_t AliAnalysisTaskSAJF::GetNumberOfTrgClusters() const
 
 void AliAnalysisTaskSAJF::FillHistograms()
 {
-  Float_t cent = fCent->GetCentralityPercentile("V0M");
+  Float_t cent = 100;
+  
+  if (fCent)
+    cent = fCent->GetCentralityPercentile("V0M");
+  else
+    AliWarning("Centrality not available!");
 
   fHistCentrality->Fill(cent);
 
@@ -306,6 +327,11 @@ void AliAnalysisTaskSAJF::FillHistograms()
     if (jet->E() <= 0)
       continue;
 
+    if (!AcceptJet(jet))
+      continue;
+
+    fHistJetPhiEta->Fill(jet->Eta(), jet->Phi());
+
     fHistJetsE[centbin]->Fill(jet->E());
     fHistJetsNEF[centbin]->Fill(jet->NEF());
     fHistJetsNE[centbin]->Fill(jet->E() * jet->NEF());
@@ -407,6 +433,23 @@ void AliAnalysisTaskSAJF::FillHistograms()
   }
 }
 
+//________________________________________________________________________
+Bool_t AliAnalysisTaskSAJF::AcceptJet(AliEmcalJet* jet)
+{
+  if (fAnaType == kFullAcceptance) {
+    return kTRUE;
+  }
+  else if (fAnaType == kEMCAL) {
+    return (Bool_t)(TMath::Abs(jet->Eta()) < 0.7 && jet->Phi() * TMath::RadToDeg() > 80 && jet->Phi() * TMath::RadToDeg() < 180);
+  }
+  else if (fAnaType == kEMCALFiducial) {
+    return (Bool_t)(TMath::Abs(jet->Eta()) < 0.7 && jet->Phi() * TMath::RadToDeg() > 80 && jet->Phi() * TMath::RadToDeg() < 180);
+  }
+  else {
+    AliWarning("Analysis type not recognized! Assuming kFullAcceptance...");
+    return kTRUE;
+  }
+}
 
 //________________________________________________________________________
 Bool_t AliAnalysisTaskSAJF::AcceptTrack(AliVTrack* /*track*/)
index f8ab44b8a86c078e6b43113117f598140039dc03..27674485996133ec23eec7a408d5264811cbea8d 100644 (file)
@@ -16,6 +16,13 @@ class AliEmcalJet;
 
 class AliAnalysisTaskSAJF : public AliAnalysisTaskSE {
  public:
+  
+  enum SAJFAnaType {
+    kFullAcceptance  = 0,     // Full acceptance
+    kEMCAL           = 1,     // EMCal acceptance only
+    kEMCALFiducial   = 2      // EMCal fiduacial region only
+  };
+
   AliAnalysisTaskSAJF();
   AliAnalysisTaskSAJF(const char *name);
   virtual ~AliAnalysisTaskSAJF();
@@ -28,6 +35,7 @@ class AliAnalysisTaskSAJF : public AliAnalysisTaskSE {
   void                        SetJetsName(const char *n)                    { fJetsName      = n          ; }
   void                        SetTracksName(const char *n)                  { fTracksName    = n          ; }
   void                        SetTrgClusName(const char *n)                 { fTrgClusName   = n          ; }
+  void                        SetAnaType(SAJFAnaType type)                  { fAnaType       = type       ; }
 
  protected:
 
@@ -42,9 +50,10 @@ class AliAnalysisTaskSAJF : public AliAnalysisTaskSE {
   void                        FillHistograms()                      ;
   void                        RetrieveEventObjects()                ;
   Bool_t                      AcceptTrack(AliVTrack* /*track*/)     ;
+  Bool_t                      AcceptJet(AliEmcalJet* jet)           ;
 
+  SAJFAnaType                 fAnaType;                // analysis type
   TList                      *fOutput;                 // Output list
-
   TString                     fTracksName;             // name of track collection
   TString                     fCaloName;               // name of calo cluster collection
   TString                     fJetsName;               // name of jet collection
@@ -55,6 +64,7 @@ class AliAnalysisTaskSAJF : public AliAnalysisTaskSE {
   TClonesArray               *fTrgClusters;            //!Trg Clusters
   AliCentrality              *fCent;                   // Event centrality
   TH1F                       *fHistCentrality;         // Event centrality distribution
+  TH2F                       *fHistJetPhiEta;          // Phi-Eta distribution of jets
   TH1F                       *fHistJetsE[4];           // Jet energy spectrum
   TH1F                       *fHistJetsNE[4];          // Jet neutral energy spectrum
   TH1F                       *fHistJetsNEF[4];         // Jet neutral energy fraction
index 39518c3adb64dbe2a7454f5d94dced9874e25f5c..515b12593cbb5a1091e0cde169060bf7c4a126ad 100644 (file)
@@ -1,4 +1,8 @@
 // $Id$
+//
+// General QA task (S.Aiola)
+//
+//
 
 #include <TChain.h>
 #include <TClonesArray.h>
@@ -15,7 +19,6 @@
 #include "AliEmcalJet.h"
 #include "AliAODTrack.h"
 #include "AliESDtrack.h"
-#include "AliEmcalJet.h"
 #include "AliVEventHandler.h"
 #include "AliPicoTrack.h"
 
@@ -29,7 +32,6 @@ AliAnalysisTaskSAQA::AliAnalysisTaskSAQA() :
   fOutput(0),
   fTracksName("Tracks"),
   fCaloName("CaloClusters"),
-  fJetsName("Jets"),
   fTrgClusName("ClustersL1GAMMAFEE"),
   fTracks(0),
   fCaloClusters(0),
@@ -42,10 +44,8 @@ AliAnalysisTaskSAQA::AliAnalysisTaskSAQA() :
   fHistTracksPt(0),
   fHistClustersEnergy(0),
   fHistEPcorrelation(0),
-  fHistJetsEnergy(0),
   fHistTrPhiEta(0),
   fHistClusPhiEta(0),
-  fHistJetPhiEta(0),
   fHistMaxTrgCluster(0),
   Ptbins(100),
   Ptlow(0),
@@ -61,8 +61,8 @@ AliAnalysisTaskSAQA::AliAnalysisTaskSAQA() :
     fHistTrackEta[i] = 0;
   }
 
-  fBranchNames="ESD:AliESDRun.,AliESDHeader.,PrimaryVertex.";
-
+  // Output slot #1 writes into a TH1 container
+  DefineOutput(1, TList::Class()); 
 }
 
 //________________________________________________________________________
@@ -71,7 +71,6 @@ AliAnalysisTaskSAQA::AliAnalysisTaskSAQA(const char *name) :
   fOutput(0),
   fTracksName("Tracks"),
   fCaloName("CaloClusters"),
-  fJetsName("Jets"),
   fTrgClusName("ClustersL1GAMMAFEE"),
   fTracks(0),
   fCaloClusters(0),
@@ -84,10 +83,8 @@ AliAnalysisTaskSAQA::AliAnalysisTaskSAQA(const char *name) :
   fHistTracksPt(0),
   fHistClustersEnergy(0),
   fHistEPcorrelation(0),
-  fHistJetsEnergy(0),
   fHistTrPhiEta(0),
   fHistClusPhiEta(0),
-  fHistJetPhiEta(0),
   fHistMaxTrgCluster(0),
   Ptbins(100),
   Ptlow(0),
@@ -103,7 +100,8 @@ AliAnalysisTaskSAQA::AliAnalysisTaskSAQA(const char *name) :
     fHistTrackEta[i] = 0;
   }
 
-  fBranchNames="ESD:AliESDRun.,AliESDHeader.,PrimaryVertex.";
+  // Output slot #1 writes into a TH1 container
+  DefineOutput(1, TList::Class()); 
 }
 
 //________________________________________________________________________
@@ -149,11 +147,6 @@ void AliAnalysisTaskSAQA::UserCreateOutputObjects()
   fHistEPcorrelation->GetXaxis()->SetTitle("P [GeV/c]");
   fHistEPcorrelation->GetYaxis()->SetTitle("E [GeV]");
   fOutput->Add(fHistEPcorrelation);
-  
-  fHistJetsEnergy = new TH1F("fHistJetsEnergy","Energy spectrum of jets", Ebins, Elow, Eup);
-  fHistJetsEnergy->GetXaxis()->SetTitle("E [GeV]");
-  fHistJetsEnergy->GetYaxis()->SetTitle("counts");
-  fOutput->Add(fHistJetsEnergy);
 
   fHistTrPhiEta = new TH2F("fHistTrPhiEta","Phi-Eta distribution of tracks", 20, -2, 2, 32, 0, 6.4);
   fHistTrPhiEta->GetXaxis()->SetTitle("Eta");
@@ -165,11 +158,6 @@ void AliAnalysisTaskSAQA::UserCreateOutputObjects()
   fHistClusPhiEta->GetYaxis()->SetTitle("Phi");
   fOutput->Add(fHistClusPhiEta);
 
-  fHistJetPhiEta = new TH2F("fHistJetPhiEta","Phi-Eta distribution of jets", 20, -2, 2, 32, 0, 6.4);
-  fHistJetPhiEta->GetXaxis()->SetTitle("Eta");
-  fHistJetPhiEta->GetYaxis()->SetTitle("Phi");
-  fOutput->Add(fHistJetPhiEta);
-
   fHistMaxTrgCluster = new TH1F("fHistMaxTrgCluster","Energy distribution of max trigger clusters", Ebins, Elow, Eup);
   fHistMaxTrgCluster->GetXaxis()->SetTitle("E [GeV]");
   fHistMaxTrgCluster->GetYaxis()->SetTitle("counts");
@@ -215,11 +203,6 @@ void AliAnalysisTaskSAQA::RetrieveEventObjects()
     AliWarning(Form("Could not retrieve tracks!")); 
   }
 
-  fJets = dynamic_cast<TClonesArray*>(InputEvent()->FindListObject(fJetsName));
-  if (!fJets) {
-    AliWarning(Form("Could not retrieve jets!")); 
-  }
-
   if (strcmp(fTrgClusName,"")) {
     fTrgClusters =  dynamic_cast<TClonesArray*>(InputEvent()->FindListObject(fTrgClusName));
     if (!fTrgClusters) {
@@ -262,22 +245,6 @@ Int_t AliAnalysisTaskSAQA::GetNumberOfCaloClusters() const
     return 0;
 }
 
-AliEmcalJet* AliAnalysisTaskSAQA::GetJet(const Int_t i) const
-{
-  if (fJets)
-    return dynamic_cast<AliEmcalJet*>(fJets->At(i));
-  else
-    return 0;
-}
-
-Int_t AliAnalysisTaskSAQA::GetNumberOfJets() const
-{
-  if (fJets)
-    return fJets->GetEntriesFast();
-  else
-    return 0;
-}
-
 AliVCluster* AliAnalysisTaskSAQA::GetTrgCluster(const Int_t i) const
 {
   if (fTrgClusters)
@@ -296,10 +263,16 @@ Int_t AliAnalysisTaskSAQA::GetNumberOfTrgClusters() const
 
 void AliAnalysisTaskSAQA::FillHistograms()
 {
+  Float_t cent = 100;
   
-  fHistCentrality->Fill(fCent->GetCentralityPercentile("V0M"));
-  fHistTracksCent->Fill(fCent->GetCentralityPercentile("V0M"), GetNumberOfTracks());
-  fHistClusCent->Fill(fCent->GetCentralityPercentile("V0M"), GetNumberOfCaloClusters());
+  if (fCent)
+    cent = fCent->GetCentralityPercentile("V0M");
+  else
+    AliWarning("Centrality not available!");
+
+  fHistCentrality->Fill(cent);
+  fHistTracksCent->Fill(cent, GetNumberOfTracks());
+  fHistClusCent->Fill(cent, GetNumberOfCaloClusters());
 
   // Cluster loop
   Int_t nclusters =  GetNumberOfCaloClusters();
@@ -385,23 +358,6 @@ void AliAnalysisTaskSAQA::FillHistograms()
    
   }
 
-  // Jet loop
-  Int_t njets =  GetNumberOfJets();
-  //cout << njets << " jets" << endl;
-  for (Int_t ij = 0; ij < njets; ij++) {
-    AliEmcalJet* jet = GetJet(ij);
-    if (!jet) {
-      printf("ERROR: Could not receive jet %d\n", ij);
-      continue;
-    }  
-
-    if (jet->E() <= 0)
-      continue;
-
-    fHistJetPhiEta->Fill(jet->Eta(), jet->Phi());
-    fHistJetsEnergy->Fill(jet->E());
-  } //jet loop 
-
   Int_t ntrgclusters =  GetNumberOfTrgClusters();
   Float_t maxe = 0;
   //cout << ntrgclusters << " clusters" << endl;
index b15ca667102d44e45a479fc911587167a6dc331e..bdf56f58249d04084b0495d7ea6cef539af1a305 100644 (file)
@@ -10,7 +10,6 @@ class AliVCluster;
 class TList;
 class TH1F;
 class TH2F;
-class AliEmcalJet;
 
 #include "AliAnalysisTaskSE.h"
 
@@ -25,7 +24,6 @@ class AliAnalysisTaskSAQA : public AliAnalysisTaskSE {
   void                        Terminate(Option_t *option);
 
   void                        SetClusName(const char *n)                    { fCaloName      = n          ; }
-  void                        SetJetsName(const char *n)                    { fJetsName      = n          ; }
   void                        SetTracksName(const char *n)                  { fTracksName    = n          ; }
   void                        SetTrgClusName(const char *n)                 { fTrgClusName   = n          ; }
 
@@ -35,8 +33,6 @@ class AliAnalysisTaskSAQA : public AliAnalysisTaskSE {
   Int_t                       GetNumberOfTracks()              const;
   AliVCluster                *GetCaloCluster(const Int_t i)    const;
   Int_t                       GetNumberOfCaloClusters()        const;
-  AliEmcalJet                *GetJet(const Int_t i)            const;
-  Int_t                       GetNumberOfJets()                const;
   AliVCluster                *GetTrgCluster(const Int_t i)     const;
   Int_t                       GetNumberOfTrgClusters()         const;
   void                        FillHistograms()                      ;
@@ -47,7 +43,6 @@ class AliAnalysisTaskSAQA : public AliAnalysisTaskSE {
 
   TString                     fTracksName;             // name of track collection
   TString                     fCaloName;               // name of calo cluster collection
-  TString                     fJetsName;               // name of jet collection
   TString                     fTrgClusName;            // name of trg clus name
   TClonesArray               *fTracks;                 //!Tracks
   TClonesArray               *fCaloClusters;           //!Clusters
@@ -60,10 +55,8 @@ class AliAnalysisTaskSAQA : public AliAnalysisTaskSE {
   TH1F                       *fHistTracksPt;           // Pt spectrum of tracks
   TH1F                       *fHistClustersEnergy;     // Energy spectrum of clusters
   TH2F                       *fHistEPcorrelation;      // Energy-momentum correlation
-  TH1F                       *fHistJetsEnergy;         // Energy spectrum of jets
   TH2F                       *fHistTrPhiEta;           // Phi-Eta distribution of tracks
   TH2F                       *fHistClusPhiEta;         // Phi-Eta distribution of clusters
-  TH2F                       *fHistJetPhiEta;          // Phi-Eta distribution of jets
   TH1F                       *fHistMaxTrgCluster;      // Energy distribution of max trigger clusters
   TH1F                       *fHistTrackPhi[5];        // Phi distribution of hybrid tracks
   TH1F                       *fHistTrackEta[5];        // Eta distribution of hybrid tracks