]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
add new info
authorloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 25 Mar 2013 15:13:51 +0000 (15:13 +0000)
committerloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 25 Mar 2013 15:13:51 +0000 (15:13 +0000)
PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskCLQA.cxx
PWGJE/EMCALJetTasks/UserTasks/AliAnalysisTaskCLQA.h
PWGJE/PWGJEEMCALJetTasksLinkDef.h

index b7180d261ceb9dfa165389c7551c01be5b9f675b..1482969749e9f28915b35ee46045e227066c211d 100644 (file)
@@ -43,7 +43,7 @@ AliAnalysisTaskCLQA::AliAnalysisTaskCLQA() :
   AliAnalysisTaskEmcalJet("AliAnalysisTaskCLQA", kTRUE),
   fDoCumulants(0), 
   fCumPtMin(0.3), fCumPtMax(5.0), fCumEtaMin(-1.0), fCumEtaMax(1.0), fCumMmin(15),
-  fNtupCum(0), fNtupCumInfo(0)
+  fNtupCum(0), fNtupCumInfo(0), fNtupZdcInfo(0)
 {
   // Default constructor.
 }
@@ -53,7 +53,7 @@ AliAnalysisTaskCLQA::AliAnalysisTaskCLQA(const char *name) :
   AliAnalysisTaskEmcalJet(name, kTRUE),
   fDoCumulants(0), 
   fCumPtMin(0.3), fCumPtMax(5.0), fCumEtaMin(-1.0), fCumEtaMax(1.0), fCumMmin(15),
-  fNtupCum(0), fNtupCumInfo(0)
+  fNtupCum(0), fNtupCumInfo(0), fNtupZdcInfo(0)
 {
   // Standard constructor.
 }
@@ -112,11 +112,19 @@ void AliAnalysisTaskCLQA::RunCumulants(Double_t Mmin, Double_t ptmin, Double_t p
   Double_t Q4r=0,Q4i=0;
   Double_t mpt=0,mpt2=0,ptmaxq=0;
   Double_t ts00=0,ts10=0,ts11=0;
+  Double_t v0ach=0, v0cch=0;
   for (Int_t i =0; i<ntracks; ++i) {
-    AliVTrack *track = dynamic_cast<AliVTrack*>(fTracks->At(i));
+    AliVParticle *track = dynamic_cast<AliVParticle*>(fTracks->At(i));
     if (!track)
       continue;
     Double_t eta = track->Eta();
+    if (track->Charge()!=0) {
+      if ((eta<5.1)&&(eta>2.8))
+        ++v0ach;
+      else if ((eta>-3.7)&&(eta<-1.7))
+        ++v0cch;
+    }
     if ((eta<etamin) || (eta>etamax))
       continue;
     Double_t pt = track->Pt();
@@ -157,7 +165,6 @@ void AliAnalysisTaskCLQA::RunCumulants(Double_t Mmin, Double_t ptmin, Double_t p
   Double_t Q2abs = Q2r*Q2r+Q2i*Q2i;
   Double_t Q4abs = Q4r*Q4r+Q4i*Q4i;
   Double_t Q42re = Q4r*Q2r*Q2r-Q4r*Q2i*Q2i+2*Q4i*Q2r*Q2i;
-
   Double_t tsall = -1;
   Double_t tsax = (tsa00+tsa11)*(tsa00+tsa11)-4*(tsa00*tsa11-tsa10*tsa10);
   if (tsax>=0) {
@@ -203,12 +210,20 @@ void AliAnalysisTaskCLQA::RunCumulants(Double_t Mmin, Double_t ptmin, Double_t p
   fNtupCumInfo->fQ2abs    = Q2abs;
   fNtupCumInfo->fQ4abs    = Q4abs;
   fNtupCumInfo->fQ42re    = Q42re;
+  fNtupCumInfo->fCos2phi  = Q2r;
+  fNtupCumInfo->fSin2phi  = Q2i;
   fNtupCumInfo->fPtMax    = ptmaxq;
   fNtupCumInfo->fMPt      = mpt/M;
   fNtupCumInfo->fMPt2     = mpt2/M;
   fNtupCumInfo->fTS       = ts;
-  AliVVZERO *vzero = InputEvent()->GetVZEROData();
-  fNtupCumInfo->fMV0M     = vzero->GetMTotV0A()+vzero->GetMTotV0C();
+  TString tname(fTracks->GetName());
+  if (tname.Contains("mc")) {
+    fNtupCumInfo->fMV0M     = v0ach + v0cch;
+  } else {
+    AliVVZERO *vzero = InputEvent()->GetVZEROData();
+    fNtupCumInfo->fMV0M     = vzero->GetMTotV0A()+vzero->GetMTotV0C();
+  }
+
   AliCentrality *cent = InputEvent()->GetCentrality();
   fNtupCumInfo->fCl1      = cent->GetCentralityPercentile("CL1");
   fNtupCumInfo->fV0M      = cent->GetCentralityPercentile("V0M");
@@ -216,6 +231,15 @@ void AliAnalysisTaskCLQA::RunCumulants(Double_t Mmin, Double_t ptmin, Double_t p
   fNtupCumInfo->fV0A      = cent->GetCentralityPercentile("V0A");
   fNtupCumInfo->fV0AEq    = cent->GetCentralityPercentile("V0AEq");
   fNtupCumInfo->fZNA      = cent->GetCentralityPercentile("ZNA");
+
+  AliVZDC *vZDC = InputEvent()->GetZDCData();
+  const Double_t *znaTowers = vZDC->GetZNATowerEnergy(); 
+  fNtupZdcInfo->fZna0 = znaTowers[0];
+  fNtupZdcInfo->fZna1 = znaTowers[1];
+  fNtupZdcInfo->fZna2 = znaTowers[2];
+  fNtupZdcInfo->fZna3 = znaTowers[3];
+  fNtupZdcInfo->fZna4 = znaTowers[4];
+
   fNtupCum->Fill();
 }
 
@@ -253,6 +277,9 @@ void AliAnalysisTaskCLQA::UserCreateOutputObjects()
     }
     fNtupCumInfo = new AliNtupCumInfo;
     fNtupCum->Branch("cumulants", &fNtupCumInfo, 32*1024, 99);
+    fNtupZdcInfo = new AliNtupZdcInfo;
+    fNtupCum->Branch("zdc", &fNtupZdcInfo, 32*1024, 99);
+
     fOutput->Add(fNtupCum);
   }
 
index 5b2402b0e8c50427d9624a4774620e25afcd724c..0ff2a89ab7dd872c719418cecac28bd43ed6aa10 100644 (file)
@@ -15,6 +15,7 @@ class TTree;
 #include "AliAnalysisTaskEmcalJet.h"
 
 class AliNtupCumInfo;
+class AliNtupZdcInfo;
 
 class AliAnalysisTaskCLQA : public AliAnalysisTaskEmcalJet {
  public:
@@ -40,22 +41,23 @@ class AliAnalysisTaskCLQA : public AliAnalysisTaskEmcalJet {
   Double_t                    fCumMmin;          // minimum number of tracks for cumulants 
   TTree                      *fNtupCum;          //!ntuple for cumulant analysis
   AliNtupCumInfo             *fNtupCumInfo;      //!object holding cumulant results
+  AliNtupZdcInfo             *fNtupZdcInfo;      //!object holding zdc info
 
  private:
   AliAnalysisTaskCLQA(const AliAnalysisTaskCLQA&);            // not implemented
   AliAnalysisTaskCLQA &operator=(const AliAnalysisTaskCLQA&); // not implemented
 
-  ClassDef(AliAnalysisTaskCLQA, 1) // Constantin's Task
+  ClassDef(AliAnalysisTaskCLQA, 2) // Constantin's Task
 };
 
 class AliNtupCumInfo {
  public:
-    AliNtupCumInfo() : fTrig(0), fRun(0), fVz(0), fIsFEC(0), fIsVSel(0), fIsP(0),
-                       fMall(0), fMall2(0), fPtMaxall(0), fMPtall(0), 
-                       fMPt2all(0), fMPtall2(0), fTSall(0),
-                       fM(0), fQ2abs(0), fQ4abs(0), fQ42re(0),
-                       fPtMax(0), fMPt(0), fMPt2(0), fTS(0), fMV0M(0), 
-                       fCl1(0), fV0M(0), fV0MEq(0), fV0A(0), fV0AEq(0), fZNA(0) {;}
+  AliNtupCumInfo() : fTrig(0), fRun(0), fVz(0), fIsFEC(0), fIsVSel(0), fIsP(0),
+                     fMall(0), fMall2(0), fPtMaxall(0), fMPtall(0), 
+                     fMPt2all(0), fMPtall2(0), fTSall(0),
+                     fM(0), fQ2abs(0), fQ4abs(0), fQ42re(0), fCos2phi(0), fSin2phi(0),
+                     fPtMax(0), fMPt(0), fMPt2(0), fTS(0), fMV0M(0), 
+                     fCl1(0), fV0M(0), fV0MEq(0), fV0A(0), fV0AEq(0), fZNA(0) {;}
   virtual ~AliNtupCumInfo() {;}
 
  public:
@@ -73,9 +75,11 @@ class AliNtupCumInfo {
   Double32_t    fMPtall2;      //[0,0,16] mean pT truncated above 1 GeV/c
   Double32_t    fTSall;        //[0,0,16] transverse sphericity
   Int_t         fM;            // multiplicity (tracks in pT range)
-  Double_t      fQ2abs;        // Q2 absolute
-  Double_t      fQ4abs;        // Q4 absolute
-  Double_t      fQ42re;        // Re(Q2Q*Q*)
+  Double32_t    fQ2abs;        // Q2 absolute
+  Double32_t    fQ4abs;        // Q4 absolute
+  Double32_t    fQ42re;        // Re(Q2Q*Q*)
+  Double32_t    fCos2phi;      // Cos(2phi)
+  Double32_t    fSin2phi;      // Sin(2phi)
   Double32_t    fPtMax;        //[0,0,16] maximum pT
   Double32_t    fMPt;          //[0,0,16] mean pT
   Double32_t    fMPt2;         //[0,0,16] mean pT2
@@ -87,8 +91,24 @@ class AliNtupCumInfo {
   Double32_t    fV0A;          //[0,0,16] class V0A
   Double32_t    fV0AEq;        //[0,0,16] class V0A Eq
   Double32_t    fZNA;          //[0,0,16] class ZNA
-  ClassDef(AliNtupCumInfo,2) // Cumulant storage class
+
+  ClassDef(AliNtupCumInfo,3) // Cumulant storage class
+};
+
+class AliNtupZdcInfo {
+ public:
+   AliNtupZdcInfo() : fZna0(0), fZna1(0), fZna2(0), fZna3(0), fZna4(0) {;}
+   virtual ~AliNtupZdcInfo() {;}
+
+ public:
+  Double32_t    fZna0;         // ZNA energy 0 
+  Double32_t    fZna1;         // ZNA energy 1 
+  Double32_t    fZna2;         // ZNA energy 2 
+  Double32_t    fZna3;         // ZNA energy 3 
+  Double32_t    fZna4;         // ZNA energy 4 
+
+  ClassDef(AliNtupZdcInfo,1) // ZDC storage class
 };
 
+
 #endif
index f1a6d8a741f636a3e7786a2f196a5f4da8111865..16bba9044828f5e43934fb45dc6e6464a4f1d446 100644 (file)
@@ -42,5 +42,6 @@
 #pragma link C++ class AliAnalysisTaskSAQA+;
 #pragma link C++ class AliAnalysisTaskSOH+;
 #pragma link C++ class AliNtupCumInfo+;
+#pragma link C++ class AliNtupZdcInfo+;
 
 #endif