]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Adding a few more histogramms.
authorbelikov <belikov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 3 Dec 2009 16:29:47 +0000 (16:29 +0000)
committerbelikov <belikov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 3 Dec 2009 16:29:47 +0000 (16:29 +0000)
PWG1/global/AliAnalysisTaskGlobalQA.cxx
PWG1/global/AliAnalysisTaskGlobalQA.h
STEER/AliGlobalQADataMaker.cxx
STEER/AliGlobalQADataMaker.h

index 790f55926c16c6bbf346379ef9e5ccd35937fd13..ce5e1ecc8172cba1cf853b3e2837aa13b2d46133 100644 (file)
@@ -31,6 +31,9 @@
 #include "AliESDEvent.h"
 #include "AliESDv0.h"
 #include "AliESDInputHandler.h"
+#include "AliESDVZERO.h"
+#include "AliMultiplicity.h" 
+
 
 #include "AliAnalysisTaskGlobalQA.h"
 
@@ -64,16 +67,19 @@ void AliAnalysisTaskGlobalQA::UserCreateOutputObjects()
     const Char_t *name[]={
       "hGlobalFractionAssignedClustersITS",
       "hGlobalFractionAssignedClustersTPC",
-      "hGlobalFractionAssignedClustersTRD"
-    };
+      "hGlobalFractionAssignedClustersTRD",
+      "hGlobalClustersPerITSModule"
+     };
   const Char_t *title[]={
     "Fraction of the assigned clusters in ITS",
     "Fraction of the assigned clusters in TPC",
-    "Fraction of the assigned clusters in TRD"
+    "Fraction of the assigned clusters in TRD",
+    "Number of clusters per an ITS module"
   };
   Add2ESDsList(new TH1F(name[0],title[0],100,0.,2.),kClr0);
   Add2ESDsList(new TH1F(name[1],title[1],100,0.,2.),kClr1);
   Add2ESDsList(new TH1F(name[2],title[2],100,0.,2.),kClr2);
+  Add2ESDsList(new TH1F(name[3],title[3],2240,0.,2240.),kClr3);
   }
 
   {// Track related QA
@@ -154,6 +160,21 @@ void AliAnalysisTaskGlobalQA::UserCreateOutputObjects()
   Add2ESDsList(new TH2F(name[3],title[3],1500,0.05,15.,700,0.,700.),kPid3);
   }
 
+  {// Multiplicity related QA
+    const Char_t *name[]={
+      "hGlobalV0AvsITS",
+      "hGlobalV0CvsITS"
+    };
+    const Char_t *title[]={
+      "Multiplicity: V0A vs ITS",
+      "Multiplicity: V0C vs ITS"
+    };
+    TH2F *h0=new TH2F(name[0],title[0],40,0.,40., 32,0.,32.);
+    Add2ESDsList(h0,kMlt0);
+    TH2F *h1=new TH2F(name[1],title[1],40,0.,40., 32,0.,32.);
+    Add2ESDsList(h1,kMlt1);
+  }
+
 }
 
 //________________________________________________________________________
@@ -183,6 +204,15 @@ void AliAnalysisTaskGlobalQA::UserExec(Option_t *)
       GetESDsData(kClr0)->Fill(Float_t(n)/6.); //6 is the number of ITS layers
     }
 
+    for (Int_t i=0; i<6; i++) {
+      Int_t idet, sts;
+      Float_t xloc,zloc;
+      if (!track->GetITSModuleIndexInfo(i,idet,sts,xloc,zloc)) continue;
+      if (i>=2) idet+=240;
+      if (i>=4) idet+=260;
+      if ((sts==1)||(sts==2)||(sts==4)) GetESDsData(kClr3)->Fill(idet);
+    }
+
     if (track->IsOn(AliESDtrack::kTPCrefit)) {
       Int_t n =track->GetTPCNcls();
       Int_t nf=track->GetTPCNclsF();      // number of crossed TPC pad rows
@@ -268,6 +298,20 @@ void AliAnalysisTaskGlobalQA::UserExec(Option_t *)
     }
   }
 
+  // Multiplicity related QA
+  AliESDVZERO     *mltV0 =esd->GetVZEROData();
+  const AliMultiplicity *mltITS=esd->GetMultiplicity();
+  if (mltV0)
+    if (mltITS) {
+       Short_t nv0a=mltV0->GetNbPMV0A();
+       Short_t nv0c=mltV0->GetNbPMV0C();
+       Int_t   nits=mltITS->GetNumberOfTracklets();
+       TH2F *h0=dynamic_cast<TH2F*>(GetESDsData(kMlt0));
+       h0->Fill(nits,nv0a);
+       TH2F *h1=dynamic_cast<TH2F*>(GetESDsData(kMlt1));
+       h1->Fill(nits,nv0c);
+    }
+
   // V0 related QA
   Int_t nV0=esd->GetNumberOfV0s();
   for (Int_t i=0; i<nV0; i++) {
index c1c28d484e9de1a23349411c522def4b49476297..9abbd2a58cf45b031ee0c5800e66513f4ffc230c 100644 (file)
 class AliAnalysisTaskGlobalQA : public AliAnalysisTaskSE {
 public:
   enum {
-    kClr0,kClr1,kClr2,
+    kClr0,kClr1,kClr2,kClr3,
     kTrk0,kTrk1,kTrk2,kTrk3,kTrk4,kTrk5,kTrk6,kTrk7,kTrk8,kTrk9,kTrk10,
     kK0on,kK0off,kL0on,kL0off,
     kPid0,kPid1,kPid2,kPid3,
+    kMlt0,kMlt1,
     kLast
   };
   AliAnalysisTaskGlobalQA();
index fcafd332ac96be022a9333e6e2f8ff4a5b365f7a..f7051bdb012454192b2c2ee731ea4b40a6c8f849 100644 (file)
@@ -7,6 +7,7 @@
 
 #include <TPDGCode.h>
 #include <TH1F.h>
+#include <TH2F.h>
 
 #include "AliQAChecker.h"
 #include "AliGlobalQADataMaker.h"
@@ -14,6 +15,8 @@
 #include "AliESDEvent.h"
 #include "AliESDv0.h"
 #include "AliRawReader.h"
+#include "AliESDVZERO.h"
+#include "AliMultiplicity.h" 
 
 ClassImp(AliGlobalQADataMaker)
  
@@ -146,16 +149,19 @@ void AliGlobalQADataMaker::InitESDs() {
     const Char_t *name[]={
       "hGlobalFractionAssignedClustersITS",
       "hGlobalFractionAssignedClustersTPC",
-      "hGlobalFractionAssignedClustersTRD"
+      "hGlobalFractionAssignedClustersTRD",
+      "hGlobalClustersPerITSModule"
     };
     const Char_t *title[]={
       "Fraction of the assigned clusters in ITS",
       "Fraction of the assigned clusters in TPC",
-      "Fraction of the assigned clusters in TRD"
+      "Fraction of the assigned clusters in TRD",
+      "Number of clusters per an ITS module"
     };
     Add2ESDsList(new TH1F(name[0],title[0],100,0.,2.),kClr0, !expert, image);
     Add2ESDsList(new TH1F(name[1],title[1],100,0.,2.),kClr1, !expert, image);
     Add2ESDsList(new TH1F(name[2],title[2],100,0.,2.),kClr2, !expert, image);
+    Add2ESDsList(new TH1F(name[3],title[3],2240,0.,2240.),kClr3, !expert, image);
   }
 
   {// Track related QA
@@ -221,16 +227,33 @@ void AliGlobalQADataMaker::InitESDs() {
   const Char_t *name[]={
     "hGlobalITSdEdx",
     "hGlobalTPCdEdx",
-    "hGlobalTOFTrackingvsMeasured"
-  };
+    "hGlobalTOFTrackingvsMeasured",
+    "hGlobalTPCdEdxvsMomentum"
+   };
     const Char_t *title[]={
       "ITS: dEdx (ADC) for particles with momentum 0.4 - 0.5 (GeV)",
       "TPC: dEdx (ADC) for particles with momentum 0.4 - 0.5 (GeV)",
-      "TOF: tracking - measured (ps)"
-    };
+      "TOF: tracking - measured (ps)",
+      "TPC: dEdx (A.U.) vs momentum (GeV)"
+     };
     Add2ESDsList(new TH1F(name[0],title[0],50,0.00,200.),kPid0, !expert, image);
     Add2ESDsList(new TH1F(name[1],title[1],50,0.00,100.),kPid1, !expert, image);
     Add2ESDsList(new TH1F(name[2],title[2],50,-3500.,3500.),kPid2, !expert, image);
+    Add2ESDsList(new TH2F(name[3],title[3],1500,0.05,15.,700,0.,700.),kPid3,!expert,image);
+   }
+  {// Multiplicity related QA
+    const Char_t *name[]={
+      "hGlobalV0AvsITS",
+      "hGlobalV0CvsITS"
+    };
+    const Char_t *title[]={
+      "Multiplicity: V0A vs ITS",
+      "Multiplicity: V0C vs ITS"
+    };
+    TH2F *h0=new TH2F(name[0],title[0],40,0.,40., 32,0.,32.);
+    Add2ESDsList(h0,kMlt0, !expert, image);
+    TH2F *h1=new TH2F(name[1],title[1],40,0.,40., 32,0.,32.);
+    Add2ESDsList(h1,kMlt1, !expert, image);
   }
 
 }
@@ -266,6 +289,15 @@ void AliGlobalQADataMaker::MakeESDs(AliESDEvent * event) {
       GetESDsData(kClr0)->Fill(Float_t(n)/6.); //6 is the number of ITS layers
     }
 
+    for (Int_t i=0; i<6; i++) {
+      Int_t idet, sts;
+      Float_t xloc,zloc;
+      if (!track->GetITSModuleIndexInfo(i,idet,sts,xloc,zloc)) continue;
+      if (i>=2) idet+=240;
+      if (i>=4) idet+=260;
+      if ((sts==1)||(sts==2)||(sts==4)) GetESDsData(kClr3)->Fill(idet);  
+    }
+
     if (track->IsOn(AliESDtrack::kTPCrefit)) {
       Int_t n =track->GetTPCNcls();
       Int_t nf=track->GetTPCNclsF();      // number of crossed TPC pad rows
@@ -342,8 +374,31 @@ void AliGlobalQADataMaker::MakeESDs(AliESDEvent * event) {
         GetESDsData(kPid2)->Fill(times[2]-tof);
       }
     }
+    const AliExternalTrackParam *par=track->GetInnerParam();
+    if (par) {
+      Double_t pp=par->GetP();
+      Double_t dedx=track->GetTPCsignal();
+      TH2F *h = dynamic_cast<TH2F*>(GetESDsData(kPid3));
+      h->Fill(pp,dedx);
+    }
   }
 
+  // Multiplicity related QA
+  AliESDVZERO     *mltV0 =esd->GetVZEROData();
+  const AliMultiplicity *mltITS=esd->GetMultiplicity();
+  if (mltV0)
+    if (mltITS) {
+       Short_t nv0a=mltV0->GetNbPMV0A();
+       Short_t nv0c=mltV0->GetNbPMV0C();
+       Int_t   nits=mltITS->GetNumberOfTracklets();
+       TH2F *h0=dynamic_cast<TH2F*>(GetESDsData(kMlt0));
+       h0->Fill(nits,nv0a);
+       TH2F *h1=dynamic_cast<TH2F*>(GetESDsData(kMlt1));
+       h1->Fill(nits,nv0c);
+    }
+
+
   TH1 *tpc=GetESDsData(kTrk2); tpc->Sumw2();
   TH1 *its=GetESDsData(kTrk3); its->Sumw2();
   TH1 *tof=GetESDsData(kTrk4); tof->Sumw2();
index acbae29740e89108f480345b5a20d8f1b5274df2..b28158b75ff96c03233eeb2012dec4390c4f2291 100644 (file)
@@ -15,10 +15,11 @@ class AliESDEvent;
 class AliGlobalQADataMaker: public AliQADataMakerRec {
 public:
   enum {
-    kClr0,kClr1,kClr2,
+    kClr0,kClr1,kClr2,kClr3,
     kTrk0,kTrk1,kTrk2,kTrk3,kTrk4,kTrk5,kTrk6,kTrk7,kTrk8,kTrk9,kTrk10,
     kK0on,kK0off,kL0on,kL0off,
-    kPid0,kPid1,kPid2,
+    kPid0,kPid1,kPid2,kPid3,
+    kMlt0,kMlt1,
     kLast
   };
   AliGlobalQADataMaker(const Char_t *name="Global",