add pt vs M02 histograms - A. Mas
authorgconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 15 Jun 2013 11:31:38 +0000 (11:31 +0000)
committergconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 15 Jun 2013 11:31:38 +0000 (11:31 +0000)
PWGGA/CaloTrackCorrelations/AliAnaParticleIsolation.cxx
PWGGA/CaloTrackCorrelations/AliAnaParticleIsolation.h

index 307598b..21b598e 100755 (executable)
@@ -154,10 +154,13 @@ fhEtaPhiFracPtSumIso(),           fhEtaPhiFracPtSumDecayIso(),
 // Cluster control histograms
 fhTrackMatchedDEta(),             fhTrackMatchedDPhi(),           fhTrackMatchedDEtaDPhi(),
 fhdEdx(),                         fhEOverP(),                     fhTrackMatchedMCParticle(),
-fhELambda0() ,                    fhELambda1(),                   fhELambda0SSBkg(),
-fhELambda0TRD(),                  fhELambda1TRD(),
-fhELambda0MCPhoton(),             fhELambda0MCPi0(),              fhELambda0MCPi0Decay(),
+fhELambda0() ,                    fhPtLambda0() ,
+fhELambda1(),                     fhELambda0SSBkg(),
+fhELambda0TRD(),                  fhPtLambda0TRD(),               fhELambda1TRD(),
+fhELambda0MCPhoton(),             fhPtLambda0MCPhotonPrompt(),    fhPtLambda0MCPhotonFrag(),
+fhELambda0MCPi0(),                fhELambda0MCPi0Decay(),
 fhELambda0MCEtaDecay(),           fhELambda0MCOtherDecay(),       fhELambda0MCHadron(),
+                  
 // Number of local maxima in cluster
 fhNLocMax(),
 fhELambda0LocMax1(),              fhELambda1LocMax1(),
@@ -253,8 +256,8 @@ fHistoNPtInConeBins(0),           fHistoPtInConeMax(0.),           fHistoPtInCon
     
     fhELambda0MCPhoton  [i] = 0 ;           fhELambda0MCPi0       [i] = 0 ;       fhELambda0MCPi0Decay[i] = 0 ;
     fhELambda0MCEtaDecay[i] = 0 ;           fhELambda0MCOtherDecay[i] = 0 ;       fhELambda0MCHadron  [i] = 0 ;
-
-    
+    fhPtLambda0        [i] = 0 ;            fhPtLambda0TRD     [i] = 0 ;  
+    fhPtLambda0MCPhotonPrompt  [i] = 0 ;    fhPtLambda0MCPhotonFrag  [i] = 0 ; 
     // Number of local maxima in cluster
     fhNLocMax        [i] = 0 ;
     fhELambda0LocMax1[i] = 0 ;              fhELambda1LocMax1[i] = 0 ;
@@ -1157,20 +1160,31 @@ void AliAnaParticleIsolation::FillTrackMatchingShowerShapeControlHistograms(AliA
   if     (fCalorimeter == "EMCAL") clusters = GetEMCALClusters();
   else if(fCalorimeter == "PHOS" ) clusters = GetPHOSClusters();
   
+  Float_t energy = pCandidate->E();
+  Float_t pt     = pCandidate->Pt();
+  
   if(clusters)
   {
     AliVCluster *cluster = FindCluster(clusters,clusterID,iclus); 
-    Float_t energy = cluster->E();
     
     if(fFillSSHisto)
     {
-      fhELambda0[isolated]->Fill(energy, cluster->GetM02() );  
-      fhELambda1[isolated]->Fill(energy, cluster->GetM20() );  
+      fhELambda0 [isolated]->Fill(energy, cluster->GetM02() );
+      fhPtLambda0[isolated]->Fill(pt,     cluster->GetM02() ); 
+      fhELambda1 [isolated]->Fill(energy, cluster->GetM20() );
       
       if(IsDataMC())
       {
-        if     (GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPrompt) ||        
-                GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCFragmentation)) fhELambda0MCPhoton    [isolated]->Fill(energy, cluster->GetM02());
+        if     (GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPrompt) ||
+                GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCFragmentation))
+        {
+          fhELambda0MCPhoton    [isolated]->Fill(energy, cluster->GetM02());
+          
+          if      (GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPrompt))
+            fhPtLambda0MCPhotonPrompt  [isolated]->Fill(pt, cluster->GetM02());
+          else if (GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCFragmentation))
+            fhPtLambda0MCPhotonFrag    [isolated]->Fill(pt, cluster->GetM02());
+        }
         else if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPi0))           fhELambda0MCPi0       [isolated]->Fill(energy, cluster->GetM02());
         else if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPi0Decay))      fhELambda0MCPi0Decay  [isolated]->Fill(energy, cluster->GetM02());
         else if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCEtaDecay))      fhELambda0MCEtaDecay  [isolated]->Fill(energy, cluster->GetM02());
@@ -1183,8 +1197,9 @@ void AliAnaParticleIsolation::FillTrackMatchingShowerShapeControlHistograms(AliA
       
       if(fCalorimeter == "EMCAL" && GetModuleNumber(cluster) > 5) // TO DO: CHANGE FOR 2012
       {
-        fhELambda0TRD[isolated]->Fill(energy, cluster->GetM02() );  
-        fhELambda1TRD[isolated]->Fill(energy, cluster->GetM20() );  
+        fhELambda0TRD [isolated]->Fill(energy, cluster->GetM02() );
+        fhPtLambda0TRD[isolated]->Fill(pt    , cluster->GetM02() ); 
+        fhELambda1TRD [isolated]->Fill(energy, cluster->GetM20() );
       }
       
       fhNLocMax[isolated]->Fill(energy,nMaxima);
@@ -2290,9 +2305,31 @@ TList *  AliAnaParticleIsolation::GetCreateOutputObjects()
         fhELambda0[iso]->SetYTitle("#lambda_{0}^{2}");
         fhELambda0[iso]->SetXTitle("E (GeV)");
         outputContainer->Add(fhELambda0[iso]) ;
+
+        fhPtLambda0[iso]  = new TH2F
+        (Form("hPtLambda0%s",hName[iso].Data()),
+         Form("%s cluster : p_{T} vs #lambda_{0}",hTitle[iso].Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
+        fhPtLambda0[iso]->SetYTitle("#lambda_{0}^{2}");
+        fhPtLambda0[iso]->SetXTitle("p_{T} (GeV/c)");
+        outputContainer->Add(fhPtLambda0[iso]) ;
         
         if(IsDataMC())
         {
+          fhPtLambda0MCPhotonPrompt[iso]  = new TH2F
+          (Form("hPtLambda0%s_MCPhotonPrompt",hName[iso].Data()),
+           Form("%s cluster : Pt vs #lambda_{0}: Origin is prompt photon",hTitle[iso].Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); 
+          fhPtLambda0MCPhotonPrompt[iso]->SetYTitle("#lambda_{0}^{2}");
+          fhPtLambda0MCPhotonPrompt[iso]->SetXTitle("Pt (GeV/c)");
+          outputContainer->Add(fhPtLambda0MCPhotonPrompt[iso]) ; 
+
+          fhPtLambda0MCPhotonFrag[iso]  = new TH2F
+          (Form("hPtLambda0%s_MCPhotonFrag",hName[iso].Data()),
+           Form("%s cluster : Pt vs #lambda_{0}: Origin is fragmentation photon",hTitle[iso].Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); 
+          fhPtLambda0MCPhotonFrag[iso]->SetYTitle("#lambda_{0}^{2}");
+          fhPtLambda0MCPhotonFrag[iso]->SetXTitle("Pt (GeV/c)");
+          outputContainer->Add(fhPtLambda0MCPhotonFrag[iso]) ; 
+
+
           fhELambda0MCPhoton[iso]  = new TH2F
           (Form("hELambda0%s_MCPhoton",hName[iso].Data()),
            Form("%s cluster : E vs #lambda_{0}: Origin is final state photon",hTitle[iso].Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
@@ -2344,7 +2381,15 @@ TList *  AliAnaParticleIsolation::GetCreateOutputObjects()
         outputContainer->Add(fhELambda1[iso]) ;
         
         if(fCalorimeter=="EMCAL")
-        {
+        {     
+
+          fhPtLambda0TRD[iso]  = new TH2F
+          (Form("hPtLambda0TRD%s",hName[iso].Data()),
+           Form("%s cluster: p_{T} vs #lambda_{0}, SM behind TRD",hTitle[iso].Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
+          fhPtLambda0TRD[iso]->SetYTitle("#lambda_{0}^{2}");
+          fhPtLambda0TRD[iso]->SetXTitle("p_{T} (GeV/c)");
+          outputContainer->Add(fhPtLambda0TRD[iso]) ;
+
           fhELambda0TRD[iso]  = new TH2F
           (Form("hELambda0TRD%s",hName[iso].Data()),
            Form("%s cluster: E vs #lambda_{0}, SM behind TRD",hTitle[iso].Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
index a3a558f..8facb14 100755 (executable)
@@ -261,22 +261,22 @@ class AliAnaParticleIsolation : public AliAnaCaloTrackCorrBaseClass {
   TH2F *   fhEtaBandNormCellvsTrack ;             //! Accumulated pT cell in Eta band to estimate UE in cone, normalized to cone size, clusters vs tracks
   TH2F *   fhPhiBandNormCellvsTrack ;             //! Accumulated pT cell in Phi band to estimate UE in cone, normalized to cone
 
-  TH2F *   fhConeSumPtSubvsConeSumPtTotPhiTrack;  //! Tracks, phi band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
-  TH2F *   fhConeSumPtSubNormvsConeSumPtTotPhiTrack; //! Tracks, phi band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub
-  TH2F *   fhConeSumPtSubvsConeSumPtTotEtaTrack;  //! Tracks, eta band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
-  TH2F *   fhConeSumPtSubNormvsConeSumPtTotEtaTrack; //! Tracks, eta band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub
-  TH2F *   fhConeSumPtSubvsConeSumPtTotPhiCluster;  //! Clusters, phi band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
+  TH2F *   fhConeSumPtSubvsConeSumPtTotPhiTrack;       //! Tracks, phi band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
+  TH2F *   fhConeSumPtSubNormvsConeSumPtTotPhiTrack;   //! Tracks, phi band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub
+  TH2F *   fhConeSumPtSubvsConeSumPtTotEtaTrack;       //! Tracks, eta band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
+  TH2F *   fhConeSumPtSubNormvsConeSumPtTotEtaTrack;   //! Tracks, eta band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub
+  TH2F *   fhConeSumPtSubvsConeSumPtTotPhiCluster;     //! Clusters, phi band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
   TH2F *   fhConeSumPtSubNormvsConeSumPtTotPhiCluster; //! Clusters, phi band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub
-  TH2F *   fhConeSumPtSubvsConeSumPtTotEtaCluster;  //! Clusters, eta band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
+  TH2F *   fhConeSumPtSubvsConeSumPtTotEtaCluster;     //! Clusters, eta band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
   TH2F *   fhConeSumPtSubNormvsConeSumPtTotEtaCluster; //! Clusters, eta band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub
-  TH2F *   fhConeSumPtSubvsConeSumPtTotPhiCell;  //! Cells, phi band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
-  TH2F *   fhConeSumPtSubNormvsConeSumPtTotPhiCell; //! Cells, phi band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub
-  TH2F *   fhConeSumPtSubvsConeSumPtTotEtaCell;  //! Cells, eta band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
-  TH2F *   fhConeSumPtSubNormvsConeSumPtTotEtaCell; //! Cells, eta band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub
-  TH2F *   fhConeSumPtVSUETracksEtaBand;//!
-  TH2F *   fhConeSumPtVSUETracksPhiBand;//!
-  TH2F *   fhConeSumPtVSUEClusterEtaBand;//!
-  TH2F *   fhConeSumPtVSUEClusterPhiBand;//!
+  TH2F *   fhConeSumPtSubvsConeSumPtTotPhiCell;        //! Cells, phi band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
+  TH2F *   fhConeSumPtSubNormvsConeSumPtTotPhiCell;    //! Cells, phi band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub
+  TH2F *   fhConeSumPtSubvsConeSumPtTotEtaCell;        //! Cells, eta band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub
+  TH2F *   fhConeSumPtSubNormvsConeSumPtTotEtaCell;    //! Cells, eta band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub
+  TH2F *   fhConeSumPtVSUETracksEtaBand;               //! fhConeSumPtVSUETracksEtaBand
+  TH2F *   fhConeSumPtVSUETracksPhiBand;               //! fhConeSumPtVSUETracksPhiBand
+  TH2F *   fhConeSumPtVSUEClusterEtaBand;              //! fhConeSumPtVSUEClusterEtaBand
+  TH2F *   fhConeSumPtVSUEClusterPhiBand;              //! fhConeSumPtVSUEClusterPhiBand
   
   //MC
   TH1F *   fhPtIsoPrompt;                         //! Number of isolated prompt gamma 
@@ -314,19 +314,19 @@ class AliAnaParticleIsolation : public AliAnaCaloTrackCorrBaseClass {
   TH2F *   fhEtaIsoOtherDecay;                    //! eta of isolated other decay gamma
   TH1F *   fhPtThresIsolatedOtherDecay[5][5];     //! Isolated OtherDecay gamma with pt threshold 
   TH1F *   fhPtFracIsolatedOtherDecay[5][5];      //! Isolated OtherDecay gamma with pt frac
-  TH2F *   fhPtSumIsolatedOtherDecay[5];          //! Isolated OtherDecay gamma with threshold on cone pt sume 
+  TH2F *   fhPtSumIsolatedOtherDecay[5];          //! Isolated OtherDecay gamma with threshold on cone pt sume
 //  TH1F *   fhPtIsoConversion;                     //! Number of isolated Conversion gamma 
 //  TH2F *   fhPhiIsoConversion;                    //! Phi of isolated Conversion gamma
 //  TH2F *   fhEtaIsoConversion;                    //! eta of isolated Conversion gamma
 //  TH1F *   fhPtThresIsolatedConversion[5][5];     //! Isolated Conversion gamma with pt threshold 
 //  TH1F *   fhPtFracIsolatedConversion[5][5];      //! Isolated Conversion gamma with pt frac
 //  TH2F *   fhPtSumIsolatedConversion[5];          //! Isolated Conversion gamma with threshold on cone pt sume
-  TH1F *   fhPtIsoHadron;                        //! Number of isolated Hadron 
-  TH2F *   fhPhiIsoHadron;                       //! Phi of isolated Hadron
-  TH2F *   fhEtaIsoHadron;                       //! eta of isolated Hadron
-  TH1F *   fhPtThresIsolatedHadron[5][5];        //! Isolated Hadron gamma with pt threshold 
-  TH1F *   fhPtFracIsolatedHadron[5][5];         //! Isolated Hadron gamma with pt frac
-  TH2F *   fhPtSumIsolatedHadron[5];             //! Isolated Hadron gamma with threshold on cone pt sume
+  TH1F *   fhPtIsoHadron;                         //! Number of isolated Hadron
+  TH2F *   fhPhiIsoHadron;                        //! Phi of isolated Hadron
+  TH2F *   fhEtaIsoHadron;                        //! eta of isolated Hadron
+  TH1F *   fhPtThresIsolatedHadron[5][5];         //! Isolated Hadron gamma with pt threshold
+  TH1F *   fhPtFracIsolatedHadron[5][5];          //! Isolated Hadron gamma with pt frac
+  TH2F *   fhPtSumIsolatedHadron[5];              //! Isolated Hadron gamma with threshold on cone pt sume
 
   // Multi Cut analysis Several IC
   TH1F *   fhPtNoIsoPi0;                          //! Number of not isolated leading pi0 (2 gamma)
@@ -338,7 +338,7 @@ class AliAnaParticleIsolation : public AliAnaCaloTrackCorrBaseClass {
   TH1F *   fhPtNoIsoMCPhoton;                     //! Number of not isolated leading gamma 
 //  TH1F *   fhPtNoIsoConversion;                   //! Number of not isolated leading conversion gamma 
   TH1F *   fhPtNoIsoFragmentation;                //! Number of not isolated leading fragmentation gamma 
-  TH1F *   fhPtNoIsoHadron;                      //! Number of not isolated leading hadrons 
+  TH1F *   fhPtNoIsoHadron;                       //! Number of not isolated leading hadrons 
   
   TH2F *   fhSumPtLeadingPt[5] ;                  //! Sum Pt in the cone
   TH2F *   fhPtLeadingPt[5] ;                     //! Particle Pt in the cone
@@ -380,12 +380,16 @@ class AliAnaParticleIsolation : public AliAnaCaloTrackCorrBaseClass {
   TH2F *   fhTrackMatchedMCParticle[2];           //! Trace origin of matched particle
 
   // Shower Shape histograms
-  TH2F *   fhELambda0[2];                         //! Shower shape of (non) isolated photons (do not apply SS cut previously)
+  TH2F *   fhELambda0[2];                         //! Shower shape of (non) isolated photons (do not apply SS cut previously)  
+  TH2F *   fhPtLambda0[2];                        //! Shower shape of (non) isolated photons (do not apply SS cut previously)
   TH2F *   fhELambda1[2];                         //! Shower shape of (non) isolated photons (do not apply SS cut previously)
   TH2F *   fhELambda0SSBkg;                       //! Shower shape of non isolated photons close to isolation threshold (do not apply SS cut previously)
   TH2F *   fhELambda0TRD[2];                      //! Shower shape of (non) isolated photons, SM behind TRD (do not apply SS cut previously)
+  TH2F *   fhPtLambda0TRD[2];                     //! Shower shape of (non) isolated photons, SM behind TRD (do not apply SS cut previously)
   TH2F *   fhELambda1TRD[2];                      //! Shower shape of (non) isolated photons, SM behind TRD (do not apply SS cut previously)
   TH2F *   fhELambda0MCPhoton[2];                 //! Shower shape of (non) isolated photon candidates originated by particle photon not decay (do not apply SS cut previously)
+  TH2F *   fhPtLambda0MCPhotonPrompt[2];          //! Shower shape of (non) isolated photon candidates originated by particle photon not decay (do not apply SS cut previously)
+  TH2F *   fhPtLambda0MCPhotonFrag[2];            //! Shower shape of (non) isolated photon candidates originated by particle photon not decay (do not apply SS cut previously)
   TH2F *   fhELambda0MCPi0[2];                    //! Shower shape of (non) isolated photon candidates originated by particle 2 merged pi0 photons (do not apply SS cut previously)
   TH2F *   fhELambda0MCPi0Decay[2];               //! Shower shape of (non) isolated photon candidates originated by particle pi0 decay photon (do not apply SS cut previously)
   TH2F *   fhELambda0MCEtaDecay[2];               //! Shower shape of (non) isolated photon candidates originated by particle eta decay photon (do not apply SS cut previously)
@@ -418,7 +422,7 @@ class AliAnaParticleIsolation : public AliAnaCaloTrackCorrBaseClass {
   //Histograms settings
   Int_t    fHistoNPtSumBins;                      // Number of bins in PtSum histograms
   Float_t  fHistoPtSumMax;                        // PtSum maximum in histogram
-  Float_t  fHistoPtSumMin;                       // PtSum minimum in histogram
+  Float_t  fHistoPtSumMin;                           // PtSum minimum in histogram
   Int_t    fHistoNPtInConeBins;                   // Number of bins in PtInCone histogram
   Float_t  fHistoPtInConeMax;                     // PtInCone maximum in histogram
   Float_t  fHistoPtInConeMin;                     // PtInCone maximum in histogram 
@@ -426,7 +430,7 @@ class AliAnaParticleIsolation : public AliAnaCaloTrackCorrBaseClass {
   AliAnaParticleIsolation(              const AliAnaParticleIsolation & iso) ; // cpy ctor
   AliAnaParticleIsolation & operator = (const AliAnaParticleIsolation & iso) ; // cpy assignment
   
-  ClassDef(AliAnaParticleIsolation,23)
+  ClassDef(AliAnaParticleIsolation,24)
 } ;