ROOT logo
// $Id$
//
// Emcal physics selection class.
//
// Author: C.Loizides

#include "AliEmcalPhysicsSelection.h"
#include "AliAODEvent.h"
#include "AliESDEvent.h"
#include "AliLog.h"

ClassImp(AliEmcalPhysicsSelection)

AliEmcalPhysicsSelection::AliEmcalPhysicsSelection() : 
  AliPhysicsSelection(), 
  fMarkFastOnly(0), 
  fMarkLedEvent(0),
  fSkipFastOnly(0), 
  fSkipLedEvent(0),
  fCellMinE(-1), 
  fClusMinE(-1),
  fTrackMinPt(-1), 
  fTriggers(0),
  fZvertex(-1),
  fZvertexDiff(0),
  fCentMin(-1),
  fCentMax(-1),
  fMinCellTrackScale(-1),
  fMaxCellTrackScale(-1),
  fIsFastOnly(0),
  fIsLedEvent(0),
  fIsGoodEvent(0),
  fCellMaxE(0), 
  fClusMaxE(0),
  fTrackMaxPt(0)
{
  // Default constructor.
}

//__________________________________________________________________________________________________
UInt_t AliEmcalPhysicsSelection::GetSelectionMask(const TObject* obj) 
{ 
  // Calculate selection mask.
  
  const AliVEvent *ev   = dynamic_cast<const AliVEvent*>(obj);
  if (!ev)
    return 0;

  AliAnalysisManager *am = AliAnalysisManager::GetAnalysisManager();

  UInt_t res = 0;
  const AliESDEvent *eev = dynamic_cast<const AliESDEvent*>(obj);
  const AliAODEvent *aev = 0;
  if (eev) {
    am->LoadBranch("AliESDHeader.");
    am->LoadBranch("AliESDRun.");
    TString title(eev->GetHeader()->GetTitle());
    if (1&&(title.Length()>0)) {
      res = ((AliVAODHeader*)eev->GetHeader())->GetUniqueID();
      res &= 0x4FFFFFFF;
    } else {
      res = IsCollisionCandidate(eev); 
    }
  } else {
    aev = dynamic_cast<const AliAODEvent*>(obj);
    res = ((AliVAODHeader*)aev->GetHeader())->GetOfflineTrigger();
  }

  // return 0, if 0 found
  if (res==0)
    return 0;

  // return 0, if ptrs are not set
  if ((eev==0) && (aev==0))
    return 0;

  if (fTriggers) { // only process given triggers
    if ((res & fTriggers) == 0)
      return res;
  }

  fIsFastOnly  = kFALSE;
  fIsGoodEvent = kFALSE;
  fIsLedEvent  = kFALSE;
  fCellMaxE    = -1;
  fClusMaxE    = -1;
  fTrackMaxPt  = -1;

  if ((res & AliVEvent::kAnyINT)      || 
      (res & AliVEvent::kSemiCentral) || 
      (res & AliVEvent::kCentral)     || 
      (res & AliVEvent::kEMC1)        || 
      (res & AliVEvent::kEMC7)        || 
      (res & AliVEvent::kEMCEJE)      || 
      (res & AliVEvent::kEMCEGA))
    fIsGoodEvent = kTRUE;
  else {
    return 0;
  }

  if (fZvertexDiff || (fZvertex>0)) {
    Double_t vzPRI = +999;
    Double_t vzSPD = -999;
    const AliVVertex *pv = 0;
    if (eev) {
      am->LoadBranch("PrimaryVertex.");
      pv = eev->GetPrimaryVertex();
    } else {
      pv = aev->GetPrimaryVertex();
    }
    if (pv && pv->GetNContributors()>0) {
      vzPRI = pv->GetZ();
    }
    const AliVVertex *sv = 0;
    if (eev) {
      am->LoadBranch("SPDVertex.");
      sv = eev->GetPrimaryVertexSPD();
    } else {
      sv = aev->GetPrimaryVertexSPD();
    }
    if (sv && sv->GetNContributors()>0) {
      vzSPD = sv->GetZ();
    }
    Double_t  dvertex = TMath::Abs(vzPRI-vzSPD);
    // skip events with dvertex>1mm if requested
    // https://indico.cern.ch/getFile.py/access?contribId=4&resId=0&materialId=slides&confId=189624
    // also check on vertex z if requested
    if (fZvertexDiff && (dvertex>0.1))
      fIsGoodEvent = kFALSE;
    if ((fZvertex>0) && (TMath::Abs(vzPRI)>fZvertex))
      fIsGoodEvent = kFALSE;
  }

  if ((fCentMin>-1) && (fCentMax>-1)) {
    Double_t v0mcent = -1;
    AliCentrality *centin = 0;
    if (eev) {
      TTree *tree = am->GetTree();
      if (tree->GetBranch("Centrality."))
        am->LoadBranch("Centrality.");
      centin = dynamic_cast<AliCentrality*>(eev->FindListObject("Centrality"));
    } else {
      centin = const_cast<AliAODEvent*>(aev)->GetCentrality();
    }
    if (centin)
      v0mcent = centin->GetCentralityPercentileUnchecked("V0M");
    if ((v0mcent<fCentMin) || (v0mcent>fCentMax))
      fIsGoodEvent = kFALSE;
  }

  AliVCaloCells *cells   = ev->GetEMCALCells();
  const Short_t nCells   = cells->GetNumberOfCells();
    
  // mark LHC11a fast only partition if requested 
  if (res & AliVEvent::kFastOnly) {
    fIsFastOnly = kTRUE;
    if (fMarkFastOnly||fSkipFastOnly) {
      if (nCells>0) {
        AliFatal(Form("Number of cells %d, even though EMCAL should not be in fast only partition.",nCells));
      }
      fIsGoodEvent = kFALSE;
    }
  }

  if (fCellMinE>0) {
    if (eev)
      am->LoadBranch("EMCALCells.");
    for(Int_t iCell=0; iCell<nCells; ++iCell) {
      Short_t cellId = cells->GetCellNumber(iCell);
      Double_t cellE = cells->GetCellAmplitude(cellId);
      if (cellE>fCellMaxE)
        fCellMaxE = cellE;
    }
  }

  if (fClusMinE>0) {
    if (eev)
      am->LoadBranch("CaloClusters");

    const Int_t nCaloClusters = ev->GetNumberOfCaloClusters();
    for(Int_t iClus = 0; iClus<nCaloClusters; ++iClus) {
      AliVCluster *cl = ev->GetCaloCluster(iClus);
      if (!cl->IsEMCAL()) 
        continue;
      Double_t e = cl->E();
      if (e>fClusMaxE)
        fClusMaxE = e;
    }
  }

  TClonesArray *trks = 0;
  Int_t Ntracks = 0;

  if (fTrackMinPt>0 || fMinCellTrackScale > 0 || fMaxCellTrackScale > 0) {
    if (eev) {
      am->LoadBranch("PicoTracks");
      trks = dynamic_cast<TClonesArray*>(eev->FindListObject("PicoTracks"));
      if (!trks) {
        am->LoadBranch("Tracks");
        trks = dynamic_cast<TClonesArray*>(eev->FindListObject("Tracks"));
      }
    } else {
      trks = dynamic_cast<TClonesArray*>(aev->FindListObject("tracks"));
    }
    if (trks)
      Ntracks = trks->GetEntriesFast();
  }
  
  Int_t nAccTracks = 0;

  if (fTrackMinPt>0 || fMinCellTrackScale > 0 || fMaxCellTrackScale > 0) {
    for (Int_t iTracks = 0; iTracks < Ntracks; ++iTracks) {
      AliVTrack *track = static_cast<AliVTrack*>(trks->At(iTracks));
      if (!track)
	continue;
      if (aev) { // a bit ugly since cuts are hard coded for now
	AliAODTrack *aodtrack = static_cast<AliAODTrack*>(track);
	if (!aodtrack->TestFilterBit(256) && !aodtrack->TestFilterBit(512))
	  continue;
      }
      nAccTracks++;
      Double_t pt = track->Pt();
      if (pt>fTrackMaxPt)
	fTrackMaxPt = pt;
    }
  }

  if (fMinCellTrackScale > 0 || fMaxCellTrackScale > 0) {
    if (nCells < fMinCellTrackScale * nAccTracks || nCells > fMaxCellTrackScale * nAccTracks)
      fIsGoodEvent = kFALSE;
  }

  // bad cell criterion for LHC11a from 
  // https://indico.cern.ch/materialDisplay.py?contribId=4&materialId=slides&confId=147067
  const Int_t runN = ev->GetRunNumber();
  if ((runN>=144871) && (runN<=146860)) { 

    if (eev)
      am->LoadBranch("EMCALCells.");

    // count cells above threshold
    Int_t nCellCount[12] = {0,0,0,0,0,0,0,0,0,0,0,0};
    for(Int_t iCell=0; iCell<nCells; ++iCell) {
      Short_t cellId = cells->GetCellNumber(iCell);
      Double_t cellE = cells->GetCellAmplitude(cellId);
      Int_t sm       = cellId / (24*48);
      if (cellE>0.1)
        ++nCellCount[sm];
    }

    if (nCellCount[4] > 100)
      fIsLedEvent = kTRUE;
    else {
      if ((runN>=146858) && (runN<=146860)) {
        if ((res&AliVEvent::kMB) && (nCellCount[3]>=21))
          fIsLedEvent = kTRUE;
        else if ((res&AliVEvent::kEMC1) && (nCellCount[3]>=35))
          fIsLedEvent = kTRUE;
      }
    }
    if (fIsLedEvent) {
      fIsGoodEvent = kFALSE;
    }
  }

  if (fSkip1024Bug) {
    // Check for trigger patches with 1024 bug
    // event declared bad if at least one found
    AliVCaloTrigger *emcaltriggers = ev->GetCaloTrigger(eev == NULL ? "EMCALTrigger" : "emcalTrigger");
    if(emcaltriggers){
      emcaltriggers->Reset();
      Int_t adc;
      Bool_t isBad = false;
      while(emcaltriggers->Next()){
        emcaltriggers->GetL1TimeSum(adc);
        isBad = false;
        // check for multiples of 1024
        for(int i = 1; i < 20; i++){
          if(adc == 1024 * i){
            isBad = true;
            break;
          }
        }
        if(isBad){
          fIsGoodEvent = kFALSE;
          break;
        }
      }
    }
  }

  if (fIsGoodEvent) {
    if (fCellMaxE>fCellMinE)
      res |= kEmcalHC;
    if ((fClusMaxE>fClusMinE) || (fTrackMaxPt>fTrackMinPt))
      res |= kEmcalHT;
    res |= kEmcalOk;
  }

  if ((fSkipLedEvent && fIsLedEvent) ||
      (fSkipFastOnly && fIsFastOnly))
    res = 0;

  return res;
}
 AliEmcalPhysicsSelection.cxx:1
 AliEmcalPhysicsSelection.cxx:2
 AliEmcalPhysicsSelection.cxx:3
 AliEmcalPhysicsSelection.cxx:4
 AliEmcalPhysicsSelection.cxx:5
 AliEmcalPhysicsSelection.cxx:6
 AliEmcalPhysicsSelection.cxx:7
 AliEmcalPhysicsSelection.cxx:8
 AliEmcalPhysicsSelection.cxx:9
 AliEmcalPhysicsSelection.cxx:10
 AliEmcalPhysicsSelection.cxx:11
 AliEmcalPhysicsSelection.cxx:12
 AliEmcalPhysicsSelection.cxx:13
 AliEmcalPhysicsSelection.cxx:14
 AliEmcalPhysicsSelection.cxx:15
 AliEmcalPhysicsSelection.cxx:16
 AliEmcalPhysicsSelection.cxx:17
 AliEmcalPhysicsSelection.cxx:18
 AliEmcalPhysicsSelection.cxx:19
 AliEmcalPhysicsSelection.cxx:20
 AliEmcalPhysicsSelection.cxx:21
 AliEmcalPhysicsSelection.cxx:22
 AliEmcalPhysicsSelection.cxx:23
 AliEmcalPhysicsSelection.cxx:24
 AliEmcalPhysicsSelection.cxx:25
 AliEmcalPhysicsSelection.cxx:26
 AliEmcalPhysicsSelection.cxx:27
 AliEmcalPhysicsSelection.cxx:28
 AliEmcalPhysicsSelection.cxx:29
 AliEmcalPhysicsSelection.cxx:30
 AliEmcalPhysicsSelection.cxx:31
 AliEmcalPhysicsSelection.cxx:32
 AliEmcalPhysicsSelection.cxx:33
 AliEmcalPhysicsSelection.cxx:34
 AliEmcalPhysicsSelection.cxx:35
 AliEmcalPhysicsSelection.cxx:36
 AliEmcalPhysicsSelection.cxx:37
 AliEmcalPhysicsSelection.cxx:38
 AliEmcalPhysicsSelection.cxx:39
 AliEmcalPhysicsSelection.cxx:40
 AliEmcalPhysicsSelection.cxx:41
 AliEmcalPhysicsSelection.cxx:42
 AliEmcalPhysicsSelection.cxx:43
 AliEmcalPhysicsSelection.cxx:44
 AliEmcalPhysicsSelection.cxx:45
 AliEmcalPhysicsSelection.cxx:46
 AliEmcalPhysicsSelection.cxx:47
 AliEmcalPhysicsSelection.cxx:48
 AliEmcalPhysicsSelection.cxx:49
 AliEmcalPhysicsSelection.cxx:50
 AliEmcalPhysicsSelection.cxx:51
 AliEmcalPhysicsSelection.cxx:52
 AliEmcalPhysicsSelection.cxx:53
 AliEmcalPhysicsSelection.cxx:54
 AliEmcalPhysicsSelection.cxx:55
 AliEmcalPhysicsSelection.cxx:56
 AliEmcalPhysicsSelection.cxx:57
 AliEmcalPhysicsSelection.cxx:58
 AliEmcalPhysicsSelection.cxx:59
 AliEmcalPhysicsSelection.cxx:60
 AliEmcalPhysicsSelection.cxx:61
 AliEmcalPhysicsSelection.cxx:62
 AliEmcalPhysicsSelection.cxx:63
 AliEmcalPhysicsSelection.cxx:64
 AliEmcalPhysicsSelection.cxx:65
 AliEmcalPhysicsSelection.cxx:66
 AliEmcalPhysicsSelection.cxx:67
 AliEmcalPhysicsSelection.cxx:68
 AliEmcalPhysicsSelection.cxx:69
 AliEmcalPhysicsSelection.cxx:70
 AliEmcalPhysicsSelection.cxx:71
 AliEmcalPhysicsSelection.cxx:72
 AliEmcalPhysicsSelection.cxx:73
 AliEmcalPhysicsSelection.cxx:74
 AliEmcalPhysicsSelection.cxx:75
 AliEmcalPhysicsSelection.cxx:76
 AliEmcalPhysicsSelection.cxx:77
 AliEmcalPhysicsSelection.cxx:78
 AliEmcalPhysicsSelection.cxx:79
 AliEmcalPhysicsSelection.cxx:80
 AliEmcalPhysicsSelection.cxx:81
 AliEmcalPhysicsSelection.cxx:82
 AliEmcalPhysicsSelection.cxx:83
 AliEmcalPhysicsSelection.cxx:84
 AliEmcalPhysicsSelection.cxx:85
 AliEmcalPhysicsSelection.cxx:86
 AliEmcalPhysicsSelection.cxx:87
 AliEmcalPhysicsSelection.cxx:88
 AliEmcalPhysicsSelection.cxx:89
 AliEmcalPhysicsSelection.cxx:90
 AliEmcalPhysicsSelection.cxx:91
 AliEmcalPhysicsSelection.cxx:92
 AliEmcalPhysicsSelection.cxx:93
 AliEmcalPhysicsSelection.cxx:94
 AliEmcalPhysicsSelection.cxx:95
 AliEmcalPhysicsSelection.cxx:96
 AliEmcalPhysicsSelection.cxx:97
 AliEmcalPhysicsSelection.cxx:98
 AliEmcalPhysicsSelection.cxx:99
 AliEmcalPhysicsSelection.cxx:100
 AliEmcalPhysicsSelection.cxx:101
 AliEmcalPhysicsSelection.cxx:102
 AliEmcalPhysicsSelection.cxx:103
 AliEmcalPhysicsSelection.cxx:104
 AliEmcalPhysicsSelection.cxx:105
 AliEmcalPhysicsSelection.cxx:106
 AliEmcalPhysicsSelection.cxx:107
 AliEmcalPhysicsSelection.cxx:108
 AliEmcalPhysicsSelection.cxx:109
 AliEmcalPhysicsSelection.cxx:110
 AliEmcalPhysicsSelection.cxx:111
 AliEmcalPhysicsSelection.cxx:112
 AliEmcalPhysicsSelection.cxx:113
 AliEmcalPhysicsSelection.cxx:114
 AliEmcalPhysicsSelection.cxx:115
 AliEmcalPhysicsSelection.cxx:116
 AliEmcalPhysicsSelection.cxx:117
 AliEmcalPhysicsSelection.cxx:118
 AliEmcalPhysicsSelection.cxx:119
 AliEmcalPhysicsSelection.cxx:120
 AliEmcalPhysicsSelection.cxx:121
 AliEmcalPhysicsSelection.cxx:122
 AliEmcalPhysicsSelection.cxx:123
 AliEmcalPhysicsSelection.cxx:124
 AliEmcalPhysicsSelection.cxx:125
 AliEmcalPhysicsSelection.cxx:126
 AliEmcalPhysicsSelection.cxx:127
 AliEmcalPhysicsSelection.cxx:128
 AliEmcalPhysicsSelection.cxx:129
 AliEmcalPhysicsSelection.cxx:130
 AliEmcalPhysicsSelection.cxx:131
 AliEmcalPhysicsSelection.cxx:132
 AliEmcalPhysicsSelection.cxx:133
 AliEmcalPhysicsSelection.cxx:134
 AliEmcalPhysicsSelection.cxx:135
 AliEmcalPhysicsSelection.cxx:136
 AliEmcalPhysicsSelection.cxx:137
 AliEmcalPhysicsSelection.cxx:138
 AliEmcalPhysicsSelection.cxx:139
 AliEmcalPhysicsSelection.cxx:140
 AliEmcalPhysicsSelection.cxx:141
 AliEmcalPhysicsSelection.cxx:142
 AliEmcalPhysicsSelection.cxx:143
 AliEmcalPhysicsSelection.cxx:144
 AliEmcalPhysicsSelection.cxx:145
 AliEmcalPhysicsSelection.cxx:146
 AliEmcalPhysicsSelection.cxx:147
 AliEmcalPhysicsSelection.cxx:148
 AliEmcalPhysicsSelection.cxx:149
 AliEmcalPhysicsSelection.cxx:150
 AliEmcalPhysicsSelection.cxx:151
 AliEmcalPhysicsSelection.cxx:152
 AliEmcalPhysicsSelection.cxx:153
 AliEmcalPhysicsSelection.cxx:154
 AliEmcalPhysicsSelection.cxx:155
 AliEmcalPhysicsSelection.cxx:156
 AliEmcalPhysicsSelection.cxx:157
 AliEmcalPhysicsSelection.cxx:158
 AliEmcalPhysicsSelection.cxx:159
 AliEmcalPhysicsSelection.cxx:160
 AliEmcalPhysicsSelection.cxx:161
 AliEmcalPhysicsSelection.cxx:162
 AliEmcalPhysicsSelection.cxx:163
 AliEmcalPhysicsSelection.cxx:164
 AliEmcalPhysicsSelection.cxx:165
 AliEmcalPhysicsSelection.cxx:166
 AliEmcalPhysicsSelection.cxx:167
 AliEmcalPhysicsSelection.cxx:168
 AliEmcalPhysicsSelection.cxx:169
 AliEmcalPhysicsSelection.cxx:170
 AliEmcalPhysicsSelection.cxx:171
 AliEmcalPhysicsSelection.cxx:172
 AliEmcalPhysicsSelection.cxx:173
 AliEmcalPhysicsSelection.cxx:174
 AliEmcalPhysicsSelection.cxx:175
 AliEmcalPhysicsSelection.cxx:176
 AliEmcalPhysicsSelection.cxx:177
 AliEmcalPhysicsSelection.cxx:178
 AliEmcalPhysicsSelection.cxx:179
 AliEmcalPhysicsSelection.cxx:180
 AliEmcalPhysicsSelection.cxx:181
 AliEmcalPhysicsSelection.cxx:182
 AliEmcalPhysicsSelection.cxx:183
 AliEmcalPhysicsSelection.cxx:184
 AliEmcalPhysicsSelection.cxx:185
 AliEmcalPhysicsSelection.cxx:186
 AliEmcalPhysicsSelection.cxx:187
 AliEmcalPhysicsSelection.cxx:188
 AliEmcalPhysicsSelection.cxx:189
 AliEmcalPhysicsSelection.cxx:190
 AliEmcalPhysicsSelection.cxx:191
 AliEmcalPhysicsSelection.cxx:192
 AliEmcalPhysicsSelection.cxx:193
 AliEmcalPhysicsSelection.cxx:194
 AliEmcalPhysicsSelection.cxx:195
 AliEmcalPhysicsSelection.cxx:196
 AliEmcalPhysicsSelection.cxx:197
 AliEmcalPhysicsSelection.cxx:198
 AliEmcalPhysicsSelection.cxx:199
 AliEmcalPhysicsSelection.cxx:200
 AliEmcalPhysicsSelection.cxx:201
 AliEmcalPhysicsSelection.cxx:202
 AliEmcalPhysicsSelection.cxx:203
 AliEmcalPhysicsSelection.cxx:204
 AliEmcalPhysicsSelection.cxx:205
 AliEmcalPhysicsSelection.cxx:206
 AliEmcalPhysicsSelection.cxx:207
 AliEmcalPhysicsSelection.cxx:208
 AliEmcalPhysicsSelection.cxx:209
 AliEmcalPhysicsSelection.cxx:210
 AliEmcalPhysicsSelection.cxx:211
 AliEmcalPhysicsSelection.cxx:212
 AliEmcalPhysicsSelection.cxx:213
 AliEmcalPhysicsSelection.cxx:214
 AliEmcalPhysicsSelection.cxx:215
 AliEmcalPhysicsSelection.cxx:216
 AliEmcalPhysicsSelection.cxx:217
 AliEmcalPhysicsSelection.cxx:218
 AliEmcalPhysicsSelection.cxx:219
 AliEmcalPhysicsSelection.cxx:220
 AliEmcalPhysicsSelection.cxx:221
 AliEmcalPhysicsSelection.cxx:222
 AliEmcalPhysicsSelection.cxx:223
 AliEmcalPhysicsSelection.cxx:224
 AliEmcalPhysicsSelection.cxx:225
 AliEmcalPhysicsSelection.cxx:226
 AliEmcalPhysicsSelection.cxx:227
 AliEmcalPhysicsSelection.cxx:228
 AliEmcalPhysicsSelection.cxx:229
 AliEmcalPhysicsSelection.cxx:230
 AliEmcalPhysicsSelection.cxx:231
 AliEmcalPhysicsSelection.cxx:232
 AliEmcalPhysicsSelection.cxx:233
 AliEmcalPhysicsSelection.cxx:234
 AliEmcalPhysicsSelection.cxx:235
 AliEmcalPhysicsSelection.cxx:236
 AliEmcalPhysicsSelection.cxx:237
 AliEmcalPhysicsSelection.cxx:238
 AliEmcalPhysicsSelection.cxx:239
 AliEmcalPhysicsSelection.cxx:240
 AliEmcalPhysicsSelection.cxx:241
 AliEmcalPhysicsSelection.cxx:242
 AliEmcalPhysicsSelection.cxx:243
 AliEmcalPhysicsSelection.cxx:244
 AliEmcalPhysicsSelection.cxx:245
 AliEmcalPhysicsSelection.cxx:246
 AliEmcalPhysicsSelection.cxx:247
 AliEmcalPhysicsSelection.cxx:248
 AliEmcalPhysicsSelection.cxx:249
 AliEmcalPhysicsSelection.cxx:250
 AliEmcalPhysicsSelection.cxx:251
 AliEmcalPhysicsSelection.cxx:252
 AliEmcalPhysicsSelection.cxx:253
 AliEmcalPhysicsSelection.cxx:254
 AliEmcalPhysicsSelection.cxx:255
 AliEmcalPhysicsSelection.cxx:256
 AliEmcalPhysicsSelection.cxx:257
 AliEmcalPhysicsSelection.cxx:258
 AliEmcalPhysicsSelection.cxx:259
 AliEmcalPhysicsSelection.cxx:260
 AliEmcalPhysicsSelection.cxx:261
 AliEmcalPhysicsSelection.cxx:262
 AliEmcalPhysicsSelection.cxx:263
 AliEmcalPhysicsSelection.cxx:264
 AliEmcalPhysicsSelection.cxx:265
 AliEmcalPhysicsSelection.cxx:266
 AliEmcalPhysicsSelection.cxx:267
 AliEmcalPhysicsSelection.cxx:268
 AliEmcalPhysicsSelection.cxx:269
 AliEmcalPhysicsSelection.cxx:270
 AliEmcalPhysicsSelection.cxx:271
 AliEmcalPhysicsSelection.cxx:272
 AliEmcalPhysicsSelection.cxx:273
 AliEmcalPhysicsSelection.cxx:274
 AliEmcalPhysicsSelection.cxx:275
 AliEmcalPhysicsSelection.cxx:276
 AliEmcalPhysicsSelection.cxx:277
 AliEmcalPhysicsSelection.cxx:278
 AliEmcalPhysicsSelection.cxx:279
 AliEmcalPhysicsSelection.cxx:280
 AliEmcalPhysicsSelection.cxx:281
 AliEmcalPhysicsSelection.cxx:282
 AliEmcalPhysicsSelection.cxx:283
 AliEmcalPhysicsSelection.cxx:284
 AliEmcalPhysicsSelection.cxx:285
 AliEmcalPhysicsSelection.cxx:286
 AliEmcalPhysicsSelection.cxx:287
 AliEmcalPhysicsSelection.cxx:288
 AliEmcalPhysicsSelection.cxx:289
 AliEmcalPhysicsSelection.cxx:290
 AliEmcalPhysicsSelection.cxx:291
 AliEmcalPhysicsSelection.cxx:292
 AliEmcalPhysicsSelection.cxx:293
 AliEmcalPhysicsSelection.cxx:294
 AliEmcalPhysicsSelection.cxx:295
 AliEmcalPhysicsSelection.cxx:296
 AliEmcalPhysicsSelection.cxx:297
 AliEmcalPhysicsSelection.cxx:298
 AliEmcalPhysicsSelection.cxx:299
 AliEmcalPhysicsSelection.cxx:300
 AliEmcalPhysicsSelection.cxx:301
 AliEmcalPhysicsSelection.cxx:302
 AliEmcalPhysicsSelection.cxx:303
 AliEmcalPhysicsSelection.cxx:304
 AliEmcalPhysicsSelection.cxx:305