]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
cov fix + new analysis feature
authormcosenti <mcosenti@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 13 Dec 2012 14:41:09 +0000 (14:41 +0000)
committermcosenti <mcosenti@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 13 Dec 2012 14:41:09 +0000 (14:41 +0000)
PWGGA/EMCALTasks/AliAnalysisTaskEMCALIsoPhoton.cxx
PWGGA/EMCALTasks/AliAnalysisTaskEMCALIsoPhoton.h
PWGGA/EMCALTasks/AliAnalysisTaskTrgContam.cxx

index 79e7cccc16b81b7198ace5b05d44fba57db38b32..e026a16039ec21c649bd60e616f9209f0a022ad3 100644 (file)
@@ -74,6 +74,10 @@ AliAnalysisTaskEMCALIsoPhoton::AliAnalysisTaskEMCALIsoPhoton() :
   fClusEtMcPt(0),
   fClusMcDetaDphi(0),
   fNClusPerPho(0),
+  fMcPtInConeBG(0),
+  fMcPtInConeSBG(0),
+  fMcPtInConeBGnoUE(0),
+  fMcPtInConeSBGnoUE(0),
   fMCDirPhotonPtEtaPhiNoClus(0),
   fHnOutput(0)
 {
@@ -122,6 +126,10 @@ AliAnalysisTaskEMCALIsoPhoton::AliAnalysisTaskEMCALIsoPhoton(const char *name) :
   fClusEtMcPt(0),
   fClusMcDetaDphi(0),
   fNClusPerPho(0),
+  fMcPtInConeBG(0),
+  fMcPtInConeSBG(0),
+  fMcPtInConeBGnoUE(0),
+  fMcPtInConeSBGnoUE(0),
   fMCDirPhotonPtEtaPhiNoClus(0),
   fHnOutput(0)
 {
@@ -190,6 +198,19 @@ void AliAnalysisTaskEMCALIsoPhoton::UserCreateOutputObjects()
   fNClusPerPho = new TH2F("hNClusPerPho","Number of clusters per prompt photon;p_{T}^{MC};N_{clus}",500,0,100,11,-0.5,10.5);
   fOutputList->Add(fNClusPerPho);
 
+  fMcPtInConeBG = new TH2F("hMcPtInConeBG","#sum_{in-cone}p_{T}^{mc-primaries} vs. ISO^{TRK+EMC} (BG template);ISO^{TRK+EMC} (GeV);#sum_{in-cone}p_{T}^{mc-primaries}",600,-10,50,500,0,50);
+  fOutputList->Add(fMcPtInConeBG);
+
+  fMcPtInConeSBG  = new TH2F("hMcPtInConeSBG","#sum_{in-cone}p_{T}^{mc-primaries} vs. ISO^{TRK+EMC} (SBG range);ISO^{TRK+EMC} (GeV);#sum_{in-cone}p_{T}^{mc-primaries}",600,-10,50,500,0,50);
+  fOutputList->Add(fMcPtInConeSBG);
+
+  fMcPtInConeBGnoUE = new TH2F("hMcPtInConeBGnoUE","#sum_{in-cone}p_{T}^{mc-primaries} vs. ISO^{TRK+EMC} (BG template);ISO^{TRK+EMC} (GeV);#sum_{in-cone}p_{T}^{mc-primaries}",600,-10,50,500,0,50);
+  fOutputList->Add(fMcPtInConeBGnoUE);
+
+  fMcPtInConeSBGnoUE  = new TH2F("hMcPtInConeSBGnoUE","#sum_{in-cone}p_{T}^{mc-primaries} vs. ISO^{TRK+EMC} (SBG range);ISO^{TRK+EMC} (GeV);#sum_{in-cone}p_{T}^{mc-primaries}",600,-10,50,500,0,50);
+  fOutputList->Add(fMcPtInConeSBGnoUE);
+
+
   fMCDirPhotonPtEtaPhiNoClus = new TH3F("hMCDirPhotonPhiEtaNoClus","p_{T}, #eta and  #phi of prompt photons with no reco clusters;p_{T};#eta;#phi",1000,0,100,154,-0.77,0.77,130,1.38,3.20);
   fOutputList->Add(fMCDirPhotonPtEtaPhiNoClus);
 
@@ -385,14 +406,25 @@ void AliAnalysisTaskEMCALIsoPhoton::FillClusHists()
     Float_t ceisoue =  cephiband/phibandArea*netConeArea;
     Float_t trisoue =  trphiband/phibandArea*netConeArea;
     Float_t allisoue =  allphiband/phibandArea*netConeArea;
+    Float_t mcptsum = GetMcPtSumInCone(clsVec.Eta(), clsVec.Phi(),fIsoConeR); 
+    if(fDebug && Et>10)
+      printf("\t alliso=%1.1f, Et=%1.1f=-=-=-=-=\n",alliso,Et);
+    if(c->GetM02()>0.5 && c->GetM02()<2.0){
+      fMcPtInConeBG->Fill(alliso-Et-allisoue, mcptsum);
+      fMcPtInConeBGnoUE->Fill(alliso-Et, mcptsum);
+    }
+    if(c->GetM02()>0.1 && c->GetM02()<0.3){
+      fMcPtInConeSBG->Fill(alliso-Et-allisoue, mcptsum);
+      fMcPtInConeSBGnoUE->Fill(alliso-Et, mcptsum);
+    }
     const Int_t ndims =   fNDimensions;
     Double_t outputValues[ndims];
     ptmc = GetClusSource(c);
     outputValues[0] = Et;
     outputValues[1] = c->GetM02();
-    outputValues[2] = ceiso-cecore-ceisoue;
+    outputValues[2] = ceiso-Et/*cecore*/-ceisoue;
     outputValues[3] = triso-trisoue;
-    outputValues[4] = alliso-cecore-allisoue;
+    outputValues[4] = alliso-Et/*cecore*/-allisoue;
     outputValues[5] = ceiso-Et;
     outputValues[6] = alliso-Et;
     outputValues[7] = c->GetTrackDx();
@@ -721,6 +753,39 @@ void AliAnalysisTaskEMCALIsoPhoton::GetDaughtersInfo(int firstd, int lastd, int
     GetDaughtersInfo(dfd,dld,id,indenter.Data());
   }
 }
+
+//________________________________________________________________________
+Float_t AliAnalysisTaskEMCALIsoPhoton::GetMcPtSumInCone(Float_t etaclus, Float_t phiclus, Float_t R)
+{
+  if(!fStack)
+    return 0;
+  if(fDebug)
+    printf("Inside GetMcPtSumInCone!!\n");
+  Int_t nTracks = fStack->GetNtrack();
+  Float_t ptsum = 0;
+  for(Int_t iTrack=0;iTrack<nTracks;iTrack++){
+    TParticle *mcp = static_cast<TParticle*>(fStack->Particle(iTrack));  
+    if(!mcp)
+      continue;  
+    if(mcp->Rho()>2.5)
+      continue;
+    else {
+      if(fDebug)
+       printf("      >>>> mcp Rho, Vx, Vy, Vz = %1.1f,%1.1f,%1.1f,%1.1f.......\n",mcp->Rho(),mcp->Vx(), mcp->Vy(),mcp->Vz());
+    }
+    Float_t dphi = mcp->Phi() - phiclus;
+    Float_t deta = mcp->Eta() - etaclus;
+    if(fDebug)
+      printf("      >>>> mcphi = %1.1f, mceta = %1.1f\n>>>> dphi = %1.1f, deta = %1.1f\n", mcp->Phi(), mcp->Eta(),dphi,deta);
+    if(deta>10)
+      continue;
+    Float_t dR = TMath::Sqrt(dphi*dphi +  deta*deta);
+    if(dR>R)
+      continue;
+    ptsum += mcp->Pt();
+  }
+  return ptsum;
+}
 //________________________________________________________________________
 void AliAnalysisTaskEMCALIsoPhoton::Terminate(Option_t *) 
 {
index ff111342b5fa2dd0aad1e3ad69501d18addc3bc2..a737350201b07e8975ef9dc473c4c20d170736c4 100644 (file)
@@ -40,6 +40,7 @@ class AliAnalysisTaskEMCALIsoPhoton : public AliAnalysisTaskSE {
   Float_t                GetClusSource(const AliVCluster *cluster);
   void                   FollowGamma();
   void                   GetDaughtersInfo(int firstd, int lastd, int selfid, const char *indputindent);
+  Float_t                GetMcPtSumInCone(Float_t etaclus, Float_t phiclus, Float_t R);
   void                   SetExotCut(Double_t c)                 { fExoticCut          = c;       }
   void                   SetGeoName(const char *n)              { fGeoName            = n;       }
   void                   SetIsoConeR(Double_t r)                { fIsoConeR           = r;       }
@@ -97,6 +98,10 @@ class AliAnalysisTaskEMCALIsoPhoton : public AliAnalysisTaskSE {
   TH2F        *fClusEtMcPt;                //!cluster et x mc-pt
   TH2F        *fClusMcDetaDphi;            //!delta-eta x delta-phi(reco-mc)
   TH2F        *fNClusPerPho;               //!delta-eta x delta-phi(reco-mc)
+  TH2F        *fMcPtInConeBG;              //!sum of mc-pt of "primary" particles inside de cone, as a function of NET-ISO in BG template
+  TH2F        *fMcPtInConeSBG;             //!sum of mc-pt of "primary" particles inside de cone, as a function of NET-ISO in SBG range
+  TH2F        *fMcPtInConeBGnoUE;          //!sum of mc-pt of "primary" particles inside de cone, as a function of NET-ISO in BG template no UE sub
+  TH2F        *fMcPtInConeSBGnoUE;         //!sum of mc-pt of "primary" particles inside de cone, as a function of NET-ISO in SBG range no UE sub
   TH3F        *fMCDirPhotonPtEtaPhiNoClus; //!pt x eta x phi for prompt photons that didn't produce clusters
   THnSparse   *fHnOutput;                  //!Output matrix with 7 dimensions
 
index c1536cdab6fa83689553a5b063c4a599b4cd198d..b14c997ae7e643d9ce90f446978a32cfcab5710a 100644 (file)
@@ -39,12 +39,12 @@ AliAnalysisTaskTrgContam::AliAnalysisTaskTrgContam() :
   AliAnalysisTaskSE(), 
   fCaloClusters(0),
   fEMCalCells(0),
+  fGeom(0x0),
   fGeoName("EMCAL_COMPLETEV1"),
   fPeriod("LHC11c"),
   fIsTrain(0),
   fTrigThresh(4.8),
   fExoticCut(0.97),
-  fGeom(0x0),
   fESD(0),
   fOutputList(0),
   fEvtSel(0),
@@ -115,7 +115,7 @@ void AliAnalysisTaskTrgContam::UserCreateOutputObjects()
   fOutputList = new TList();
   fOutputList->SetOwner();// Container cleans up all histos (avoids leaks in merging) 
   
-  fGeom = AliEMCALGeometry::GetInstance(fGeoName);
+  fGeom = AliEMCALGeometry::GetInstance(fGeoName.Data());
   
   fEvtSel = new TH1F("hEvtSel","Event selection counter (0=all trg, 1=pvz cut) ;evt cut ;dN/dcut}",2,0,2);
   fOutputList->Add(fEvtSel);