From: mcosenti Date: Thu, 13 Dec 2012 14:41:09 +0000 (+0000) Subject: cov fix + new analysis feature X-Git-Url: http://git.uio.no/git/?a=commitdiff_plain;h=f912f9a946c50522a8c3895e2f8647143e2f9a08;p=u%2Fmrichter%2FAliRoot.git cov fix + new analysis feature --- diff --git a/PWGGA/EMCALTasks/AliAnalysisTaskEMCALIsoPhoton.cxx b/PWGGA/EMCALTasks/AliAnalysisTaskEMCALIsoPhoton.cxx index 79e7cccc16b..e026a16039e 100644 --- a/PWGGA/EMCALTasks/AliAnalysisTaskEMCALIsoPhoton.cxx +++ b/PWGGA/EMCALTasks/AliAnalysisTaskEMCALIsoPhoton.cxx @@ -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(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 *) { diff --git a/PWGGA/EMCALTasks/AliAnalysisTaskEMCALIsoPhoton.h b/PWGGA/EMCALTasks/AliAnalysisTaskEMCALIsoPhoton.h index ff111342b5f..a737350201b 100644 --- a/PWGGA/EMCALTasks/AliAnalysisTaskEMCALIsoPhoton.h +++ b/PWGGA/EMCALTasks/AliAnalysisTaskEMCALIsoPhoton.h @@ -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 diff --git a/PWGGA/EMCALTasks/AliAnalysisTaskTrgContam.cxx b/PWGGA/EMCALTasks/AliAnalysisTaskTrgContam.cxx index c1536cdab6f..b14c997ae7e 100644 --- a/PWGGA/EMCALTasks/AliAnalysisTaskTrgContam.cxx +++ b/PWGGA/EMCALTasks/AliAnalysisTaskTrgContam.cxx @@ -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);