]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
updated
authorssakai <ssakai@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 10 Oct 2013 12:46:20 +0000 (12:46 +0000)
committerssakai <ssakai@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 10 Oct 2013 12:46:20 +0000 (12:46 +0000)
PWGHF/hfe/AliAnalysisTaskHFECal.cxx
PWGHF/hfe/AliAnalysisTaskHFECal.h
PWGHF/hfe/macros/AddTaskHFECal.C
PWGHF/hfe/macros/AddTaskHFECalPbPbSys.C
PWGHF/hfe/macros/configs/PbPb/ConfigHFECal.C

index ac20baecec70407751b7fa0ba4807ef843ce73ef..8e8a91c0ebe1ee1700d012a5f497a24a4436acca 100644 (file)
@@ -112,6 +112,7 @@ AliAnalysisTaskHFECal::AliAnalysisTaskHFECal(const char *name)
   ,fInvmassCut(0)       // no mass
   ,fSetMassConstraint(kTRUE)
   ,fSetMassWidthCut(kFALSE)
+  ,fSetMassNonlinear(kFALSE)
   ,fSetKFpart(kTRUE)
   ,fNoEvents(0)
   ,fEMCAccE(0)
@@ -186,6 +187,9 @@ AliAnalysisTaskHFECal::AliAnalysisTaskHFECal(const char *name)
   ,fIncpTMCpho_pi0e_TPC(0)     
   ,fPhoElecPtMC_pi0e_TPC(0)
   ,fSameElecPtMC_pi0e_TPC(0)
+  ,fIncpTMCpho_eta_TPC(0)      
+  ,fPhoElecPtMC_eta_TPC(0)
+  ,fSameElecPtMC_eta_TPC(0)
   ,CheckNclust(0)
   ,CheckNits(0)
   ,Hpi0pTcheck(0)
@@ -251,6 +255,7 @@ AliAnalysisTaskHFECal::AliAnalysisTaskHFECal()
   ,fInvmassCut(0)       // no mass
   ,fSetMassConstraint(kTRUE)
   ,fSetMassWidthCut(kFALSE)
+  ,fSetMassNonlinear(kFALSE)
   ,fSetKFpart(kTRUE)
   ,fNoEvents(0)
   ,fEMCAccE(0)
@@ -325,6 +330,9 @@ AliAnalysisTaskHFECal::AliAnalysisTaskHFECal()
   ,fIncpTMCpho_pi0e_TPC(0)     
   ,fPhoElecPtMC_pi0e_TPC(0)
   ,fSameElecPtMC_pi0e_TPC(0)
+  ,fIncpTMCpho_eta_TPC(0)      
+  ,fPhoElecPtMC_eta_TPC(0)
+  ,fSameElecPtMC_eta_TPC(0)
   ,CheckNclust(0)
   ,CheckNits(0)
   ,Hpi0pTcheck(0)
@@ -851,12 +859,22 @@ void AliAnalysisTaskHFECal::UserExec(Option_t*)
     phoval[3] = iHijing;
     phoval[4] = mcMompT;
    
-    if((fTPCnSigma >= -1.0 && fTPCnSigma <= 3) && mcele>-1 && mcPho && mcOrgPi0)
+    //if((fTPCnSigma >= -5.0 && fTPCnSigma <= 5) && mcele>-1 && mcPho && mcOrgPi0)
+    if((fTPCnSigma >= -5.0 && fTPCnSigma <= 5) && (mcOrgPi0 || mcOrgEta))
       {
         if(iHijing==1)mcWeight = 1.0; 
-        fIncpTMCpho_pi0e_TPC->Fill(phoval,mcWeight);    
-        if(fFlagPhotonicElec) fPhoElecPtMC_pi0e_TPC->Fill(phoval,mcWeight);
-        if(fFlagConvinatElec) fSameElecPtMC_pi0e_TPC->Fill(phoval,mcWeight);
+        if(mcOrgPi0)
+          {
+           fIncpTMCpho_pi0e_TPC->Fill(phoval,mcWeight);    
+           if(fFlagPhotonicElec) fPhoElecPtMC_pi0e_TPC->Fill(phoval,mcWeight);
+           if(fFlagConvinatElec) fSameElecPtMC_pi0e_TPC->Fill(phoval,mcWeight);
+          }
+        if(mcOrgEta)
+          {
+           fIncpTMCpho_eta_TPC->Fill(phoval,mcWeight);    
+           if(fFlagPhotonicElec) fPhoElecPtMC_eta_TPC->Fill(phoval,mcWeight);
+           if(fFlagConvinatElec) fSameElecPtMC_eta_TPC->Fill(phoval,mcWeight);
+          }
       }
 
     //+++++++  E/p cut ++++++++++++++++   
@@ -1315,6 +1333,20 @@ void AliAnalysisTaskHFECal::UserCreateOutputObjects()
   fSameElecPtMC_pi0e_TPC = new THnSparseD("fSameElecPtMC_pi0e_TPC", "MC Same-inclusive electron pt pi0->e",5,nBinspho2,minpho2,maxpho2);
   fSameElecPtMC_pi0e_TPC->Sumw2();
   fOutputList->Add(fSameElecPtMC_pi0e_TPC);
+
+  fIncpTMCpho_eta_TPC = new THnSparseD("fIncpTMCpho_eta_TPC","MC Pho pi0->e pid electro vs. centrality with M20",5,nBinspho2,minpho2,maxpho2);
+  fIncpTMCpho_eta_TPC->Sumw2();
+  fOutputList->Add(fIncpTMCpho_eta_TPC);
+
+  fPhoElecPtMC_eta_TPC = new THnSparseD("fPhoElecPtMC_eta_TPC", "MC Pho-inclusive electron pt with  pi0->e",5,nBinspho2,minpho2,maxpho2);
+  fPhoElecPtMC_eta_TPC->Sumw2();
+  fOutputList->Add(fPhoElecPtMC_eta_TPC);
+
+  fSameElecPtMC_eta_TPC = new THnSparseD("fSameElecPtMC_eta_TPC", "MC Same-inclusive electron pt pi0->e",5,nBinspho2,minpho2,maxpho2);
+  fSameElecPtMC_eta_TPC->Sumw2();
+  fOutputList->Add(fSameElecPtMC_eta_TPC);
+
+
   //-------------
 
   CheckNclust = new TH1D("CheckNclust","cluster check",200,0,200);
@@ -1445,6 +1477,7 @@ void AliAnalysisTaskHFECal::SelectPhotonicElectron(Int_t itrack, Double_t cent,
   
   const AliESDVertex *pVtx = fESD->GetPrimaryVertex();
   Double_t bfield = fESD->GetMagneticField();
+  Double_t emass = 0.51*0.001; // (0.51 MeV)
 
   double ptEle = track->Pt();  //add
   if(ibgevent==0 && w > 0.0)
@@ -1522,15 +1555,24 @@ void AliAnalysisTaskHFECal::SelectPhotonicElectron(Int_t itrack, Double_t cent,
     AliKFParticle::SetField(bfield);
     AliKFParticle ge1(*track, fPDGe1);
     AliKFParticle ge2(*trackAsso, fPDGe2);
+
+    if(fSetMassNonlinear)
+      {
+       ge1.SetNonlinearMassConstraint(emass);
+       ge2.SetNonlinearMassConstraint(emass);
+      }
+
     AliKFParticle recg(ge1, ge2);
     
+    /* 
     // vertex 
     AliKFVertex primV(*pVtx);
     primV += recg;
     primV -= ge1;
     primV -= ge2;
     recg.SetProductionVertex(primV);
-    
+    */     
+
     // check chi2
     if(recg.GetNDF()<1) continue;
     Double_t chi2recg = recg.GetChi2()/recg.GetNDF();
index e6b0aa419d957732974b899fe853a612258eca5d..86bf16e4a7f85365815755902f1329fbb4e896e3 100644 (file)
@@ -56,6 +56,7 @@ class AliAnalysisTaskHFECal : public AliAnalysisTaskSE {
   void SetInvariantMassCut (Double_t invmass) {fInvmassCut = invmass;};
   void SetMassConstraint       (Bool_t MassConstraint)         { fSetMassConstraint    = MassConstraint; };
   void SetMassWidthCut         (Bool_t MassWidthCut)           { fSetMassWidthCut      = MassWidthCut; };
+  void SetMassNonlinear        (Bool_t MassNonlinear)          { fSetMassNonlinear     = MassNonlinear; };
   void SetMassCalMethod        (Bool_t KFpart)         { fSetKFpart = KFpart; };
   void SetQAHist (int qahist) {fqahist = qahist;};
   AliHFEpid *GetPID() const { return fPID; }
@@ -97,6 +98,7 @@ class AliAnalysisTaskHFECal : public AliAnalysisTaskSE {
   Double_t             fInvmassCut;            //invariant mass cut value
   Bool_t                fSetMassConstraint;            // Set mass constraint
   Bool_t                fSetMassWidthCut;              // Set mass constraint
+  Bool_t                fSetMassNonlinear;             // Set mass constraint
   Bool_t                fSetKFpart;            // Set mass constraint
  
   int ftriggers[48][60];//!
@@ -181,6 +183,9 @@ class AliAnalysisTaskHFECal : public AliAnalysisTaskSE {
  THnSparseD            *fIncpTMCpho_pi0e_TPC;  //! MC HFE pid electron vs centrality
  THnSparseD            *fPhoElecPtMC_pi0e_TPC;         //! Pho inclusive ele pt
  THnSparseD            *fSameElecPtMC_pi0e_TPC;                //! Same inclusive ele pt
+ THnSparseD            *fIncpTMCpho_eta_TPC;   //! MC HFE pid electron vs centrality
+ THnSparseD            *fPhoElecPtMC_eta_TPC;          //! Pho inclusive ele pt
+ THnSparseD            *fSameElecPtMC_eta_TPC;         //! Same inclusive ele pt
  TH1D                   *CheckNclust;  
  TH1D                   *CheckNits;  
  THnSparseD             *Hpi0pTcheck; 
index 72204122453ed7992fd5a3dda9ece4ca4801cf69..606b182e21d2f644274c69980d84e25f7f7c43f7 100644 (file)
@@ -1,4 +1,4 @@
-AliAnalysisTask *AddTaskHFECal(Bool_t MassConst, Bool_t MassWidthCut)
+AliAnalysisTask *AddTaskHFECal(Bool_t MassConst, Bool_t MassWidthCut, Bool_t MassNonlinear)
 {
   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
   if (!mgr) {
@@ -29,9 +29,9 @@ AliAnalysisTask *AddTaskHFECal(Bool_t MassConst, Bool_t MassWidthCut)
   //analysis task 
   gROOT->LoadMacro("$ALICE_ROOT/PWGHF/hfe/macros/configs/PbPb/ConfigHFECal.C");
 
-  AliAnalysisTaskHFECal *hfetaskCent = ConfigHFECal(MCthere,MassConst,MassWidthCut,MassCal,0.5,0.1,masscut,-5);
-  AliAnalysisTaskHFECal *hfetaskTrig= ConfigHFECal(MCthere,MassConst,MassWidthCut,MassCal,0.5,0.1,masscut,-5);
-  AliAnalysisTaskHFECal *hfetaskTrig2= ConfigHFECal(MCthere,MassConst,MassWidthCut,MassCal,0.5,0.1,masscut,-5);
+  AliAnalysisTaskHFECal *hfetaskCent = ConfigHFECal(MCthere,MassConst,MassWidthCut,MassCal,MassNonlinear,0.5,0.1,masscut,-5);
+  AliAnalysisTaskHFECal *hfetaskTrig= ConfigHFECal(MCthere,MassConst,MassWidthCut,MassCal,MassNonlinear,0.5,0.1,masscut,-5);
+  AliAnalysisTaskHFECal *hfetaskTrig2= ConfigHFECal(MCthere,MassConst,MassWidthCut,MassCal,MassNonlinear,0.5,0.1,masscut,-5);
  
   mgr->AddTask(hfetaskCent);
   mgr->AddTask(hfetaskTrig);
@@ -76,7 +76,7 @@ AliAnalysisTask *AddTaskHFECal(Bool_t MassConst, Bool_t MassWidthCut)
   //if(MCthere)
     //{
     //MB trigger
-    AliAnalysisTaskHFECal *hfetaskMB = ConfigHFECal(MCthere,MassConst,MassWidthCut,MassCal,0.5,0.1,masscut,-5);
+    AliAnalysisTaskHFECal *hfetaskMB = ConfigHFECal(MCthere,MassConst,MassWidthCut,MassCal,MassNonlinear,0.5,0.1,masscut,-5);
     mgr->AddTask(hfetaskMB);
     hfetaskMB->SelectCollisionCandidates(AliVEvent::kMB);
 
index 935263676f65225363d35dff1f07c584a775bdfc..bc16a28d432d50276c242f3accbbe966afd4ad31 100644 (file)
@@ -1,4 +1,4 @@
-AliAnalysisTask *AddTaskHFECalPbPbSys(Bool_t MassConst, Bool_t MassWidthCut, Bool_t MassCal, Double_t asspTCut, Double_t angleCut, Double_t MassCut, Double_t NsigCut,TString ID="phoSys0")
+AliAnalysisTask *AddTaskHFECalPbPbSys(Bool_t MassConst, Bool_t MassWidthCut, Bool_t MassCal, Bool MassNonlinear ,Double_t asspTCut, Double_t angleCut, Double_t MassCut, Double_t NsigCut,TString ID="phoSys0")
 {
   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
   if (!mgr) {
@@ -25,7 +25,7 @@ AliAnalysisTask *AddTaskHFECalPbPbSys(Bool_t MassConst, Bool_t MassWidthCut, Boo
   
   //analysis task 
   gROOT->LoadMacro("$ALICE_ROOT/PWGHF/hfe/macros/configs/PbPb/ConfigHFECal.C");
-  AliAnalysisTaskHFECal *hfetask = ConfigHFECal(MCthere,MassConst,MassWidthCut,MassCal,asspTCut,angleCut,MassCut,NsigCut);
+  AliAnalysisTaskHFECal *hfetask = ConfigHFECal(MCthere,MassConst,MassWidthCut,MassCal,MassNonlinear,asspTCut,angleCut,MassCut,NsigCut);
   mgr->AddTask(hfetask);
   // semi-central
   hfetask->SelectCollisionCandidates(AliVEvent::kSemiCentral);
@@ -38,7 +38,7 @@ AliAnalysisTask *AddTaskHFECalPbPbSys(Bool_t MassConst, Bool_t MassWidthCut, Boo
   mgr->ConnectOutput(hfetask, 1, coutput1);
  
   //trigger
-  AliAnalysisTaskHFECal *hfetaskTrig = ConfigHFECal(MCthere,MassConst,MassWidthCut,MassCal,asspTCut,angleCut,MassCut,NsigCut);
+  AliAnalysisTaskHFECal *hfetaskTrig = ConfigHFECal(MCthere,MassConst,MassWidthCut,MassCal,MassNonlinear,asspTCut,angleCut,MassCut,NsigCut);
   mgr->AddTask(hfetaskTrig);
   hfetaskTrig->SelectCollisionCandidates(AliVEvent::kEMCEGA);
   TString containerName2 = mgr->GetCommonFileName();
@@ -51,7 +51,7 @@ AliAnalysisTask *AddTaskHFECalPbPbSys(Bool_t MassConst, Bool_t MassWidthCut, Boo
  
 
   //MB trigger
-  AliAnalysisTaskHFECal *hfetaskMB = ConfigHFECal(MCthere,MassConst,MassWidthCut,MassCal,asspTCut,angleCut,MassCut,NsigCut);
+  AliAnalysisTaskHFECal *hfetaskMB = ConfigHFECal(MCthere,MassConst,MassWidthCut,MassCal,MassNonlinear,asspTCut,angleCut,MassCut,NsigCut);
   mgr->AddTask(hfetaskMB);
   hfetaskMB->SelectCollisionCandidates(AliVEvent::kMB);
   TString containerName4 = mgr->GetCommonFileName();
index 42bf583c71d49994fd0ec90588b4977aaa0be78c..4e9ab89c8dd4dce1906bc8a0d9d62f3ca3957e9e 100644 (file)
@@ -1,4 +1,4 @@
-AliAnalysisTaskHFECal* ConfigHFECal(Bool_t useMC,Bool_t MassConst,Bool_t MassWidthCut,Bool_t MassCal,Double_t asspTCut,Double_t angleCut,Double_t MassCut, Double_t NsigCut){\r
+AliAnalysisTaskHFECal* ConfigHFECal(Bool_t useMC,Bool_t MassConst,Bool_t MassWidthCut,Bool_t MassCal,Bool_t MassNonlinear,Double_t asspTCut,Double_t angleCut,Double_t MassCut, Double_t NsigCut){\r
   //\r
   // HFE standard task configuration\r
   //\r
@@ -32,6 +32,7 @@ AliAnalysisTaskHFECal* ConfigHFECal(Bool_t useMC,Bool_t MassConst,Bool_t MassWid
   task->SetHFECuts(hfecuts);\r
   task->SetMassConstraint(MassConst);\r
   task->SetMassWidthCut(MassWidthCut);\r
+  task->SetMassNonlinear(MassNonlinear);\r
   //Double_t masscut = 0.05;\r
   //if(!MassConst)masscut = 0.1;\r
   Double_t masscut = MassCut;\r