]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
From Marta:
authorloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 14 Oct 2013 12:44:52 +0000 (12:44 +0000)
committerloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 14 Oct 2013 12:44:52 +0000 (12:44 +0000)
'bug fix': when asking for a track pointing to EMCal take into account that the small SM are completely masked for 2012 and 2013 data. (we do the same for the jets)

event selection utils:
- select events based on the minimum nr of accepted tracks with pT>fTrackPtCut
- select events using AliAnalysisUtils (vertex including dz and pile up, both important for pPb data)

PWG/EMCAL/AliAnalysisTaskEmcalDev.cxx
PWG/EMCAL/AliAnalysisTaskEmcalDev.h

index f8ab54588b47e384d599306218433ace9da7018b..d04557a6bd9aac7df463b939a5863838bcb1ca36 100644 (file)
@@ -33,6 +33,7 @@
 #include "AliGenPythiaEventHeader.h"
 #include "AliAODMCHeader.h"
 #include "AliMCEvent.h"
+#include "AliAnalysisUtils.h"
 
 #include "AliParticleContainer.h"
 #include "AliClusterContainer.h"
@@ -52,6 +53,10 @@ AliAnalysisTaskEmcalDev::AliAnalysisTaskEmcalDev() :
   fMaxCent(-999),
   fMinVz(-999),
   fMaxVz(-999),
+  fTrackPtCut(0),
+  fMinNTrack(0),
+  fUseAliAnaUtils(kFALSE),
+  fAliAnalysisUtils(0x0),
   fOffTrigger(AliVEvent::kAny),
   fTrigClass(),
   fNbins(500),
@@ -121,6 +126,10 @@ AliAnalysisTaskEmcalDev::AliAnalysisTaskEmcalDev(const char *name, Bool_t histo)
   fMaxCent(-999),
   fMinVz(-999),
   fMaxVz(-999),
+  fTrackPtCut(0),
+  fMinNTrack(0),
+  fUseAliAnaUtils(kFALSE),
+  fAliAnalysisUtils(0x0),
   fOffTrigger(AliVEvent::kAny),
   fTrigClass(),
   fNbins(500),
@@ -208,6 +217,8 @@ void AliAnalysisTaskEmcalDev::SetTrackPtCut(Double_t cut, Int_t c)
   AliParticleContainer *cont = GetParticleContainer(c);
   if (cont) cont->SetParticlePtCut(cut);
   else AliError(Form("%s in SetTrackPtCut(...): container %d not found",GetName(),c));
+
+  fTrackPtCut = cut;
 }
 
 //________________________________________________________________________
@@ -693,8 +704,16 @@ Bool_t AliAnalysisTaskEmcalDev::IsEventSelected()
       AliVParticle *track = GetAcceptParticleFromArray(i,0);
       if(!track)
        continue;
-      if (track->Eta() < fGeom->GetArm1EtaMin() || track->Eta() > fGeom->GetArm1EtaMax() ||
-         track->Phi() < fGeom->GetArm1PhiMin() * TMath::DegToRad() || track->Phi() > fGeom->GetArm1PhiMax() * TMath::DegToRad())
+
+      Double_t phiMin = fGeom->GetArm1PhiMin() * TMath::DegToRad();
+      Double_t phiMax = fGeom->GetArm1PhiMax() * TMath::DegToRad();
+      Int_t runNumber = InputEvent()->GetRunNumber();
+      if(runNumber>=177295 && runNumber<=197470) { //small SM masked in 2012 and 2013
+       phiMin = 1.4;   
+       phiMax = TMath::Pi();
+      }
+
+      if (track->Eta() < fGeom->GetArm1EtaMin() || track->Eta() > fGeom->GetArm1EtaMax() || track->Phi() < phiMin || track->Phi() > phiMax)
        continue;
       if (track->Pt() > fMinPtTrackInEmcal) {
        trackInEmcalOk = kTRUE;
@@ -705,6 +724,35 @@ Bool_t AliAnalysisTaskEmcalDev::IsEventSelected()
       return kFALSE;
   }
 
+  if (fMinNTrack > 0 && fTracks) {
+    Int_t nTracksAcc = 0;
+    Int_t ntracks = GetNParticles(0);
+    for (Int_t i = 0; i < ntracks; i++) {
+      AliVParticle *track = GetAcceptParticleFromArray(i,0);
+      if(!track)
+       continue;
+      if (track->Pt() > fTrackPtCut) {
+       nTracksAcc++;
+       if(nTracksAcc>=fMinNTrack)
+         break;
+      }
+    }
+    if (nTracksAcc<fMinNTrack)
+      return kFALSE;
+  }
+
+  if(fUseAliAnaUtils) {
+    if(!fAliAnalysisUtils)
+      fAliAnalysisUtils = new AliAnalysisUtils();
+    fAliAnalysisUtils->SetMinVtxContr(2);
+    fAliAnalysisUtils->SetMaxVtxZ(10.);
+
+    if(!fAliAnalysisUtils->IsVertexSelected2013pA(InputEvent()))
+      return kFALSE;
+
+    if(fAliAnalysisUtils->IsPileUpEvent(InputEvent()))
+      return kFALSE;
+  }
 
   if (!(fEPV0 > fMinEventPlane && fEPV0 <= fMaxEventPlane) &&
       !(fEPV0 + TMath::Pi() > fMinEventPlane && fEPV0 + TMath::Pi() <= fMaxEventPlane) &&
index 7b4e03cc954ba8e80e4ae988ca6f90d856f50e09..159420cd637df39dbd63af33593ef45319aa8925 100644 (file)
@@ -19,6 +19,7 @@ class AliParticleContainer;
 class AliClusterContainer;
 class AliGenPythiaEventHeader;
 class AliVCaloTrigger;
+class AliAnalysisUtils;
 
 #include "Rtypes.h"
 
@@ -53,6 +54,10 @@ class AliAnalysisTaskEmcalDev : public AliAnalysisTaskSE {
   void                        SetMinPtTrackInEmcal(Double_t min)                    { fMinPtTrackInEmcal = min                            ; }
   void                        SetEventPlaneVsEmcal(Double_t ep)                     { fEventPlaneVsEmcal = ep                             ; }
   void                        SetCentralityEstimator(const char *c)                 { fCentEst           = c                              ; }
+
+  void                        SetMinNTrack(Int_t min)                               { fMinNTrack         = min                            ; }
+  void                        SetUseAliAnaUtils(Bool_t b)                           { fUseAliAnaUtils    = b                              ; }
+
   void                        SetMinMCLabel(Int_t s)                                { fMinMCLabel        = s                              ; }
   void                        SetIsEmbedded(Bool_t i)                               { fIsEmbedded        = i                              ; }
   void                        SetIsPythia(Bool_t i)                                 { fIsPythia          = i                              ; }
@@ -116,6 +121,11 @@ class AliAnalysisTaskEmcalDev : public AliAnalysisTaskSE {
   Double_t                    fMaxCent;                    // max centrality for event selection
   Double_t                    fMinVz;                      // min vertex for event selection
   Double_t                    fMaxVz;                      // max vertex for event selection
+  Double_t                    fTrackPtCut;                 // cut on track pt in event selection
+  Int_t                       fMinNTrack;                  // minimum nr of tracks in event with pT>fTrackPtCut
+  Bool_t                      fUseAliAnaUtils;             //  used for LHC13* data
+  AliAnalysisUtils           *fAliAnalysisUtils;           //! vertex selection (optional)
+
   UInt_t                      fOffTrigger;                 // offline trigger for event selection
   TString                     fTrigClass;                  // trigger class name for event selection
   Int_t                       fNbins;                      // no. of pt bins