]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
add more plots, rearranged some if statements but no logical change should have happened
authorConstantin Loizides <cloizides@lbl.gov>
Wed, 18 Dec 2013 10:15:22 +0000 (11:15 +0100)
committerConstantin Loizides <cloizides@lbl.gov>
Wed, 18 Dec 2013 10:15:22 +0000 (11:15 +0100)
PWGJE/EMCALJetTasks/AliHadCorrTask.cxx
PWGJE/EMCALJetTasks/AliHadCorrTask.h

index 667958b2a2221e274a7af7ba7a02b8a11fca8ce2..8655fb19d15829c4e0c5ecc2b0bc4d9232a2b6c8 100644 (file)
@@ -32,13 +32,15 @@ AliHadCorrTask::AliHadCorrTask() :
   fOutCaloName(),
   fPhiMatch(0.05),
   fEtaMatch(0.025),
-  fDoTrackClus(0),
+  fDoTrackClus(kTRUE),
   fHadCorr(0),
   fEexclCell(0),
   fDoExact(kFALSE),
   fEsdMode(kTRUE),
   fOutClusters(0),
   fHistMatchEtaPhiAll(0),
+  fHistMatchEtaPhiAllTr(0),
+  fHistMatchEtaPhiAllCl(0),
   fHistNclusvsCent(0),
   fHistNclusMatchvsCent(0),
   fHistEbefore(0),
@@ -82,13 +84,15 @@ AliHadCorrTask::AliHadCorrTask(const char *name, Bool_t histo) :
   fOutCaloName("CaloClustersCorr"),
   fPhiMatch(0.05),
   fEtaMatch(0.025),
-  fDoTrackClus(1),
+  fDoTrackClus(kTRUE),
   fHadCorr(0),
   fEexclCell(0),
   fDoExact(kFALSE),
   fEsdMode(kTRUE),
   fOutClusters(0),
   fHistMatchEtaPhiAll(0),
+  fHistMatchEtaPhiAllTr(0),
+  fHistMatchEtaPhiAllCl(0),
   fHistNclusvsCent(0),
   fHistNclusMatchvsCent(0),
   fHistEbefore(0),
@@ -374,10 +378,10 @@ void AliHadCorrTask::UserCreateOutputObjects()
 {
   // Create my user objects.
 
-  if (!fCreateHisto) return;
-
   AliAnalysisTaskEmcal::UserCreateOutputObjects();
 
+  if (!fCreateHisto) return;
+
   TString name;
 
   const Int_t nCentChBins = fNcentBins * 2;
@@ -385,6 +389,12 @@ void AliHadCorrTask::UserCreateOutputObjects()
   fHistMatchEtaPhiAll = new TH2F("fHistMatchEtaPhiAll", "fHistMatchEtaPhiAll", fNbins, -0.1, 0.1, fNbins, -0.1, 0.1);
   fOutput->Add(fHistMatchEtaPhiAll);
 
+  fHistMatchEtaPhiAllTr = new TH2F("fHistMatchEtaPhiAllTr", "fHistMatchEtaPhiAllTr", fNbins, -0.1, 0.1, fNbins, -0.1, 0.1);
+  fOutput->Add(fHistMatchEtaPhiAllTr);
+
+  fHistMatchEtaPhiAllCl = new TH2F("fHistMatchEtaPhiAllCl", "fHistMatchEtaPhiAllCl", fNbins, -0.1, 0.1, fNbins, -0.1, 0.1);
+  fOutput->Add(fHistMatchEtaPhiAllCl);
+
   for(Int_t icent=0; icent<nCentChBins; ++icent) {
     for(Int_t ipt=0; ipt<9; ++ipt) {
       for(Int_t ieta=0; ieta<2; ++ieta) {
@@ -522,6 +532,8 @@ void AliHadCorrTask::ExecOnce()
 //________________________________________________________________________
 void AliHadCorrTask::DoTrackLoop() 
 {
+  // Loop over tracks to provide some QA
   AliParticleContainer *tracks = static_cast<AliParticleContainer*>(fParticleCollArray.At(0));
   AliParticleContainer *clusters = static_cast<AliParticleContainer*>(fParticleCollArray.At(1));
 
@@ -545,7 +557,8 @@ void AliHadCorrTask::DoTrackLoop()
     Int_t Nclus = emctrack->GetNumberOfMatchedObj();
 
     for (Int_t iClus = 0; iClus < Nclus; ++iClus) {
-      AliEmcalParticle *emccluster = static_cast<AliEmcalParticle*>(clusters->GetAcceptParticle(emctrack->GetMatchedObjId(iClus)));
+      AliEmcalParticle *emccluster = 
+        static_cast<AliEmcalParticle*>(clusters->GetAcceptParticle(emctrack->GetMatchedObjId(iClus)));
       if (!emccluster) continue;
 
       AliVCluster *cluster = emccluster->GetCluster();
@@ -555,6 +568,7 @@ void AliHadCorrTask::DoTrackLoop()
       Double_t etadiff = 999;
       Double_t phidiff = 999;
       AliPicoTrack::GetEtaPhiDiff(track, cluster, phidiff, etadiff);
+      fHistMatchEtaPhiAllTr->Fill(etadiff,phidiff);
 
       if (TMath::Abs(phidiff) < fPhiMatch && TMath::Abs(etadiff) < fEtaMatch) NmatchClus++;
     }
@@ -563,34 +577,34 @@ void AliHadCorrTask::DoTrackLoop()
 }
 
 //________________________________________________________________________
-void AliHadCorrTask::DoMatchedTracksLoop(AliEmcalParticle *emccluster, Double_t &totalTrkP, Int_t &Nmatches, Double_t &trkPMCfrac, Int_t &NMCmatches) 
+void AliHadCorrTask::DoMatchedTracksLoop(AliEmcalParticle *emccluster, 
+                                         Double_t &totalTrkP, Int_t &Nmatches, Double_t &trkPMCfrac, Int_t &NMCmatches) 
 {
   // Do the loop over matched tracks for cluster emccluster.
 
   AliParticleContainer *tracks = static_cast<AliParticleContainer*>(fParticleCollArray.At(0));
-
   AliVCluster *cluster = emccluster->GetCluster();
   Int_t iClus = emccluster->IdInCollection();
-  Double_t energyclus = cluster->E();
 
   // loop over matched tracks
   const Int_t Ntrks = emccluster->GetNumberOfMatchedObj();
   for (Int_t i = 0; i < Ntrks; ++i) {
     Int_t    iTrack = emccluster->GetMatchedObjId(i);
-    Double_t dR     = emccluster->GetMatchedObjDistance(i);
     
     AliEmcalParticle *emctrack = static_cast<AliEmcalParticle*>(tracks->GetAcceptParticle(iTrack));
     if (!emctrack) continue;
 
-    // check if track also points to cluster
-    if (fDoTrackClus && (emctrack->GetMatchedObjId(0)) != iClus) continue;
-
     AliVTrack *track = emctrack->GetTrack();
     if (!track) continue;
 
     Double_t etadiff = 999;
     Double_t phidiff = 999;
     AliPicoTrack::GetEtaPhiDiff(track, cluster, phidiff, etadiff);
+    if (fCreateHisto)
+      fHistMatchEtaPhiAllCl->Fill(etadiff, phidiff);
+
+    // check if track also points to cluster
+    if (fDoTrackClus && (emctrack->GetMatchedObjId(0)) != iClus) continue;
 
     Double_t mom       = track->P();
     UInt_t   mombin    = GetMomBin(mom); 
@@ -633,6 +647,8 @@ void AliHadCorrTask::DoMatchedTracksLoop(AliEmcalParticle *emccluster, Double_t
 
       if (fCreateHisto) {
         if (fHadCorr > 1) {
+          Double_t dR         = emccluster->GetMatchedObjDistance(i);
+          Double_t energyclus = cluster->E();
           fHistMatchdRvsEP[fCentBin]->Fill(dR, energyclus / mom);
         }
       }
@@ -651,6 +667,7 @@ Bool_t AliHadCorrTask::Run()
   AliParticleContainer *clusters = static_cast<AliParticleContainer*>(fParticleCollArray.At(1));
   AliEmcalParticle *emccluster = 0;
   
+  // provide some additional histograms
   if (fCreateHisto)
     DoTrackLoop();
 
@@ -725,20 +742,21 @@ Double_t AliHadCorrTask::ApplyHadCorrOneTrack(AliEmcalParticle *emccluster, Doub
   AliEmcalParticle *emctrack = static_cast<AliEmcalParticle*>(tracks->GetParticle(iMin));
   if (!emctrack) return energyclus;
 
-  // check if track also points to cluster
-  Int_t cid = emctrack->GetMatchedObjId();
-  if (fDoTrackClus && (cid!=emccluster->IdInCollection())) return energyclus;
-
   AliVTrack *track = emctrack->GetTrack();
   if (!track) return energyclus;
 
   Double_t mom = track->P();
   if (mom < 1e-6) return energyclus;
 
-  Double_t dRmin      = emccluster->GetMatchedObjDistance();
   Double_t dEtaMin    = 1e9;
   Double_t dPhiMin    = 1e9;
   AliPicoTrack::GetEtaPhiDiff(track, cluster, dPhiMin, dEtaMin);
+  if (fCreateHisto)
+    fHistMatchEtaPhiAllCl->Fill(dEtaMin, dPhiMin);
+
+  // check if track also points to cluster
+  Int_t cid = emctrack->GetMatchedObjId();
+  if (fDoTrackClus && (cid!=emccluster->IdInCollection())) return energyclus;
 
   UInt_t mombin = GetMomBin(mom);
   Int_t centbinch = fCentBin;
@@ -754,6 +772,7 @@ Double_t AliHadCorrTask::ApplyHadCorrOneTrack(AliEmcalParticle *emccluster, Doub
     fHistMatchEtaPhiAll->Fill(dEtaMin, dPhiMin);
     
     if (mom > 0) {
+      Double_t dRmin      = emccluster->GetMatchedObjDistance();
       fHistMatchEvsP[fCentBin]->Fill(energyclus, energyclus / mom);
       fHistEoPCent->Fill(fCent, energyclus / mom);
       fHistMatchdRvsEP[fCentBin]->Fill(dRmin, energyclus / mom);
@@ -819,18 +838,18 @@ Double_t AliHadCorrTask::ApplyHadCorrAllTracks(AliEmcalParticle *emccluster, Dou
   if ((energyclus - Esub) < clusEexcl) Esub = (energyclus - clusEexcl);
 
   // embedding
-  Double_t EsubMC = 0;
-  Double_t EsubBkg = 0;
-  Double_t EclusMC = 0;
-  Double_t EclusBkg = 0;
-  Double_t EclusCorr = 0;
-  Double_t EclusMCcorr = 0;
+  Double_t EsubMC       = 0;
+  Double_t EsubBkg      = 0;
+  Double_t EclusMC      = 0;
+  Double_t EclusBkg     = 0;
+  Double_t EclusCorr    = 0;
+  Double_t EclusMCcorr  = 0;
   Double_t EclusBkgcorr = 0;
   Double_t overSub = 0;
   if (fIsEmbedded) {
-    EsubMC = hadCorr * totalTrkP * trkPMCfrac;
-    EsubBkg = hadCorr * totalTrkP - EsubMC;
-    EclusMC = energyclus * cluster->GetMCEnergyFraction();
+    EsubMC   = hadCorr * totalTrkP * trkPMCfrac;
+    EsubBkg  = hadCorr * totalTrkP - EsubMC;
+    EclusMC  = energyclus * cluster->GetMCEnergyFraction();
     EclusBkg = energyclus - EclusMC;
  
     if (energyclus > Esub)
index c48cac73b24da715141c3e71ce834990fe21d495..db7d0389c05ecb0e7b2b2be196420c009dafe1cb 100644 (file)
@@ -57,6 +57,8 @@ class AliHadCorrTask : public AliAnalysisTaskEmcal {
   // QA plots
   TH2                   *fHistMatchEtaPhi[8][9][2];  //!deta vs. dphi of matched cluster-track pairs
   TH2                   *fHistMatchEtaPhiAll;        //!deta vs. dphi of matched cluster-track pairs
+  TH2                   *fHistMatchEtaPhiAllTr;      //!deta vs. dphi of all cluster-track pairs (tr loop)
+  TH2                   *fHistMatchEtaPhiAllCl;      //!deta vs. dphi of all cluster-track pairs (cl loop)
   TH2                   *fHistMatchEvsP[4];          //!cluster energy vs. track momentum of matched pairs
   TH2                   *fHistNMatchEnergy[4];       //!n matches vs. cluster energy
   TH2                   *fHistNCellsEnergy[4][4];    //!n cells vs. cluster energy