putting the exotic test into one function. Including QA cluster removing exotics
authormcosenti <mcosenti@cern.ch>
Wed, 30 Apr 2014 19:20:47 +0000 (16:20 -0300)
committermcosenti <mcosenti@cern.ch>
Wed, 30 Apr 2014 19:22:14 +0000 (16:22 -0300)
PWGGA/EMCALTasks/AliAnalysisTaskEMCALIsoPhoton.cxx
PWGGA/EMCALTasks/AliAnalysisTaskEMCALIsoPhoton.h

index e243d3b..99d5d8e 100644 (file)
@@ -119,6 +119,7 @@ AliAnalysisTaskEMCALIsoPhoton::AliAnalysisTaskEMCALIsoPhoton() :
   fEmcNCellsCut(0),
   fEmcClusETM1(0),
   fEmcClusETM2(0),
+  fEmcClusNotExo(0),
   fEmcClusEPhi(0),    
   fEmcClusEPhiCut(0), 
   fEmcClusEEta(0),    
@@ -211,6 +212,7 @@ AliAnalysisTaskEMCALIsoPhoton::AliAnalysisTaskEMCALIsoPhoton(const char *name) :
   fEmcNCellsCut(0),
   fEmcClusETM1(0),
   fEmcClusETM2(0),
+  fEmcClusNotExo(0),
   fEmcClusEPhi(0),    
   fEmcClusEPhiCut(0), 
   fEmcClusEEta(0),    
@@ -356,6 +358,9 @@ void AliAnalysisTaskEMCALIsoPhoton::UserCreateOutputObjects()
   fEmcClusETM2 = new TH1F("fEmcClusETM2","(method track->GetEMCALcluster());GeV;counts",fNBinsPt, fPtBinLowEdge,fPtBinHighEdge);
   fEmcClusETM2->Sumw2();
   fQAList->Add(fEmcClusETM2);
+  fEmcClusNotExo  = new TH1F("fEmcClusNotExo","exotics removed;GeV;counts",fNBinsPt, fPtBinLowEdge,fPtBinHighEdge);
+  fEmcClusNotExo->Sumw2();
+  fQAList->Add(fEmcClusNotExo);
   fEmcClusEPhi = new TH2F("fEmcClusEPhi",";GeV;#phi",fNBinsPt, fPtBinLowEdge,fPtBinHighEdge,63,0,6.3);    
   fEmcClusEPhi->Sumw2();
   fQAList->Add(fEmcClusEPhi);
@@ -636,11 +641,10 @@ void AliAnalysisTaskEMCALIsoPhoton::FillClusHists()
       continue;
     if(fCpvFromTrack && fClusIdFromTracks.Contains(Form("%d",ic)))
        continue;
+    if(IsExotic(c))
+      continue;
     Short_t id;
     Double_t Emax = GetMaxCellEnergy( c, id);
-    Double_t Ecross = GetCrossEnergy( c, id);
-    if((1-Ecross/Emax)>fExoticCut)
-      continue;
     Float_t clsPos[3] = {0,0,0};
     c->GetPosition(clsPos);
     TVector3 clsVec(clsPos);
@@ -1173,6 +1177,8 @@ void AliAnalysisTaskEMCALIsoPhoton::FillQA()
       fEmcClusETM1->Fill(c->E());
     if(fClusIdFromTracks.Contains(Form("%d",ic)))
       fEmcClusETM2->Fill(c->E());
+    if(!IsExotic(c))
+      fEmcClusNotExo->Fill(c->E());
     fEmcClusEPhi->Fill(c->E(), cphi);
     fEmcClusEEta->Fill(c->E(), ceta);
     if(fMaxEClus>fECut){
@@ -1237,6 +1243,17 @@ void AliAnalysisTaskEMCALIsoPhoton::LoopOnCells()
 
 }
 //________________________________________________________________________
+bool AliAnalysisTaskEMCALIsoPhoton::IsExotic(AliVCluster *c)
+{
+  bool isExo = 0;
+  Short_t id;
+  Double_t Emax = GetMaxCellEnergy( c, id);
+  Double_t Ecross = GetCrossEnergy( c, id);
+  if((1-Ecross/Emax)>fExoticCut)
+    isExo = 1;
+  return isExo;
+}
+//________________________________________________________________________
 void AliAnalysisTaskEMCALIsoPhoton::Terminate(Option_t *) 
 {
   // Called once at the end of the query.
index b47520d..d18fec3 100644 (file)
@@ -48,6 +48,7 @@ class AliAnalysisTaskEMCALIsoPhoton : public AliAnalysisTaskSE {
   void                   GetDaughtersInfo(int firstd, int lastd, int selfid, const char *indputindent);
   Float_t                GetMcPtSumInCone(Float_t etaclus, Float_t phiclus, Float_t R);
   void                   LoopOnCells();
+  bool                   IsExotic(AliVCluster *c);
   void                   SetExotCut(Double_t c)                 { fExoticCut          = c;       }
   void                   SetGeoName(const char *n)              { fGeoName            = n;       }
   void                   SetIsoConeR(Double_t r)                { fIsoConeR           = r;       }
@@ -154,6 +155,7 @@ class AliAnalysisTaskEMCALIsoPhoton : public AliAnalysisTaskSE {
   TH1F        *fEmcNCellsCut;     //!number of emcal cells in a in "triggered event"
   TH1F        *fEmcClusETM1;      //!emcal track matched cluster energy (TracDx,z method)
   TH1F        *fEmcClusETM2;      //!emcal track matched cluster energy (track->GetEMCALcluster() method)
+  TH1F        *fEmcClusNotExo;    //!cluster energy (exotics removed)
   TH2F        *fEmcClusEPhi;      //!cluster E spectrum vs. phi
   TH2F        *fEmcClusEPhiCut;   //!cluster E spectrum vs. phi in "triggered event"
   TH2F        *fEmcClusEEta;      //!cluster E spectrum vs. eta