#include <Riostream.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TList.h>
#include <TIterator.h>
#include <TDirectory.h>
#include <TObjArray.h>
#include <TPRegexp.h>
#include <TFormula.h>
#include <TParameter.h>
#include <TInterpreter.h>
#include <AliPhysicsSelection.h>
#include <AliTriggerAnalysis.h>
#include <AliLog.h>
#include <AliESDEvent.h>
#include <AliAnalysisTaskSE.h>
#include "AliAnalysisManager.h"
#include "TPRegexp.h"
#include "TFile.h"
#include <AliOADBContainer.h>
#include "AliOADBPhysicsSelection.h"
#include "AliOADBFillingScheme.h"
#include "AliOADBTriggerAnalysis.h"
#include "AliInputEventHandler.h"
#include "AliAnalysisManager.h"
using std::cout;
using std::endl;
ClassImp(AliPhysicsSelection)
AliPhysicsSelection::AliPhysicsSelection() :
AliAnalysisCuts("AliPhysicsSelection", "AliPhysicsSelection"),
fPassName(""),
fCurrentRun(-1),
fMC(kFALSE),
fCollTrigClasses(),
fBGTrigClasses(),
fTriggerAnalysis(),
fHistBunchCrossing(0),
fHistTriggerPattern(0),
fSkipTriggerClassSelection(0),
fUsingCustomClasses(0),
fSkipV0(0),
fBIFactorA(-1),
fBIFactorC(-1),
fBIFactorAC(-1),
fComputeBG(0),
fBGStatOffset(-1),
fUseBXNumbers(1),
fUseMuonTriggers(0),
fFillingScheme(""),
fBin0CallBack(""),
fBin0CallBackPointer(0),
fIsPP(kFALSE),
fPSOADB(0),
fFillOADB(0),
fTriggerOADB(0),
fRegexp(0),
fCashedTokens(0)
{
fCollTrigClasses.SetOwner(1);
fBGTrigClasses.SetOwner(1);
fTriggerAnalysis.SetOwner(1);
fHistStatistics[0] = 0;
fHistStatistics[1] = 0;
fRegexp = new TPRegexp("([[:alpha:]]\\w*)");
fCashedTokens = new TList;
fCashedTokens->SetOwner();
AliLog::SetClassDebugLevel("AliPhysicsSelection", AliLog::kWarning);
}
AliPhysicsSelection::~AliPhysicsSelection()
{
fCollTrigClasses.Delete();
fBGTrigClasses.Delete();
fTriggerAnalysis.Delete();
if (fHistStatistics[0])
{
delete fHistStatistics[0];
fHistStatistics[0] = 0;
}
if (fHistStatistics[1])
{
delete fHistStatistics[1];
fHistStatistics[1] = 0;
}
if (fHistBunchCrossing)
{
delete fHistBunchCrossing;
fHistBunchCrossing = 0;
}
if (fHistTriggerPattern)
{
delete fHistTriggerPattern;
fHistTriggerPattern = 0;
}
if (fPSOADB)
{
delete fPSOADB;
fPSOADB = 0;
}
if (fFillOADB)
{
delete fFillOADB;
fFillOADB = 0;
}
if (fTriggerOADB)
{
delete fTriggerOADB;
fTriggerOADB = 0;
}
if (fRegexp)
{
delete fRegexp;
fRegexp = 0;
}
if (fCashedTokens)
{
delete fCashedTokens;
fCashedTokens = 0;
}
}
UInt_t AliPhysicsSelection::CheckTriggerClass(const AliESDEvent* aEsd, const char* trigger, Int_t& triggerLogic) const
{
Bool_t foundBCRequirement = kFALSE;
Bool_t foundCorrectBC = kFALSE;
UInt_t returnCode = AliVEvent::kUserDefined;
triggerLogic = kCINT1;
AliDebug(AliLog::kDebug+1, Form("Processing event with triggers %s", aEsd->GetFiredTriggerClasses().Data()));
TString str(trigger);
TObjArray* tokens = str.Tokenize(" ");
for (Int_t i=0; i < tokens->GetEntries(); i++)
{
TString str2(((TObjString*) tokens->At(i))->String());
if (str2[0] == '+' || str2[0] == '-')
{
Bool_t flag = (str2[0] == '+');
str2.Remove(0, 1);
TObjArray* tokens2 = str2.Tokenize(",");
Bool_t foundTriggerClass = kFALSE;
for (Int_t j=0; j < tokens2->GetEntries(); j++)
{
TString str3(((TObjString*) tokens2->At(j))->String());
if (flag && aEsd->IsTriggerClassFired(str3))
foundTriggerClass = kTRUE;
if (!flag && aEsd->IsTriggerClassFired(str3))
{
AliDebug(AliLog::kDebug+1, Form("Rejecting event because trigger class %s is present", str3.Data()));
delete tokens2;
delete tokens;
return kFALSE;
}
}
delete tokens2;
if (flag && !foundTriggerClass)
{
AliDebug(AliLog::kDebug+1, Form("Rejecting event because (none of the) trigger class(es) %s is present", str2.Data()));
delete tokens;
return kFALSE;
}
}
else if (str2[0] == '#')
{
foundBCRequirement = kTRUE;
str2.Remove(0, 1);
Int_t bcNumber = str2.Atoi();
AliDebug(AliLog::kDebug+1, Form("Checking for bunch crossing number %d", bcNumber));
if (aEsd->GetBunchCrossNumber() == bcNumber)
{
foundCorrectBC = kTRUE;
AliDebug(AliLog::kDebug+1, Form("Found correct bunch crossing %d", bcNumber));
}
}
else if (str2[0] == '&')
{
str2.Remove(0, 1);
returnCode = str2.Atoll();
}
else if (str2[0] == '*')
{
str2.Remove(0, 1);
triggerLogic = str2.Atoi();
}
else
AliFatal(Form("Invalid trigger syntax: %s", trigger));
}
delete tokens;
if (foundBCRequirement && !foundCorrectBC)
return kFALSE;
return returnCode;
}
TObject *AliPhysicsSelection::GetStatistics(const Option_t *option) const
{
TString opt(option);
opt.ToUpper();
Int_t ihist = 0;
if (opt == "ALL") ihist = kStatIdxAll;
if (opt == "BIN0") ihist = kStatIdxBin0;
return fHistStatistics[ihist];
}
Bool_t AliPhysicsSelection::EvaluateTriggerLogic(const AliESDEvent* aEsd, AliTriggerAnalysis* triggerAnalysis, const char* triggerLogic, Bool_t offline)
{
TString trigger(triggerLogic);
fRegexp->Substitute(trigger, "$1 ", "g");
while (1)
{
AliDebug(AliLog::kDebug, trigger.Data());
TArrayI pos;
Int_t nMatches = fRegexp->Match(trigger, "", 0, 2, &pos);
if (nMatches <= 0)
break;
TString token(trigger(pos[0], pos[1]-pos[0]+1));
TParameter<Int_t>* param = (TParameter<Int_t>*) fCashedTokens->FindObject(token);
if (!param)
{
TInterpreter::EErrorCode error;
Int_t bit = gInterpreter->ProcessLine(Form("AliTriggerAnalysis::k%s;", token.Data()), &error);
if (error > 0)
AliFatal(Form("Trigger token %s unknown", token.Data()));
param = new TParameter<Int_t>(token, bit);
fCashedTokens->Add(param);
AliDebug(AliLog::kDebug, "Added token");
}
Long64_t bit = param->GetVal();
AliDebug(AliLog::kDebug, Form("Tok %d %d %s %lld", pos[0], pos[1], token.Data(), bit));
if (offline)
bit |= AliTriggerAnalysis::kOfflineFlag;
if(aEsd && triggerAnalysis) {
trigger.ReplaceAll(token, Form("%d", triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) bit)));
}
}
TFormula formula("formula", trigger);
if (formula.Compile() > 0)
AliFatal(Form("Could not evaluate trigger logic %s (evaluated to %s)", triggerLogic, trigger.Data()));
Bool_t result = formula.Eval(0);
AliDebug(AliLog::kDebug, Form("%s --> %d", trigger.Data(), result));
return result;
}
UInt_t AliPhysicsSelection::IsCollisionCandidate(const AliESDEvent* aEsd)
{
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
AliError("Cannot get the analysis manager");
return 0;
}
mgr->LoadBranch("AliESDHeader.");
mgr->LoadBranch("AliESDRun.");
if (fCurrentRun != aEsd->GetRunNumber()) {
if (!Initialize(aEsd))
AliFatal(Form("Could not initialize for run %d", aEsd->GetRunNumber()));
if(fComputeBG) SetBIFactors(aEsd);
}
const AliESDHeader* esdHeader = aEsd->GetHeader();
if (!esdHeader)
{
AliError("ESD Header could not be retrieved");
return kFALSE;
}
if (!fMC)
{
if (esdHeader->GetEventType() != 7)
return kFALSE;
}
else
{
if (esdHeader->GetEventType() != 0)
AliFatal(Form("Invalid event type for MC: %d", esdHeader->GetEventType()));
}
mgr->LoadBranch("AliMultiplicity.");
mgr->LoadBranch("AliESDVZERO.");
mgr->LoadBranch("AliESDZDC.");
mgr->LoadBranch("SPDVertex.");
mgr->LoadBranch("PrimaryVertex.");
mgr->LoadBranch("TPCVertex.");
mgr->LoadBranch("Tracks");
mgr->LoadBranch("SPDPileupVertices");
UInt_t accept = 0;
Int_t count = fCollTrigClasses.GetEntries() + fBGTrigClasses.GetEntries();
for (Int_t i=0; i < count; i++)
{
const char* triggerClass = 0;
if (i < fCollTrigClasses.GetEntries())
triggerClass = ((TObjString*) fCollTrigClasses.At(i))->String();
else
triggerClass = ((TObjString*) fBGTrigClasses.At(i - fCollTrigClasses.GetEntries()))->String();
AliDebug(AliLog::kDebug+1, Form("Processing trigger class %s", triggerClass));
AliTriggerAnalysis* triggerAnalysis = static_cast<AliTriggerAnalysis*> (fTriggerAnalysis.At(i));
triggerAnalysis->FillTriggerClasses(aEsd);
Int_t triggerLogic = 0;
UInt_t singleTriggerResult = CheckTriggerClass(aEsd, triggerClass, triggerLogic);
if (singleTriggerResult)
{
triggerAnalysis->FillHistograms(aEsd);
Bool_t isBin0 = kFALSE;
if (fBin0CallBack != "") {
isBin0 = ((AliAnalysisTaskSE*)mgr->GetTask(fBin0CallBack.Data()))->IsEventInBinZero();
} else if (fBin0CallBackPointer) {
isBin0 = (*fBin0CallBackPointer)(aEsd);
}
AliESDVZERO *esdV0 = aEsd->GetVZEROData();
if(!esdV0) fSkipV0 = kTRUE;
Int_t fastORHW = triggerAnalysis->EvaluateTrigger(aEsd, AliTriggerAnalysis::kSPDGFO);
Bool_t v0AHW = fSkipV0 ? 0 : triggerAnalysis->EvaluateTrigger(aEsd, AliTriggerAnalysis::kV0A);
Bool_t v0CHW = fSkipV0 ? 0 : triggerAnalysis->EvaluateTrigger(aEsd, AliTriggerAnalysis::kV0C);
Int_t fastOROffline = triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kSPDGFO));
Int_t fastOROfflineL1 = triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kSPDGFOL1));
Bool_t v0A = fSkipV0 ? 0 : triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kV0A));
Bool_t v0C = fSkipV0 ? 0 : triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kV0C));
Bool_t v0ABG = fSkipV0 ? 0 : triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kV0ABG));
Bool_t v0CBG = fSkipV0 ? 0 : triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kV0CBG));
Bool_t v0BG = v0ABG || v0CBG;
Bool_t t0 = triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kT0 ));
Bool_t t0BG = triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kT0BG ));
Bool_t t0PileUp = triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kT0Pileup));
Bool_t zdcA = triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kZDCTDCA));
Bool_t zdcC = triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kZDCTDCC));
Bool_t zdcTime = triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kZDCTime));
Bool_t znABG = triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kZNABG));
Bool_t znCBG = triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kZNCBG));
Bool_t laserCut = triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kTPCLaserWarmUp));
Bool_t hvDipCut = triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kOfflineFlag | AliTriggerAnalysis::kTPCHVdip));
Bool_t mb1 = (fastOROffline > 0 || v0A || v0C) && (!v0BG);
Bool_t mb1prime = (fastOROffline > 1 || (fastOROffline > 0 && (v0A || v0C)) || (v0A && v0C) ) && (!v0BG);
Bool_t bgID = kFALSE;
bgID = triggerAnalysis->EvaluateTrigger(aEsd, (AliTriggerAnalysis::Trigger) (AliTriggerAnalysis::kSPDClsVsTrkBG | AliTriggerAnalysis::kOfflineFlag));
TString triggerLogicOnline = fPSOADB->GetHardwareTrigger(triggerLogic);
TString triggerLogicOffline = fPSOADB->GetOfflineTrigger(triggerLogic);
AliDebug(AliLog::kDebug, Form("Triggers from OADB [0x%x][%d][%s][%s]",singleTriggerResult,AliOADBPhysicsSelection::GetActiveBit(singleTriggerResult),triggerLogicOffline.Data(),triggerLogicOnline.Data()));
Bool_t onlineTrigger = EvaluateTriggerLogic(aEsd, triggerAnalysis, triggerLogicOnline, kFALSE);
Bool_t offlineTrigger = EvaluateTriggerLogic(aEsd, triggerAnalysis, triggerLogicOffline, kTRUE);
Int_t tpatt = 0;
if (fastORHW>0) tpatt+=1;
if (v0AHW) tpatt+=2;
if (v0CHW) tpatt+=4;
fHistTriggerPattern->Fill( tpatt );
const Int_t nHistStat = 2;
for(Int_t iHistStat = 0; iHistStat < nHistStat; iHistStat++){
if (iHistStat == kStatIdxBin0 && !isBin0) continue;
fHistStatistics[iHistStat]->Fill(kStatTriggerClass, i);
if(iHistStat == kStatIdxAll) fHistBunchCrossing->Fill(aEsd->GetBunchCrossNumber(), i);
if (!onlineTrigger) {
AliDebug(AliLog::kDebug, "Rejecting event because hardware trigger is not fired");
continue;
} else {
fHistStatistics[iHistStat]->Fill(kStatHWTrig, i);
}
if (v0ABG) fHistStatistics[iHistStat]->Fill(kStatV0ABG, i);
if (v0CBG) fHistStatistics[iHistStat]->Fill(kStatV0CBG, i);
if (t0) fHistStatistics[iHistStat]->Fill(kStatT0BB, i);
if (t0BG) fHistStatistics[iHistStat]->Fill(kStatT0BG, i);
if (t0PileUp) fHistStatistics[iHistStat]->Fill(kStatT0PileUp, i);
if (mb1) fHistStatistics[iHistStat]->Fill(kStatMB1, i);
if (mb1prime) fHistStatistics[iHistStat]->Fill(kStatMB1Prime, i);
if (laserCut) fHistStatistics[iHistStat]->Fill(kStatLaserCut, i);
if (hvDipCut) fHistStatistics[iHistStat]->Fill(kHVdipCut, i);
if (fastOROffline > 0) fHistStatistics[iHistStat]->Fill(kStatFO1, i);
if (fastOROffline > 1) fHistStatistics[iHistStat]->Fill(kStatFO2, i);
if (fastOROfflineL1 > 1) fHistStatistics[iHistStat]->Fill(kStatFO2L1, i);
if (v0A) fHistStatistics[iHistStat]->Fill(kStatV0A, i);
if (v0C) fHistStatistics[iHistStat]->Fill(kStatV0C, i);
if (zdcA) fHistStatistics[iHistStat]->Fill(kStatZDCA, i);
if (zdcC) fHistStatistics[iHistStat]->Fill(kStatZDCC, i);
if (zdcA && zdcC) fHistStatistics[iHistStat]->Fill(kStatZDCAC, i);
if (zdcTime) fHistStatistics[iHistStat]->Fill(kStatZDCTime, i);
if (znABG) fHistStatistics[iHistStat]->Fill(kStatZNABG, i);
if (znCBG) fHistStatistics[iHistStat]->Fill(kStatZNCBG, i);
if (bgID && !v0BG) fHistStatistics[iHistStat]->Fill(kStatBG, i);
if (v0A && v0C && !v0BG && (!bgID && fIsPP)) fHistStatistics[iHistStat]->Fill(kStatV0, i);
if (v0A && v0C && !v0BG && (!bgID && fIsPP) && !znABG && !znCBG) fHistStatistics[iHistStat]->Fill(kStatV0ZN, i);
if ( offlineTrigger ) {
if (!v0BG || fSkipV0) {
if (!v0BG) fHistStatistics[iHistStat]->Fill(kStatOffline, i);
AliDebug(AliLog::kDebug, Form("Accepted event for histograms with trigger logic %d", triggerLogic));
fHistStatistics[iHistStat]->Fill(kStatAccepted, i);
if (aEsd->IsPileupFromSPD())
fHistStatistics[iHistStat]->Fill(kStatAcceptedPileUp, i);
if((i < fCollTrigClasses.GetEntries() || fSkipTriggerClassSelection) && (iHistStat==kStatIdxAll))
accept |= singleTriggerResult;
}
else
AliDebug(AliLog::kDebug, "Rejecting event because of V0 BG flag");
}
else
AliDebug(AliLog::kDebug, Form("Rejecting event because trigger logic %d is not fulfilled", triggerLogic));
}
}
}
if (accept)
AliDebug(AliLog::kDebug, Form("Accepted event as collision candidate with bit mask %d", accept));
return accept;
}
Bool_t AliPhysicsSelection::Initialize(const AliESDEvent* aEsd)
{
DetectPassName();
AliInfo(Form("Initializing for beam type: %s", aEsd->GetESDRun()->GetBeamType()));
fIsPP = kTRUE;
if (strcmp(aEsd->GetESDRun()->GetBeamType(), "A-A") == 0)
fIsPP = kFALSE;
return Initialize(aEsd->GetRunNumber());
}
Bool_t AliPhysicsSelection::Initialize(Int_t runNumber)
{
Bool_t oldStatus = TH1::AddDirectoryStatus();
TH1::AddDirectory(kFALSE);
TString oadbfilename = AliPhysicsSelection::GetOADBFileName();
TFile * foadb = TFile::Open(oadbfilename);
if(!foadb->IsOpen()) AliFatal(Form("Cannot open OADB file %s", oadbfilename.Data()));
if(!fPSOADB || !fUsingCustomClasses) {
AliInfo("Using Standard OADB");
AliOADBContainer * psContainer = (AliOADBContainer*) foadb->Get("physSel");
if (!psContainer) AliFatal("Cannot fetch OADB container for Physics selection");
fPSOADB = (AliOADBPhysicsSelection*) psContainer->GetObject(runNumber, fIsPP ? "oadbDefaultPP" : "oadbDefaultPbPb",fPassName);
if (!fPSOADB) AliFatal(Form("Cannot find physics selection object for run %d", runNumber));
} else {
AliInfo("Using Custom OADB");
}
if(!fFillOADB || !fUsingCustomClasses) {
AliOADBContainer * fillContainer = (AliOADBContainer*) foadb->Get("fillScheme");
if (!fillContainer) AliFatal("Cannot fetch OADB container for filling scheme");
fFillOADB = (AliOADBFillingScheme*) fillContainer->GetObject(runNumber, "Default",fPassName);
if (!fFillOADB) AliFatal(Form("Cannot find filling scheme object for run %d", runNumber));
}
if(!fTriggerOADB || !fUsingCustomClasses) {
AliOADBContainer * triggerContainer = (AliOADBContainer*) foadb->Get("trigAnalysis");
if (!triggerContainer) AliFatal("Cannot fetch OADB container for trigger analysis");
fTriggerOADB = (AliOADBTriggerAnalysis*) triggerContainer->GetObject(runNumber, "Default",fPassName);
fTriggerOADB->Print();
if (!fTriggerOADB) AliFatal(Form("Cannot find trigger analysis object for run %d", runNumber));
}
if(!fBin0CallBack)
AliError("Bin0 Callback not set: will not fill the statistics for the bin 0");
if (fMC) {
fComputeBG = kFALSE;
fUseBXNumbers = kFALSE;
}
if(fComputeBG && fCurrentRun != -1 && fCurrentRun != runNumber)
AliFatal("Cannot process several runs because BG computation is requested");
if(fComputeBG && !fUseBXNumbers)
AliFatal("Cannot compute BG if BX numbers are not used");
if(fUseBXNumbers && fFillingScheme != "" && fFillingScheme != fFillOADB->GetFillingSchemeName())
AliFatal("Cannot process runs with different filling scheme if usage of BX numbers is requested");
fFillingScheme = fFillOADB->GetFillingSchemeName();
AliInfo(Form("Initializing for run %d", runNumber));
if (fCurrentRun == -1)
{
const UInt_t ntriggerBits = fPSOADB->GetNTriggerBits();
for(UInt_t ibit = 0; ibit < ntriggerBits; ibit++){
TIterator * collIter = fPSOADB->GetCollTrigClass(ibit)->MakeIterator();
TIterator * bgIter = fPSOADB->GetBGTrigClass(ibit)->MakeIterator();
TObjString * obj = 0;
while((obj = (TObjString*) collIter->Next())){
if (obj->String() != "") {
fCollTrigClasses.Add(new TObjString(GetTriggerString(obj)));
}
}
if(!fMC) {
obj = 0 ;
while((obj = (TObjString*) bgIter->Next())){
if (obj->String() != "") {
fBGTrigClasses.Add(new TObjString(GetTriggerString(obj)));
}
}
}
}
Int_t count = fCollTrigClasses.GetEntries() + fBGTrigClasses.GetEntries();
for (Int_t i=0; i<count; i++)
{
AliTriggerAnalysis* triggerAnalysis = new AliTriggerAnalysis;
triggerAnalysis->SetAnalyzeMC(fMC);
triggerAnalysis->EnableHistograms(fIsPP);
triggerAnalysis->SetSPDGFOThreshhold(1);
triggerAnalysis->SetDoFMD(kFALSE);
triggerAnalysis->SetCorrZDCCutParams(fTriggerOADB->GetZDCCutRefSumCorr(),
fTriggerOADB->GetZDCCutRefDeltaCorr(),
fTriggerOADB->GetZDCCutSigmaSumCorr(),
fTriggerOADB->GetZDCCutSigmaDeltaCorr());
triggerAnalysis->SetZNCorrCutParams(fTriggerOADB->GetZDCCutZNATimeCorrMin(),fTriggerOADB->GetZDCCutZNATimeCorrMax(),
fTriggerOADB->GetZDCCutZNCTimeCorrMin(),fTriggerOADB->GetZDCCutZNCTimeCorrMax());
fTriggerAnalysis.Add(triggerAnalysis);
}
if (fHistStatistics[0])
delete fHistStatistics[0];
if (fHistStatistics[1])
delete fHistStatistics[1];
fHistStatistics[kStatIdxBin0] = BookHistStatistics("_Bin0");
fHistStatistics[kStatIdxAll] = BookHistStatistics("");
if (fHistBunchCrossing)
delete fHistBunchCrossing;
fHistBunchCrossing = new TH2F("fHistBunchCrossing", "fHistBunchCrossing;bunch crossing number;", 4000, -0.5, 3999.5, count, -0.5, -0.5 + count);
if (fHistTriggerPattern)
delete fHistTriggerPattern;
const int ntrig=3;
Int_t n = 1;
const Int_t nbinTrig = TMath::Nint(TMath::Power(2,ntrig));
fHistTriggerPattern = new TH1F("fHistTriggerPattern", "Trigger pattern: FO + 2*v0A + 4*v0C",
nbinTrig, -0.5, nbinTrig-0.5);
fHistTriggerPattern->GetXaxis()->SetBinLabel(1,"NO TRIG");
fHistTriggerPattern->GetXaxis()->SetBinLabel(2,"FO");
fHistTriggerPattern->GetXaxis()->SetBinLabel(3,"v0A");
fHistTriggerPattern->GetXaxis()->SetBinLabel(4,"FO & v0A");
fHistTriggerPattern->GetXaxis()->SetBinLabel(5,"v0C");
fHistTriggerPattern->GetXaxis()->SetBinLabel(6,"FO & v0C");
fHistTriggerPattern->GetXaxis()->SetBinLabel(7,"v0A & v0C");
fHistTriggerPattern->GetXaxis()->SetBinLabel(8,"FO & v0A & v0C");
n = 1;
for (Int_t i=0; i < fCollTrigClasses.GetEntries(); i++)
{
fHistBunchCrossing->GetYaxis()->SetBinLabel(n, ((TObjString*) fCollTrigClasses.At(i))->String());
n++;
}
for (Int_t i=0; i < fBGTrigClasses.GetEntries(); i++)
{
fHistBunchCrossing->GetYaxis()->SetBinLabel(n, ((TObjString*) fBGTrigClasses.At(i))->String());
n++;
}
}
Int_t count = fCollTrigClasses.GetEntries() + fBGTrigClasses.GetEntries();
for (Int_t i=0; i<count; i++)
{
AliTriggerAnalysis* triggerAnalysis = static_cast<AliTriggerAnalysis*> (fTriggerAnalysis.At(i));
switch (runNumber)
{
case 104315:
case 104316:
case 104320:
case 104321:
case 104439:
triggerAnalysis->SetV0TimeOffset(7.5);
break;
default:
triggerAnalysis->SetV0TimeOffset(0);
}
}
fCurrentRun = runNumber;
TH1::AddDirectory(oldStatus);
return kTRUE;
}
TH2F * AliPhysicsSelection::BookHistStatistics(const char * tag) {
Int_t count = fCollTrigClasses.GetEntries() + fBGTrigClasses.GetEntries();
#ifdef VERBOSE_STAT
Int_t extrarows = fComputeBG != 0 ? 11 : 0;
#else
Int_t extrarows = fComputeBG != 0 ? 6 : 0;
#endif
TH2F * h = new TH2F(Form("fHistStatistics%s",tag), Form("fHistStatistics - %s ;;",tag), kStatAccepted, 0.5, kStatAccepted+0.5, count+extrarows, -0.5, -0.5 + count+extrarows);
h->GetXaxis()->SetBinLabel(kStatTriggerClass, "Trigger class");
h->GetXaxis()->SetBinLabel(kStatHWTrig, "Hardware trigger");
h->GetXaxis()->SetBinLabel(kStatFO1, "FO >= 1");
h->GetXaxis()->SetBinLabel(kStatFO2, "FO >= 2");
h->GetXaxis()->SetBinLabel(kStatFO2L1, "FO (L1) >= 2");
h->GetXaxis()->SetBinLabel(kStatV0A, "V0A");
h->GetXaxis()->SetBinLabel(kStatV0C, "V0C");
h->GetXaxis()->SetBinLabel(kStatT0BB, "T0");
h->GetXaxis()->SetBinLabel(kStatT0BG, "T0BG");
h->GetXaxis()->SetBinLabel(kStatT0PileUp, "T0 PileUp");
h->GetXaxis()->SetBinLabel(kStatLaserCut, "TPC Laser Wup Cut");
h->GetXaxis()->SetBinLabel(kHVdipCut, "TPC HV dip Cut");
h->GetXaxis()->SetBinLabel(kStatV0ABG, "V0A BG");
h->GetXaxis()->SetBinLabel(kStatV0CBG, "V0C BG");
h->GetXaxis()->SetBinLabel(kStatZDCA, "ZDCA");
h->GetXaxis()->SetBinLabel(kStatZDCC, "ZDCC");
h->GetXaxis()->SetBinLabel(kStatZDCAC, "ZDCA & ZDCC");
h->GetXaxis()->SetBinLabel(kStatZDCTime, "ZDC Time Cut");
h->GetXaxis()->SetBinLabel(kStatZNABG, "ZNA BG");
h->GetXaxis()->SetBinLabel(kStatZNCBG, "ZNC BG");
h->GetXaxis()->SetBinLabel(kStatMB1, "(FO >= 1 | V0A | V0C) & !V0 BG");
h->GetXaxis()->SetBinLabel(kStatMB1Prime, "(FO >= 2 | (FO >= 1 & (V0A | V0C)) | (V0A &v0C) ) & !V0 BG");
h->GetXaxis()->SetBinLabel(kStatV0, "V0A & V0C & !V0 BG & !BG ID");
h->GetXaxis()->SetBinLabel(kStatV0ZN, "V0A & V0C & !V0 BG & !BG ID & !ZN BG");
h->GetXaxis()->SetBinLabel(kStatOffline, "Offline Trigger");
h->GetXaxis()->SetBinLabel(kStatBG, "Background identification");
h->GetXaxis()->SetBinLabel(kStatAcceptedPileUp, "Pile up (in accepted)");
h->GetXaxis()->SetBinLabel(kStatAccepted, "Accepted");
Int_t n = 1;
for (Int_t i=0; i < fCollTrigClasses.GetEntries(); i++)
{
h->GetYaxis()->SetBinLabel(n, ((TObjString*) fCollTrigClasses.At(i))->String());
n++;
}
for (Int_t i=0; i < fBGTrigClasses.GetEntries(); i++)
{
h->GetYaxis()->SetBinLabel(n, ((TObjString*) fBGTrigClasses.At(i))->String());
n++;
}
if(fComputeBG) {
fBGStatOffset = n;
h->GetYaxis()->SetBinLabel(n++, "All B");
h->GetYaxis()->SetBinLabel(n++, "All A+C");
h->GetYaxis()->SetBinLabel(n++, "All E");
h->GetYaxis()->SetBinLabel(n++, Form("BG (A+C) (Mask [0x%x])", fComputeBG));
h->GetYaxis()->SetBinLabel(n++, "ACC");
#ifdef VERBOSE_STAT
h->GetYaxis()->SetBinLabel(n++, "BG (A+C) % (rel. to CINT1B)");
h->GetYaxis()->SetBinLabel(n++, "ACC % (rel. to CINT1B)");
h->GetYaxis()->SetBinLabel(n++, "ERR GOOD %");
h->GetYaxis()->SetBinLabel(n++, "GOOD % (rel. to 1st col)");
h->GetYaxis()->SetBinLabel(n++, "ERR GOOD");
#endif
h->GetYaxis()->SetBinLabel(n++, "GOOD");
}
return h;
}
void AliPhysicsSelection::Print(const Option_t *option) const
{
TString msg;
Printf("Configuration initialized for run %d (MC: %d):", fCurrentRun, fMC);
msg += Form("Configuration initialized for run %d (MC: %d):\n", fCurrentRun, fMC);
Printf("Collision trigger classes:");
for (Int_t i=0; i < fCollTrigClasses.GetEntries(); i++)
Printf("%s", ((TObjString*) fCollTrigClasses.At(i))->String().Data());
Printf("Background trigger classes:");
for (Int_t i=0; i < fBGTrigClasses.GetEntries(); i++)
Printf("%s", ((TObjString*) fBGTrigClasses.At(i))->String().Data());
AliTriggerAnalysis* triggerAnalysis = dynamic_cast<AliTriggerAnalysis*> (fTriggerAnalysis.At(0));
if (triggerAnalysis)
{
if (triggerAnalysis->GetV0TimeOffset() > 0)
Printf("V0 time offset active: %.2f ns", triggerAnalysis->GetV0TimeOffset());
Printf("\nTotal available events:");
triggerAnalysis->PrintTriggerClasses();
if(!fMC) {
TMap * triggers = triggerAnalysis->GetTriggerClasses();
TIterator* iter = triggers->MakeIterator();
TObjString* obj = 0;
static TString alreadyFoundTriggers;
while ((obj = dynamic_cast<TObjString*> (iter->Next())))
{
TString strTrigger = obj->GetString();
TParameter<Long64_t>* param = static_cast<TParameter<Long64_t>*> (triggers->GetValue(obj));
Long_t counts = (Long_t)param->GetVal();
TObjArray* tokens = obj->String().Tokenize(" ");
for (Int_t i=0; i<tokens->GetEntries(); i++)
{
TString singleTrigStr = ((TObjString*) tokens->At(i))->String();
singleTrigStr.Strip(TString::kBoth, ' ' );
const char * singleTrig = singleTrigStr.Data();
TString singleTrigStrFull;
Bool_t found = kFALSE;
Int_t nCollTriggers = fCollTrigClasses.GetEntries();
for(Int_t iCollTriggers = 0; iCollTriggers < nCollTriggers; iCollTriggers++){
singleTrigStrFull = ((TObjString*)fCollTrigClasses.At(iCollTriggers))->String();
if(singleTrigStrFull.Contains(singleTrigStr)) {
found = kTRUE;
break;
}
singleTrigStrFull = singleTrigStr;
}
Int_t nBGTriggers = fBGTrigClasses.GetEntries();
for(Int_t iBGTriggers = 0; iBGTriggers < nBGTriggers; iBGTriggers++){
singleTrigStrFull = ((TObjString*)fBGTrigClasses.At(iBGTriggers))->String();
if(singleTrigStrFull.Contains(singleTrigStr)) {
found = kTRUE;
break;
}
singleTrigStrFull = singleTrigStr;
}
TString blacklist = "CEMC7WU-B-NOPF-ALL, CEMC7WU-AC-NOPF-ALL CEMC7WU-E-NOPF-ALL C0LSR-ABCE-NOPF-TPC CBEAMB-B-NOPF-ALLNOTRD";
if(counts>0 && !found && !blacklist.Contains(singleTrig) && !singleTrigStr.Contains("WU") && !alreadyFoundTriggers.Contains(singleTrig)) {
Printf("WARNING: Found unknown trigger [%s] with %ld counts in the ESD!", singleTrig, counts);
alreadyFoundTriggers += singleTrig;
}
}
delete tokens;
}
delete iter;
}
}
if (fHistStatistics[kStatIdxAll])
{
static TString alreadyFoundTriggers;
for (Int_t i=0; i<fCollTrigClasses.GetEntries(); i++)
{
Printf("\nSelection statistics for collision trigger %s:", ((TObjString*) fCollTrigClasses.At(i))->String().Data());
msg += Form("\nSelection statistics for collision trigger %s:\n", ((TObjString*) fCollTrigClasses.At(i))->String().Data());
Float_t allEvents = fHistStatistics[kStatIdxAll]->GetBinContent(1, i+1);
Float_t triggeredEvents = fHistStatistics[kStatIdxAll]->GetBinContent(fHistStatistics[kStatIdxAll]->GetXaxis()->FindBin("Accepted"), i+1);
Printf("Total events with correct trigger class: %d", (Int_t) fHistStatistics[kStatIdxAll]->GetBinContent(1, i+1));
msg += Form("Total events with correct trigger class: %d\n", (Int_t) fHistStatistics[kStatIdxAll]->GetBinContent(1, i+1));
Printf("Selected collision candidates: %d", (Int_t) fHistStatistics[kStatIdxAll]->GetBinContent(fHistStatistics[kStatIdxAll]->GetXaxis()->FindBin("Accepted"), i+1));
msg += Form("Selected collision candidates: %d\n", (Int_t) fHistStatistics[kStatIdxAll]->GetBinContent(fHistStatistics[kStatIdxAll]->GetXaxis()->FindBin("Accepted"), i+1));
Float_t eff = allEvents > 0 ? triggeredEvents/allEvents : 0;
if(allEvents > 0 && (eff < 0.5) &&
!alreadyFoundTriggers.Contains(((TObjString*) fCollTrigClasses.At(i))->String().Data())) {
Printf("WARNING: Trigger class %s has a very low efficiency (%d/%d=%.2f)",((TObjString*) fCollTrigClasses.At(i))->String().Data(), (Int_t) triggeredEvents, (Int_t) allEvents, eff);
alreadyFoundTriggers += ((TObjString*) fCollTrigClasses.At(i))->String().Data();
Printf("%s", alreadyFoundTriggers.Data());
}
}
}
if (fHistBunchCrossing)
{
Printf("\nBunch crossing statistics:");
msg += "\nBunch crossing statistics:\n";
for (Int_t i=1; i<=fHistBunchCrossing->GetNbinsY(); i++)
{
TString str;
str.Form("Trigger %s has events in the bunch crossings: ", fHistBunchCrossing->GetYaxis()->GetBinLabel(i));
for (Int_t j=1; j<=fHistBunchCrossing->GetNbinsX(); j++)
if (fHistBunchCrossing->GetBinContent(j, i) > 0)
str += Form("%d, ", (Int_t) fHistBunchCrossing->GetXaxis()->GetBinCenter(j));
Printf("%s", str.Data());
msg += str;
msg += "\n";
}
for (Int_t j=1; j<=fHistBunchCrossing->GetNbinsX(); j++)
{
Int_t countColl = 0;
Int_t countBG = 0;
for (Int_t i=1; i<=fHistBunchCrossing->GetNbinsY(); i++)
{
if (fHistBunchCrossing->GetBinContent(j, i) > 0)
{
if (fCollTrigClasses.FindObject(fHistBunchCrossing->GetYaxis()->GetBinLabel(i)))
countColl++;
if (fBGTrigClasses.FindObject(fHistBunchCrossing->GetYaxis()->GetBinLabel(i)))
countBG++;
}
}
if (countColl > 0 && countBG > 0)
Printf("WARNING: Bunch crossing %d has collision and BG trigger classes active. Check BPTX functioning for this run!", (Int_t) fHistBunchCrossing->GetXaxis()->GetBinCenter(j));
}
}
if (fUsingCustomClasses)
Printf("WARNING: Using custom trigger classes!");
if (fSkipTriggerClassSelection)
Printf("WARNING: Skipping trigger class selection!");
if (fSkipV0)
Printf("WARNING: Ignoring V0 information in selection");
if(!fBin0CallBack)
Printf("WARNING: Callback not set: will not fill the statistics for the bin 0");
TString opt(option);
opt.ToUpper();
if (opt == "STAT") {
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (mgr) mgr->AddStatisticsMsg(msg);
}
}
Long64_t AliPhysicsSelection::Merge(TCollection* list)
{
if (!list)
return 0;
if (list->IsEmpty())
return 1;
TIterator* iter = list->MakeIterator();
TObject* obj;
const Int_t nHists = 8;
TList collections[nHists];
Int_t count = 0;
while ((obj = iter->Next())) {
AliPhysicsSelection* entry = dynamic_cast<AliPhysicsSelection*> (obj);
if (entry == 0)
continue;
Int_t currentRun = entry->GetCurrentRun();
if (currentRun < 0) continue;
if (fCurrentRun < 0)
{
fCurrentRun = currentRun;
fMC = entry->fMC;
for (Int_t i=0; i<entry->fCollTrigClasses.GetEntries(); i++)
fCollTrigClasses.Add(entry->fCollTrigClasses.At(i)->Clone());
for (Int_t i=0; i<entry->fBGTrigClasses.GetEntries(); i++)
fBGTrigClasses.Add(entry->fBGTrigClasses.At(i)->Clone());
}
if (fCurrentRun != currentRun)
AliWarning(Form("Current run %d not matching the one to be merged with %d", fCurrentRun, currentRun));
Int_t bgstatoffset = entry->GetBGStatOffset();
if (!(bgstatoffset < 0)){
if (fBGStatOffset < 0)
{
fBGStatOffset = bgstatoffset;
}
}
if (fBGStatOffset != bgstatoffset)
AliWarning(Form("Current run %d not matching the one to be merged with %d", fBGStatOffset, bgstatoffset));
if (!fPSOADB && entry->GetOADBPhysicsSelection()) {
fPSOADB = (AliOADBPhysicsSelection*) entry->GetOADBPhysicsSelection()->Clone();
}
if (!fFillOADB && entry->GetOADBFillingScheme()){
fFillOADB = (AliOADBFillingScheme*) entry->GetOADBFillingScheme()->Clone();
}
if (entry->fTriggerAnalysis.GetEntries() > 0)
collections[0].Add(&(entry->fTriggerAnalysis));
if (entry->fHistStatistics[0])
collections[1].Add(entry->fHistStatistics[0]);
if (entry->fHistStatistics[1])
collections[2].Add(entry->fHistStatistics[1]);
if (entry->fHistBunchCrossing)
collections[3].Add(entry->fHistBunchCrossing);
if (entry->fHistTriggerPattern)
collections[4].Add(entry->fHistTriggerPattern);
count++;
}
if (fTriggerAnalysis.GetEntries() == 0 && collections[0].GetEntries() > 0)
{
TList* firstList = (TList*) collections[0].First();
for (Int_t i=0; i<firstList->GetEntries(); i++)
fTriggerAnalysis.Add(firstList->At(i)->Clone());
collections[0].RemoveAt(0);
}
fTriggerAnalysis.Merge(&collections[0]);
if (!fHistStatistics[0] && collections[1].GetEntries() > 0)
{
fHistStatistics[0] = (TH2F*) collections[1].First()->Clone();
collections[1].RemoveAt(0);
}
if (fHistStatistics[0])
fHistStatistics[0]->Merge(&collections[1]);
if (!fHistStatistics[1] && collections[2].GetEntries() > 0)
{
fHistStatistics[1] = (TH2F*) collections[2].First()->Clone();
collections[2].RemoveAt(0);
}
if (fHistStatistics[1])
fHistStatistics[1]->Merge(&collections[2]);
if (!fHistBunchCrossing && collections[3].GetEntries() > 0)
{
fHistBunchCrossing = (TH2F*) collections[3].First()->Clone();
collections[3].RemoveAt(0);
}
if (fHistBunchCrossing)
fHistBunchCrossing->Merge(&collections[3]);
if (!fHistTriggerPattern && collections[4].GetEntries() > 0)
{
fHistTriggerPattern = (TH1F*) collections[4].First()->Clone();
collections[4].RemoveAt(0);
}
if (fHistTriggerPattern)
fHistTriggerPattern->Merge(&collections[4]);
delete iter;
return count+1;
}
void AliPhysicsSelection::SaveHistograms(const char* folder)
{
if (!fHistStatistics[0] || !fHistStatistics[1])
return;
if (folder)
{
gDirectory->mkdir(folder);
gDirectory->cd(folder);
}
if (fComputeBG) {
AliInfo("BG estimate assumes that for a given run you only have A and C triggers separately or"
" toghether as a AC class! Make sure this assumption holds in your case");
enum {kClassB =0 , kClassA, kClassC, kClassAC, kClassE, kNClasses};
const char * classFlags[] = {"B", "A", "C", "AC", "E"};
UInt_t * rows[kNClasses] = {0};
Int_t nrows[kNClasses] = {0};
for(Int_t iTrigClass = 0; iTrigClass < kNClasses; iTrigClass++){
nrows[iTrigClass] = GetStatRow(classFlags[iTrigClass],fComputeBG,&rows[iTrigClass]);
}
Int_t nBXIds[kNClasses] = {0};
for(Int_t iTrigClass = 0; iTrigClass < kNClasses; iTrigClass++){
for(Int_t irow = 0; irow < nrows[iTrigClass]; irow++) {
if(irow==0) cout << "- Class " << classFlags[iTrigClass] << endl;
for (Int_t j=1; j<=fHistBunchCrossing->GetNbinsX(); j++) {
if (fHistBunchCrossing->GetBinContent(j, rows[iTrigClass][irow]) > 0) {
nBXIds[iTrigClass]++;
}
}
if(nBXIds[iTrigClass]>0) cout << " Using row " << rows[iTrigClass][irow] << ": "
<< fHistBunchCrossing->GetYaxis()->GetBinLabel(rows[iTrigClass][irow])
<< " (nBXID "<< nBXIds[iTrigClass] << ")"<< endl;
}
}
Float_t ratioToB[kNClasses];
ratioToB[kClassE] = nBXIds[kClassE] >0 ? Float_t(nBXIds[kClassB])/nBXIds[kClassE] : 0;
ratioToB[kClassA] = nBXIds[kClassA] >0 ? Float_t(nBXIds[kClassB])/nBXIds[kClassA] : 0;
ratioToB[kClassC] = nBXIds[kClassC] >0 ? Float_t(nBXIds[kClassB])/nBXIds[kClassC] : 0;
ratioToB[kClassAC] = nBXIds[kClassAC] >0 ? Float_t(nBXIds[kClassB])/nBXIds[kClassAC] : 0;
Printf("Ratio between the BX ids in the different trigger classes:");
Printf(" B/E = %d/%d = %f", nBXIds[kClassB],nBXIds[kClassE], ratioToB[kClassE] );
Printf(" B/A = %d/%d = %f", nBXIds[kClassB],nBXIds[kClassA], ratioToB[kClassA] );
Printf(" B/C = %d/%d = %f", nBXIds[kClassB],nBXIds[kClassC], ratioToB[kClassC] );
Printf(" B/AC = %d/%d = %f", nBXIds[kClassB],nBXIds[kClassAC],ratioToB[kClassAC]);
Int_t nHistStat = 2;
for(Int_t iHistStat = 0; iHistStat < nHistStat; iHistStat++){
Int_t ncol = fHistStatistics[iHistStat]->GetNbinsX();
Float_t good1 = 0;
for(Int_t icol = 1; icol <= ncol; icol++) {
Int_t nEvents[kNClasses] = {0};
for(Int_t iTrigClass = 0; iTrigClass < kNClasses; iTrigClass++){
for(Int_t irow = 0; irow < nrows[iTrigClass]; irow++) {
nEvents[iTrigClass] += (Int_t) fHistStatistics[iHistStat]->GetBinContent(icol,rows[iTrigClass][irow]);
}
}
if (nEvents[kClassB]>0) {
Float_t acc = ratioToB[kClassE]*nEvents[kClassE];
Double_t accErr = TMath::Sqrt(ratioToB[kClassE]*ratioToB[kClassE]*nEvents[kClassE]);
if(icol == 1) {
if(fBIFactorAC > 0 || fBIFactorA > 0 || fBIFactorC > 0) {
if (fBIFactorAC <= 0 && (fBIFactorA <= 0 || fBIFactorC <= 0)) {
AliError("Not all intensities set!, assuming equal intensities");
fBIFactorA = 1;
fBIFactorC = 1;
fBIFactorAC = 1;
} else {
AliInfo("Using ratio of number of bunch crossing embedded in the intensity measurements");
ratioToB[kClassA] = ratioToB[kClassA] >0 ? 1 : 0;
ratioToB[kClassC] = ratioToB[kClassC] >0 ? 1 : 0;
ratioToB[kClassAC] = ratioToB[kClassAC] >0 ? 1 : 0;
AliInfo(Form(" - BI Factor A: %f", fBIFactorA ));
AliInfo(Form(" - BI Factor C: %f", fBIFactorC ));
AliInfo(Form(" - BI Factor AC: %f", fBIFactorAC ));
}
} else {
AliWarning("Intensities not set!, assuming equal intensities");
fBIFactorA = 1;
fBIFactorC = 1;
fBIFactorAC = 1;
}
}
Float_t bg = nEvents[kClassAC] > 0 ?
fBIFactorAC*(ratioToB[kClassAC]*nEvents[kClassAC] - 2*acc):
fBIFactorA* (ratioToB[kClassA]*nEvents[kClassA]-acc) +
fBIFactorC* (ratioToB[kClassC]*nEvents[kClassC]-acc) ;
Float_t good = Float_t(nEvents[kClassB]) - bg - acc;
if (icol ==1) good1 = good;
Float_t errGood = nEvents[kClassAC] > 0 ?
TMath::Sqrt( nEvents[kClassB] +
fBIFactorAC*fBIFactorAC*ratioToB[kClassAC]*ratioToB[kClassAC]*nEvents[kClassAC] +
ratioToB[kClassE] * ratioToB[kClassE] *
(fBIFactorAC - 1)*(fBIFactorAC - 1)*nEvents[kClassE]) :
TMath::Sqrt( nEvents[kClassB] +
fBIFactorA*fBIFactorA*ratioToB[kClassA]*ratioToB[kClassA]*nEvents[kClassA] +
fBIFactorC*fBIFactorC*ratioToB[kClassC]*ratioToB[kClassC]*nEvents[kClassC] +
ratioToB[kClassE] * ratioToB[kClassE] *
(fBIFactorA + fBIFactorC - 1)*(fBIFactorA + fBIFactorC - 1)*nEvents[kClassE]);
Float_t errBG = nEvents[kClassAC] > 0 ?
TMath::Sqrt(fBIFactorAC*fBIFactorAC*ratioToB[kClassAC]*ratioToB[kClassAC]*nEvents[kClassAC]+
4*ratioToB[kClassE]*ratioToB[kClassE]*(fBIFactorAC*fBIFactorAC)*nEvents[kClassE]) :
TMath::Sqrt(fBIFactorA*fBIFactorA*ratioToB[kClassA]*ratioToB[kClassA]*nEvents[kClassA]+
fBIFactorC*fBIFactorC*ratioToB[kClassC]*ratioToB[kClassC]*nEvents[kClassC]+
ratioToB[kClassE]*ratioToB[kClassE]*(fBIFactorA+fBIFactorC)*(fBIFactorA+fBIFactorC)*nEvents[kClassE]);
fHistStatistics[iHistStat]->SetBinContent(icol,fBGStatOffset+kStatRowAllB, nEvents[kClassB]);
fHistStatistics[iHistStat]->SetBinContent(icol,fBGStatOffset+kStatRowAllAC,nEvents[kClassA]+nEvents[kClassC]+nEvents[kClassAC]);
fHistStatistics[iHistStat]->SetBinContent(icol,fBGStatOffset+kStatRowAllE, nEvents[kClassE]);
fHistStatistics[iHistStat]->SetBinContent(icol,fBGStatOffset+kStatRowBG,bg);
fHistStatistics[iHistStat]->SetBinError (icol,fBGStatOffset+kStatRowBG,errBG);
fHistStatistics[iHistStat]->SetBinContent(icol,fBGStatOffset+kStatRowAcc,acc);
fHistStatistics[iHistStat]->SetBinError (icol,fBGStatOffset+kStatRowAcc,accErr);
fHistStatistics[iHistStat]->SetBinContent(icol,fBGStatOffset+kStatRowGood,good);
fHistStatistics[iHistStat]->SetBinError (icol,fBGStatOffset+kStatRowGood,errGood);
#ifdef VERBOSE_STAT
Float_t accFrac = Float_t(acc) / nEvents[kClassB] *100;
Float_t errAccFrac= Float_t(accErr) / nEvents[kClassB] *100;
Float_t bgFrac = Float_t(bg) / nEvents[kClassB] *100;
Float_t goodFrac = Float_t(good) / good1 *100;
Float_t errGoodFrac = errGood/good1 * 100;
Float_t errFracBG = bg > 0 ? TMath::Sqrt((errBG/bg)*(errBG/bg) + 1/nEvents[kClassB])*bgFrac : 0;
fHistStatistics[iHistStat]->SetBinContent(icol,fBGStatOffset+kStatRowBGFrac,bgFrac);
fHistStatistics[iHistStat]->SetBinError (icol,fBGStatOffset+kStatRowBGFrac,errFracBG);
fHistStatistics[iHistStat]->SetBinContent(icol,fBGStatOffset+kStatRowAccFrac,accFrac);
fHistStatistics[iHistStat]->SetBinError (icol,fBGStatOffset+kStatRowAccFrac,errAccFrac);
fHistStatistics[iHistStat]->SetBinContent(icol,fBGStatOffset+kStatRowGoodFrac,goodFrac);
fHistStatistics[iHistStat]->SetBinContent(icol,fBGStatOffset+kStatRowErrGoodFrac,errGoodFrac);
fHistStatistics[iHistStat]->SetBinContent(icol,fBGStatOffset+kStatRowErrGood,errGood);
#endif
}
}
}
for (Int_t iTrigClass = 0; iTrigClass < kNClasses; iTrigClass++){
delete [] rows[iTrigClass];
}
}
fHistStatistics[0]->Write();
fHistStatistics[1]->Write();
if(fHistBunchCrossing ) fHistBunchCrossing ->Write();
if(fHistTriggerPattern) fHistTriggerPattern->Write();
Int_t count = fCollTrigClasses.GetEntries() + fBGTrigClasses.GetEntries();
for (Int_t i=0; i < count; i++)
{
TString triggerClass = "trigger_histograms_";
if (i < fCollTrigClasses.GetEntries())
triggerClass += ((TObjString*) fCollTrigClasses.At(i))->String();
else
triggerClass += ((TObjString*) fBGTrigClasses.At(i - fCollTrigClasses.GetEntries()))->String();
gDirectory->mkdir(triggerClass);
gDirectory->cd(triggerClass);
static_cast<AliTriggerAnalysis*> (fTriggerAnalysis.At(i))->SaveHistograms();
gDirectory->cd("..");
}
if (folder)
gDirectory->cd("..");
}
Int_t AliPhysicsSelection::GetStatRow(const char * triggerBXClass, UInt_t offlineTriggerType, UInt_t ** rowIDs) const {
if(!fHistStatistics[0]) {
AliWarning("Not initialized, returning 0");
return 0;
}
const Int_t nrows = fHistStatistics[0]->GetNbinsY();
Int_t nMatches = 0;
(*rowIDs) = new UInt_t[nrows];
for(Int_t irow = 1; irow <= nrows; irow++){
TString triggerClassCurrent = fHistStatistics[0]->GetYaxis()->GetBinLabel(irow);
TPRegexp trigType (".*\\&(\\d+).*");
TObjArray * arr = trigType.MatchS(triggerClassCurrent.Data());
if(arr->GetEntries() > 1){
UInt_t tType = ((TObjString*)arr->At(1))->GetString().Atoi();
if (tType == offlineTriggerType && fPSOADB->GetBeamSide(triggerClassCurrent.Data()) == triggerBXClass) {
(*rowIDs)[nMatches] = irow;
nMatches++;
}
}
delete arr;
}
return nMatches;
}
void AliPhysicsSelection::SetBIFactors(const AliESDEvent * aESD) {
if(!aESD) {
AliFatal("ESD not given");
}
Int_t run = aESD->GetRunNumber();
if (run > 105268) {
const AliESDRun* esdRun = aESD->GetESDRun();
Double_t intAB = esdRun->GetMeanIntensityIntecting(0);
Double_t intCB = esdRun->GetMeanIntensityIntecting(1);
Double_t intAA = esdRun->GetMeanIntensityNonIntecting(0);
Double_t intCC = esdRun->GetMeanIntensityNonIntecting(1);
if (intAB > 0 && intAA > 0) {
fBIFactorA = intAB/intAA;
} else {
AliWarning("Cannot set fBIFactorA");
}
if (intCB > 0 && intCC > 0) {
fBIFactorC = intCB/intCC;
} else {
AliWarning("Cannot set fBIFactorC");
}
if (intAB > 0 && intAA > 0 &&
intCB > 0 && intCC > 0) {
fBIFactorAC = (intAB+intCB)/(intAA+intCC);
} else {
AliWarning("Cannot set fBIFactorAC");
}
}
else {
switch(run) {
case 104155:
fBIFactorA = 0.961912722908;
fBIFactorC = 1.04992336081;
break;
case 104157:
fBIFactorA = 0.947312854998;
fBIFactorC = 1.01599706417;
break;
case 104159:
fBIFactorA = 0.93659320151;
fBIFactorC = 0.98580804207;
break;
case 104160:
fBIFactorA = 0.929664189926;
fBIFactorC = 0.963467679851;
break;
case 104315:
fBIFactorA = 1.08939104979;
fBIFactorC = 0.931113921925;
break;
case 104316:
fBIFactorA = 1.08351880974;
fBIFactorC = 0.916068345845;
break;
case 104320:
fBIFactorA = 1.07669281245;
fBIFactorC = 0.876818744763;
break;
case 104321:
fBIFactorA = 1.00971079602;
fBIFactorC = 0.773781299076;
break;
case 104792:
fBIFactorA = 0.787215863962;
fBIFactorC = 0.778253173071;
break;
case 104793:
fBIFactorA = 0.692211363661;
fBIFactorC = 0.733152456667;
break;
case 104799:
fBIFactorA = 1.04027825161;
fBIFactorC = 1.00530825942;
break;
case 104800:
fBIFactorA = 1.05309910671;
fBIFactorC = 1.00376801855;
break;
case 104801:
fBIFactorA = 1.0531231922;
fBIFactorC = 0.992439666758;
break;
case 104802:
fBIFactorA = 1.04191478134;
fBIFactorC = 0.979368585208;
break;
case 104803:
fBIFactorA = 1.03121314094;
fBIFactorC = 0.973379962609;
break;
case 104824:
fBIFactorA = 0.969945926722;
fBIFactorC = 0.39549745806;
break;
case 104825:
fBIFactorA = 0.968627213937;
fBIFactorC = 0.310100412205;
break;
case 104841:
fBIFactorA = 0.991601393212;
fBIFactorC = 0.83762204722;
break;
case 104845:
fBIFactorA = 0.98040863886;
fBIFactorC = 0.694824205793;
break;
case 104867:
fBIFactorA = 1.10646173412;
fBIFactorC = 0.841407246916;
break;
case 104876:
fBIFactorA = 1.12063452421;
fBIFactorC = 0.78726542895;
break;
case 104890:
fBIFactorA = 1.02346137453;
fBIFactorC = 1.03355663595;
break;
case 104892:
fBIFactorA = 1.05406025913;
fBIFactorC = 1.00029166135;
break;
case 105143:
fBIFactorA = 0.947343384349;
fBIFactorC = 0.972637444408;
break;
case 105160:
fBIFactorA = 0.908854622177;
fBIFactorC = 0.958851103977;
break;
case 105256:
fBIFactorA = 0.810076150206;
fBIFactorC = 0.884663561883;
break;
case 105257:
fBIFactorA = 0.80974912303;
fBIFactorC = 0.878859123479;
break;
case 105268:
fBIFactorA = 0.809052110679;
fBIFactorC = 0.87233890989;
break;
default:
fBIFactorA = 1;
fBIFactorC = 1;
}
}
}
const char * AliPhysicsSelection::GetTriggerString(TObjString * obj) {
static TString retString;
retString.Form("%s%s",
obj->String().Data(),
fUseBXNumbers ? fFillOADB->GetBXIDs(fPSOADB->GetBeamSide(obj->String().Data())) : ""
);
if (fMC) {
TPRegexp stripClasses("\\+\\S* ");
stripClasses.Substitute(retString,"","g");
stripClasses=TPRegexp("\\-\\S* ");
stripClasses.Substitute(retString,"","g");
}
return retString.Data();
}
void AliPhysicsSelection::AddCollisionTriggerClass(const char* className){
AliError("This method is deprecated! Will be removed soon! Please use SetCustomOADBObjects() instead!");
if(!fPSOADB) {
fPSOADB = new AliOADBPhysicsSelection("CustomPS");
fPSOADB->SetHardwareTrigger ( 0,"SPDGFO >= 1 || V0A || V0C");
fPSOADB->SetOfflineTrigger ( 0,"(SPDGFO >= 1 || V0A || V0C) && !V0ABG && !V0CBG");
}
TString classNameStripped = className;
if(classNameStripped.Index("*")>0)
classNameStripped.Remove(classNameStripped.Index("*"));
if(classNameStripped.Index("&")>0)
classNameStripped.Remove(classNameStripped.Index("&"));
fPSOADB->AddCollisionTriggerClass ( AliVEvent::kUserDefined,classNameStripped.Data(),"B",0);
fUsingCustomClasses = kTRUE;
}
void AliPhysicsSelection::AddBGTriggerClass(const char* className){
AliError("This method is deprecated! Will be removed soon! Please use SetCustomOADBObjects() instead!");
if(!fPSOADB) {
fPSOADB = new AliOADBPhysicsSelection("CustomPS");
fPSOADB->SetHardwareTrigger ( 0,"SPDGFO >= 1 || V0A || V0C");
fPSOADB->SetOfflineTrigger ( 0,"(SPDGFO >= 1 || V0A || V0C) && !V0ABG && !V0CBG");
}
TString classNameStripped = className;
if(classNameStripped.Index("*")>0)
classNameStripped.Remove(classNameStripped.Index("*"));
if(classNameStripped.Index("&")>0)
classNameStripped.Remove(classNameStripped.Index("&"));
fPSOADB->AddBGTriggerClass ( AliVEvent::kUserDefined,classNameStripped.Data(),"AC",0);
fUsingCustomClasses = kTRUE;
}
void AliPhysicsSelection::DetectPassName(){
if (fMC) return;
AliInputEventHandler* handler = dynamic_cast<AliInputEventHandler*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
if (!handler) return;
TObject* prodInfoData = handler->GetUserInfo()->FindObject("alirootVersion");
TString filePath = handler->GetTree()->GetCurrentFile()->GetName();
if (prodInfoData) {
TString str(prodInfoData->GetTitle());
TObjArray* tokens = str.Tokenize(";");
for (Int_t i=0;i<=tokens->GetLast();i++) {
TObjString* stObj = (TObjString*) tokens->At(i);
TString s = stObj->GetString();
if (s.Contains("OutputDir")) {
filePath = s;
break;
}
}
delete tokens;
}
TString passName="";
TObjArray* tokens = filePath.Tokenize("/");
for (Int_t i=0;i<=tokens->GetLast();i++) {
TObjString* stObj = (TObjString*) tokens->At(i);
TString s = stObj->GetString();
if (s.Contains("pass")) {
passName = s;
break;
}
}
delete tokens;
if (passName.Contains("_pass")){
TObjArray* tokens2 = filePath.Tokenize("_");
for (Int_t i=0;i<=tokens2->GetLast();i++) {
TObjString* stObj = (TObjString*) tokens2->At(i);
TString s = stObj->GetString();
if (s.Contains("pass")) {
passName = s;
break;
}
}
delete tokens2;
}
if (!passName.Contains("pass")){
AliError(" Failed to find reconstruction pass name:");
AliError(" --> If these are MC data: please set kTRUE first argument of AddTaskPhysicsSelection");
AliError(" --> If these are real data: please insert pass name inside the path of your local file, e.g. /your_path/pass2/AliESDs.root");
AliError(" --> Setting default pass name...");
passName = "default";
}
AliInfo(Form("pass name: %s\n",passName.Data()));
fPassName = passName;
}
AliPhysicsSelection.cxx:1 AliPhysicsSelection.cxx:2 AliPhysicsSelection.cxx:3 AliPhysicsSelection.cxx:4 AliPhysicsSelection.cxx:5 AliPhysicsSelection.cxx:6 AliPhysicsSelection.cxx:7 AliPhysicsSelection.cxx:8 AliPhysicsSelection.cxx:9 AliPhysicsSelection.cxx:10 AliPhysicsSelection.cxx:11 AliPhysicsSelection.cxx:12 AliPhysicsSelection.cxx:13 AliPhysicsSelection.cxx:14 AliPhysicsSelection.cxx:15 AliPhysicsSelection.cxx:16 AliPhysicsSelection.cxx:17 AliPhysicsSelection.cxx:18 AliPhysicsSelection.cxx:19 AliPhysicsSelection.cxx:20 AliPhysicsSelection.cxx:21 AliPhysicsSelection.cxx:22 AliPhysicsSelection.cxx:23 AliPhysicsSelection.cxx:24 AliPhysicsSelection.cxx:25 AliPhysicsSelection.cxx:26 AliPhysicsSelection.cxx:27 AliPhysicsSelection.cxx:28 AliPhysicsSelection.cxx:29 AliPhysicsSelection.cxx:30 AliPhysicsSelection.cxx:31 AliPhysicsSelection.cxx:32 AliPhysicsSelection.cxx:33 AliPhysicsSelection.cxx:34 AliPhysicsSelection.cxx:35 AliPhysicsSelection.cxx:36 AliPhysicsSelection.cxx:37 AliPhysicsSelection.cxx:38 AliPhysicsSelection.cxx:39 AliPhysicsSelection.cxx:40 AliPhysicsSelection.cxx:41 AliPhysicsSelection.cxx:42 AliPhysicsSelection.cxx:43 AliPhysicsSelection.cxx:44 AliPhysicsSelection.cxx:45 AliPhysicsSelection.cxx:46 AliPhysicsSelection.cxx:47 AliPhysicsSelection.cxx:48 AliPhysicsSelection.cxx:49 AliPhysicsSelection.cxx:50 AliPhysicsSelection.cxx:51 AliPhysicsSelection.cxx:52 AliPhysicsSelection.cxx:53 AliPhysicsSelection.cxx:54 AliPhysicsSelection.cxx:55 AliPhysicsSelection.cxx:56 AliPhysicsSelection.cxx:57 AliPhysicsSelection.cxx:58 AliPhysicsSelection.cxx:59 AliPhysicsSelection.cxx:60 AliPhysicsSelection.cxx:61 AliPhysicsSelection.cxx:62 AliPhysicsSelection.cxx:63 AliPhysicsSelection.cxx:64 AliPhysicsSelection.cxx:65 AliPhysicsSelection.cxx:66 AliPhysicsSelection.cxx:67 AliPhysicsSelection.cxx:68 AliPhysicsSelection.cxx:69 AliPhysicsSelection.cxx:70 AliPhysicsSelection.cxx:71 AliPhysicsSelection.cxx:72 AliPhysicsSelection.cxx:73 AliPhysicsSelection.cxx:74 AliPhysicsSelection.cxx:75 AliPhysicsSelection.cxx:76 AliPhysicsSelection.cxx:77 AliPhysicsSelection.cxx:78 AliPhysicsSelection.cxx:79 AliPhysicsSelection.cxx:80 AliPhysicsSelection.cxx:81 AliPhysicsSelection.cxx:82 AliPhysicsSelection.cxx:83 AliPhysicsSelection.cxx:84 AliPhysicsSelection.cxx:85 AliPhysicsSelection.cxx:86 AliPhysicsSelection.cxx:87 AliPhysicsSelection.cxx:88 AliPhysicsSelection.cxx:89 AliPhysicsSelection.cxx:90 AliPhysicsSelection.cxx:91 AliPhysicsSelection.cxx:92 AliPhysicsSelection.cxx:93 AliPhysicsSelection.cxx:94 AliPhysicsSelection.cxx:95 AliPhysicsSelection.cxx:96 AliPhysicsSelection.cxx:97 AliPhysicsSelection.cxx:98 AliPhysicsSelection.cxx:99 AliPhysicsSelection.cxx:100 AliPhysicsSelection.cxx:101 AliPhysicsSelection.cxx:102 AliPhysicsSelection.cxx:103 AliPhysicsSelection.cxx:104 AliPhysicsSelection.cxx:105 AliPhysicsSelection.cxx:106 AliPhysicsSelection.cxx:107 AliPhysicsSelection.cxx:108 AliPhysicsSelection.cxx:109 AliPhysicsSelection.cxx:110 AliPhysicsSelection.cxx:111 AliPhysicsSelection.cxx:112 AliPhysicsSelection.cxx:113 AliPhysicsSelection.cxx:114 AliPhysicsSelection.cxx:115 AliPhysicsSelection.cxx:116 AliPhysicsSelection.cxx:117 AliPhysicsSelection.cxx:118 AliPhysicsSelection.cxx:119 AliPhysicsSelection.cxx:120 AliPhysicsSelection.cxx:121 AliPhysicsSelection.cxx:122 AliPhysicsSelection.cxx:123 AliPhysicsSelection.cxx:124 AliPhysicsSelection.cxx:125 AliPhysicsSelection.cxx:126 AliPhysicsSelection.cxx:127 AliPhysicsSelection.cxx:128 AliPhysicsSelection.cxx:129 AliPhysicsSelection.cxx:130 AliPhysicsSelection.cxx:131 AliPhysicsSelection.cxx:132 AliPhysicsSelection.cxx:133 AliPhysicsSelection.cxx:134 AliPhysicsSelection.cxx:135 AliPhysicsSelection.cxx:136 AliPhysicsSelection.cxx:137 AliPhysicsSelection.cxx:138 AliPhysicsSelection.cxx:139 AliPhysicsSelection.cxx:140 AliPhysicsSelection.cxx:141 AliPhysicsSelection.cxx:142 AliPhysicsSelection.cxx:143 AliPhysicsSelection.cxx:144 AliPhysicsSelection.cxx:145 AliPhysicsSelection.cxx:146 AliPhysicsSelection.cxx:147 AliPhysicsSelection.cxx:148 AliPhysicsSelection.cxx:149 AliPhysicsSelection.cxx:150 AliPhysicsSelection.cxx:151 AliPhysicsSelection.cxx:152 AliPhysicsSelection.cxx:153 AliPhysicsSelection.cxx:154 AliPhysicsSelection.cxx:155 AliPhysicsSelection.cxx:156 AliPhysicsSelection.cxx:157 AliPhysicsSelection.cxx:158 AliPhysicsSelection.cxx:159 AliPhysicsSelection.cxx:160 AliPhysicsSelection.cxx:161 AliPhysicsSelection.cxx:162 AliPhysicsSelection.cxx:163 AliPhysicsSelection.cxx:164 AliPhysicsSelection.cxx:165 AliPhysicsSelection.cxx:166 AliPhysicsSelection.cxx:167 AliPhysicsSelection.cxx:168 AliPhysicsSelection.cxx:169 AliPhysicsSelection.cxx:170 AliPhysicsSelection.cxx:171 AliPhysicsSelection.cxx:172 AliPhysicsSelection.cxx:173 AliPhysicsSelection.cxx:174 AliPhysicsSelection.cxx:175 AliPhysicsSelection.cxx:176 AliPhysicsSelection.cxx:177 AliPhysicsSelection.cxx:178 AliPhysicsSelection.cxx:179 AliPhysicsSelection.cxx:180 AliPhysicsSelection.cxx:181 AliPhysicsSelection.cxx:182 AliPhysicsSelection.cxx:183 AliPhysicsSelection.cxx:184 AliPhysicsSelection.cxx:185 AliPhysicsSelection.cxx:186 AliPhysicsSelection.cxx:187 AliPhysicsSelection.cxx:188 AliPhysicsSelection.cxx:189 AliPhysicsSelection.cxx:190 AliPhysicsSelection.cxx:191 AliPhysicsSelection.cxx:192 AliPhysicsSelection.cxx:193 AliPhysicsSelection.cxx:194 AliPhysicsSelection.cxx:195 AliPhysicsSelection.cxx:196 AliPhysicsSelection.cxx:197 AliPhysicsSelection.cxx:198 AliPhysicsSelection.cxx:199 AliPhysicsSelection.cxx:200 AliPhysicsSelection.cxx:201 AliPhysicsSelection.cxx:202 AliPhysicsSelection.cxx:203 AliPhysicsSelection.cxx:204 AliPhysicsSelection.cxx:205 AliPhysicsSelection.cxx:206 AliPhysicsSelection.cxx:207 AliPhysicsSelection.cxx:208 AliPhysicsSelection.cxx:209 AliPhysicsSelection.cxx:210 AliPhysicsSelection.cxx:211 AliPhysicsSelection.cxx:212 AliPhysicsSelection.cxx:213 AliPhysicsSelection.cxx:214 AliPhysicsSelection.cxx:215 AliPhysicsSelection.cxx:216 AliPhysicsSelection.cxx:217 AliPhysicsSelection.cxx:218 AliPhysicsSelection.cxx:219 AliPhysicsSelection.cxx:220 AliPhysicsSelection.cxx:221 AliPhysicsSelection.cxx:222 AliPhysicsSelection.cxx:223 AliPhysicsSelection.cxx:224 AliPhysicsSelection.cxx:225 AliPhysicsSelection.cxx:226 AliPhysicsSelection.cxx:227 AliPhysicsSelection.cxx:228 AliPhysicsSelection.cxx:229 AliPhysicsSelection.cxx:230 AliPhysicsSelection.cxx:231 AliPhysicsSelection.cxx:232 AliPhysicsSelection.cxx:233 AliPhysicsSelection.cxx:234 AliPhysicsSelection.cxx:235 AliPhysicsSelection.cxx:236 AliPhysicsSelection.cxx:237 AliPhysicsSelection.cxx:238 AliPhysicsSelection.cxx:239 AliPhysicsSelection.cxx:240 AliPhysicsSelection.cxx:241 AliPhysicsSelection.cxx:242 AliPhysicsSelection.cxx:243 AliPhysicsSelection.cxx:244 AliPhysicsSelection.cxx:245 AliPhysicsSelection.cxx:246 AliPhysicsSelection.cxx:247 AliPhysicsSelection.cxx:248 AliPhysicsSelection.cxx:249 AliPhysicsSelection.cxx:250 AliPhysicsSelection.cxx:251 AliPhysicsSelection.cxx:252 AliPhysicsSelection.cxx:253 AliPhysicsSelection.cxx:254 AliPhysicsSelection.cxx:255 AliPhysicsSelection.cxx:256 AliPhysicsSelection.cxx:257 AliPhysicsSelection.cxx:258 AliPhysicsSelection.cxx:259 AliPhysicsSelection.cxx:260 AliPhysicsSelection.cxx:261 AliPhysicsSelection.cxx:262 AliPhysicsSelection.cxx:263 AliPhysicsSelection.cxx:264 AliPhysicsSelection.cxx:265 AliPhysicsSelection.cxx:266 AliPhysicsSelection.cxx:267 AliPhysicsSelection.cxx:268 AliPhysicsSelection.cxx:269 AliPhysicsSelection.cxx:270 AliPhysicsSelection.cxx:271 AliPhysicsSelection.cxx:272 AliPhysicsSelection.cxx:273 AliPhysicsSelection.cxx:274 AliPhysicsSelection.cxx:275 AliPhysicsSelection.cxx:276 AliPhysicsSelection.cxx:277 AliPhysicsSelection.cxx:278 AliPhysicsSelection.cxx:279 AliPhysicsSelection.cxx:280 AliPhysicsSelection.cxx:281 AliPhysicsSelection.cxx:282 AliPhysicsSelection.cxx:283 AliPhysicsSelection.cxx:284 AliPhysicsSelection.cxx:285 AliPhysicsSelection.cxx:286 AliPhysicsSelection.cxx:287 AliPhysicsSelection.cxx:288 AliPhysicsSelection.cxx:289 AliPhysicsSelection.cxx:290 AliPhysicsSelection.cxx:291 AliPhysicsSelection.cxx:292 AliPhysicsSelection.cxx:293 AliPhysicsSelection.cxx:294 AliPhysicsSelection.cxx:295 AliPhysicsSelection.cxx:296 AliPhysicsSelection.cxx:297 AliPhysicsSelection.cxx:298 AliPhysicsSelection.cxx:299 AliPhysicsSelection.cxx:300 AliPhysicsSelection.cxx:301 AliPhysicsSelection.cxx:302 AliPhysicsSelection.cxx:303 AliPhysicsSelection.cxx:304 AliPhysicsSelection.cxx:305 AliPhysicsSelection.cxx:306 AliPhysicsSelection.cxx:307 AliPhysicsSelection.cxx:308 AliPhysicsSelection.cxx:309 AliPhysicsSelection.cxx:310 AliPhysicsSelection.cxx:311 AliPhysicsSelection.cxx:312 AliPhysicsSelection.cxx:313 AliPhysicsSelection.cxx:314 AliPhysicsSelection.cxx:315 AliPhysicsSelection.cxx:316 AliPhysicsSelection.cxx:317 AliPhysicsSelection.cxx:318 AliPhysicsSelection.cxx:319 AliPhysicsSelection.cxx:320 AliPhysicsSelection.cxx:321 AliPhysicsSelection.cxx:322 AliPhysicsSelection.cxx:323 AliPhysicsSelection.cxx:324 AliPhysicsSelection.cxx:325 AliPhysicsSelection.cxx:326 AliPhysicsSelection.cxx:327 AliPhysicsSelection.cxx:328 AliPhysicsSelection.cxx:329 AliPhysicsSelection.cxx:330 AliPhysicsSelection.cxx:331 AliPhysicsSelection.cxx:332 AliPhysicsSelection.cxx:333 AliPhysicsSelection.cxx:334 AliPhysicsSelection.cxx:335 AliPhysicsSelection.cxx:336 AliPhysicsSelection.cxx:337 AliPhysicsSelection.cxx:338 AliPhysicsSelection.cxx:339 AliPhysicsSelection.cxx:340 AliPhysicsSelection.cxx:341 AliPhysicsSelection.cxx:342 AliPhysicsSelection.cxx:343 AliPhysicsSelection.cxx:344 AliPhysicsSelection.cxx:345 AliPhysicsSelection.cxx:346 AliPhysicsSelection.cxx:347 AliPhysicsSelection.cxx:348 AliPhysicsSelection.cxx:349 AliPhysicsSelection.cxx:350 AliPhysicsSelection.cxx:351 AliPhysicsSelection.cxx:352 AliPhysicsSelection.cxx:353 AliPhysicsSelection.cxx:354 AliPhysicsSelection.cxx:355 AliPhysicsSelection.cxx:356 AliPhysicsSelection.cxx:357 AliPhysicsSelection.cxx:358 AliPhysicsSelection.cxx:359 AliPhysicsSelection.cxx:360 AliPhysicsSelection.cxx:361 AliPhysicsSelection.cxx:362 AliPhysicsSelection.cxx:363 AliPhysicsSelection.cxx:364 AliPhysicsSelection.cxx:365 AliPhysicsSelection.cxx:366 AliPhysicsSelection.cxx:367 AliPhysicsSelection.cxx:368 AliPhysicsSelection.cxx:369 AliPhysicsSelection.cxx:370 AliPhysicsSelection.cxx:371 AliPhysicsSelection.cxx:372 AliPhysicsSelection.cxx:373 AliPhysicsSelection.cxx:374 AliPhysicsSelection.cxx:375 AliPhysicsSelection.cxx:376 AliPhysicsSelection.cxx:377 AliPhysicsSelection.cxx:378 AliPhysicsSelection.cxx:379 AliPhysicsSelection.cxx:380 AliPhysicsSelection.cxx:381 AliPhysicsSelection.cxx:382 AliPhysicsSelection.cxx:383 AliPhysicsSelection.cxx:384 AliPhysicsSelection.cxx:385 AliPhysicsSelection.cxx:386 AliPhysicsSelection.cxx:387 AliPhysicsSelection.cxx:388 AliPhysicsSelection.cxx:389 AliPhysicsSelection.cxx:390 AliPhysicsSelection.cxx:391 AliPhysicsSelection.cxx:392 AliPhysicsSelection.cxx:393 AliPhysicsSelection.cxx:394 AliPhysicsSelection.cxx:395 AliPhysicsSelection.cxx:396 AliPhysicsSelection.cxx:397 AliPhysicsSelection.cxx:398 AliPhysicsSelection.cxx:399 AliPhysicsSelection.cxx:400 AliPhysicsSelection.cxx:401 AliPhysicsSelection.cxx:402 AliPhysicsSelection.cxx:403 AliPhysicsSelection.cxx:404 AliPhysicsSelection.cxx:405 AliPhysicsSelection.cxx:406 AliPhysicsSelection.cxx:407 AliPhysicsSelection.cxx:408 AliPhysicsSelection.cxx:409 AliPhysicsSelection.cxx:410 AliPhysicsSelection.cxx:411 AliPhysicsSelection.cxx:412 AliPhysicsSelection.cxx:413 AliPhysicsSelection.cxx:414 AliPhysicsSelection.cxx:415 AliPhysicsSelection.cxx:416 AliPhysicsSelection.cxx:417 AliPhysicsSelection.cxx:418 AliPhysicsSelection.cxx:419 AliPhysicsSelection.cxx:420 AliPhysicsSelection.cxx:421 AliPhysicsSelection.cxx:422 AliPhysicsSelection.cxx:423 AliPhysicsSelection.cxx:424 AliPhysicsSelection.cxx:425 AliPhysicsSelection.cxx:426 AliPhysicsSelection.cxx:427 AliPhysicsSelection.cxx:428 AliPhysicsSelection.cxx:429 AliPhysicsSelection.cxx:430 AliPhysicsSelection.cxx:431 AliPhysicsSelection.cxx:432 AliPhysicsSelection.cxx:433 AliPhysicsSelection.cxx:434 AliPhysicsSelection.cxx:435 AliPhysicsSelection.cxx:436 AliPhysicsSelection.cxx:437 AliPhysicsSelection.cxx:438 AliPhysicsSelection.cxx:439 AliPhysicsSelection.cxx:440 AliPhysicsSelection.cxx:441 AliPhysicsSelection.cxx:442 AliPhysicsSelection.cxx:443 AliPhysicsSelection.cxx:444 AliPhysicsSelection.cxx:445 AliPhysicsSelection.cxx:446 AliPhysicsSelection.cxx:447 AliPhysicsSelection.cxx:448 AliPhysicsSelection.cxx:449 AliPhysicsSelection.cxx:450 AliPhysicsSelection.cxx:451 AliPhysicsSelection.cxx:452 AliPhysicsSelection.cxx:453 AliPhysicsSelection.cxx:454 AliPhysicsSelection.cxx:455 AliPhysicsSelection.cxx:456 AliPhysicsSelection.cxx:457 AliPhysicsSelection.cxx:458 AliPhysicsSelection.cxx:459 AliPhysicsSelection.cxx:460 AliPhysicsSelection.cxx:461 AliPhysicsSelection.cxx:462 AliPhysicsSelection.cxx:463 AliPhysicsSelection.cxx:464 AliPhysicsSelection.cxx:465 AliPhysicsSelection.cxx:466 AliPhysicsSelection.cxx:467 AliPhysicsSelection.cxx:468 AliPhysicsSelection.cxx:469 AliPhysicsSelection.cxx:470 AliPhysicsSelection.cxx:471 AliPhysicsSelection.cxx:472 AliPhysicsSelection.cxx:473 AliPhysicsSelection.cxx:474 AliPhysicsSelection.cxx:475 AliPhysicsSelection.cxx:476 AliPhysicsSelection.cxx:477 AliPhysicsSelection.cxx:478 AliPhysicsSelection.cxx:479 AliPhysicsSelection.cxx:480 AliPhysicsSelection.cxx:481 AliPhysicsSelection.cxx:482 AliPhysicsSelection.cxx:483 AliPhysicsSelection.cxx:484 AliPhysicsSelection.cxx:485 AliPhysicsSelection.cxx:486 AliPhysicsSelection.cxx:487 AliPhysicsSelection.cxx:488 AliPhysicsSelection.cxx:489 AliPhysicsSelection.cxx:490 AliPhysicsSelection.cxx:491 AliPhysicsSelection.cxx:492 AliPhysicsSelection.cxx:493 AliPhysicsSelection.cxx:494 AliPhysicsSelection.cxx:495 AliPhysicsSelection.cxx:496 AliPhysicsSelection.cxx:497 AliPhysicsSelection.cxx:498 AliPhysicsSelection.cxx:499 AliPhysicsSelection.cxx:500 AliPhysicsSelection.cxx:501 AliPhysicsSelection.cxx:502 AliPhysicsSelection.cxx:503 AliPhysicsSelection.cxx:504 AliPhysicsSelection.cxx:505 AliPhysicsSelection.cxx:506 AliPhysicsSelection.cxx:507 AliPhysicsSelection.cxx:508 AliPhysicsSelection.cxx:509 AliPhysicsSelection.cxx:510 AliPhysicsSelection.cxx:511 AliPhysicsSelection.cxx:512 AliPhysicsSelection.cxx:513 AliPhysicsSelection.cxx:514 AliPhysicsSelection.cxx:515 AliPhysicsSelection.cxx:516 AliPhysicsSelection.cxx:517 AliPhysicsSelection.cxx:518 AliPhysicsSelection.cxx:519 AliPhysicsSelection.cxx:520 AliPhysicsSelection.cxx:521 AliPhysicsSelection.cxx:522 AliPhysicsSelection.cxx:523 AliPhysicsSelection.cxx:524 AliPhysicsSelection.cxx:525 AliPhysicsSelection.cxx:526 AliPhysicsSelection.cxx:527 AliPhysicsSelection.cxx:528 AliPhysicsSelection.cxx:529 AliPhysicsSelection.cxx:530 AliPhysicsSelection.cxx:531 AliPhysicsSelection.cxx:532 AliPhysicsSelection.cxx:533 AliPhysicsSelection.cxx:534 AliPhysicsSelection.cxx:535 AliPhysicsSelection.cxx:536 AliPhysicsSelection.cxx:537 AliPhysicsSelection.cxx:538 AliPhysicsSelection.cxx:539 AliPhysicsSelection.cxx:540 AliPhysicsSelection.cxx:541 AliPhysicsSelection.cxx:542 AliPhysicsSelection.cxx:543 AliPhysicsSelection.cxx:544 AliPhysicsSelection.cxx:545 AliPhysicsSelection.cxx:546 AliPhysicsSelection.cxx:547 AliPhysicsSelection.cxx:548 AliPhysicsSelection.cxx:549 AliPhysicsSelection.cxx:550 AliPhysicsSelection.cxx:551 AliPhysicsSelection.cxx:552 AliPhysicsSelection.cxx:553 AliPhysicsSelection.cxx:554 AliPhysicsSelection.cxx:555 AliPhysicsSelection.cxx:556 AliPhysicsSelection.cxx:557 AliPhysicsSelection.cxx:558 AliPhysicsSelection.cxx:559 AliPhysicsSelection.cxx:560 AliPhysicsSelection.cxx:561 AliPhysicsSelection.cxx:562 AliPhysicsSelection.cxx:563 AliPhysicsSelection.cxx:564 AliPhysicsSelection.cxx:565 AliPhysicsSelection.cxx:566 AliPhysicsSelection.cxx:567 AliPhysicsSelection.cxx:568 AliPhysicsSelection.cxx:569 AliPhysicsSelection.cxx:570 AliPhysicsSelection.cxx:571 AliPhysicsSelection.cxx:572 AliPhysicsSelection.cxx:573 AliPhysicsSelection.cxx:574 AliPhysicsSelection.cxx:575 AliPhysicsSelection.cxx:576 AliPhysicsSelection.cxx:577 AliPhysicsSelection.cxx:578 AliPhysicsSelection.cxx:579 AliPhysicsSelection.cxx:580 AliPhysicsSelection.cxx:581 AliPhysicsSelection.cxx:582 AliPhysicsSelection.cxx:583 AliPhysicsSelection.cxx:584 AliPhysicsSelection.cxx:585 AliPhysicsSelection.cxx:586 AliPhysicsSelection.cxx:587 AliPhysicsSelection.cxx:588 AliPhysicsSelection.cxx:589 AliPhysicsSelection.cxx:590 AliPhysicsSelection.cxx:591 AliPhysicsSelection.cxx:592 AliPhysicsSelection.cxx:593 AliPhysicsSelection.cxx:594 AliPhysicsSelection.cxx:595 AliPhysicsSelection.cxx:596 AliPhysicsSelection.cxx:597 AliPhysicsSelection.cxx:598 AliPhysicsSelection.cxx:599 AliPhysicsSelection.cxx:600 AliPhysicsSelection.cxx:601 AliPhysicsSelection.cxx:602 AliPhysicsSelection.cxx:603 AliPhysicsSelection.cxx:604 AliPhysicsSelection.cxx:605 AliPhysicsSelection.cxx:606 AliPhysicsSelection.cxx:607 AliPhysicsSelection.cxx:608 AliPhysicsSelection.cxx:609 AliPhysicsSelection.cxx:610 AliPhysicsSelection.cxx:611 AliPhysicsSelection.cxx:612 AliPhysicsSelection.cxx:613 AliPhysicsSelection.cxx:614 AliPhysicsSelection.cxx:615 AliPhysicsSelection.cxx:616 AliPhysicsSelection.cxx:617 AliPhysicsSelection.cxx:618 AliPhysicsSelection.cxx:619 AliPhysicsSelection.cxx:620 AliPhysicsSelection.cxx:621 AliPhysicsSelection.cxx:622 AliPhysicsSelection.cxx:623 AliPhysicsSelection.cxx:624 AliPhysicsSelection.cxx:625 AliPhysicsSelection.cxx:626 AliPhysicsSelection.cxx:627 AliPhysicsSelection.cxx:628 AliPhysicsSelection.cxx:629 AliPhysicsSelection.cxx:630 AliPhysicsSelection.cxx:631 AliPhysicsSelection.cxx:632 AliPhysicsSelection.cxx:633 AliPhysicsSelection.cxx:634 AliPhysicsSelection.cxx:635 AliPhysicsSelection.cxx:636 AliPhysicsSelection.cxx:637 AliPhysicsSelection.cxx:638 AliPhysicsSelection.cxx:639 AliPhysicsSelection.cxx:640 AliPhysicsSelection.cxx:641 AliPhysicsSelection.cxx:642 AliPhysicsSelection.cxx:643 AliPhysicsSelection.cxx:644 AliPhysicsSelection.cxx:645 AliPhysicsSelection.cxx:646 AliPhysicsSelection.cxx:647 AliPhysicsSelection.cxx:648 AliPhysicsSelection.cxx:649 AliPhysicsSelection.cxx:650 AliPhysicsSelection.cxx:651 AliPhysicsSelection.cxx:652 AliPhysicsSelection.cxx:653 AliPhysicsSelection.cxx:654 AliPhysicsSelection.cxx:655 AliPhysicsSelection.cxx:656 AliPhysicsSelection.cxx:657 AliPhysicsSelection.cxx:658 AliPhysicsSelection.cxx:659 AliPhysicsSelection.cxx:660 AliPhysicsSelection.cxx:661 AliPhysicsSelection.cxx:662 AliPhysicsSelection.cxx:663 AliPhysicsSelection.cxx:664 AliPhysicsSelection.cxx:665 AliPhysicsSelection.cxx:666 AliPhysicsSelection.cxx:667 AliPhysicsSelection.cxx:668 AliPhysicsSelection.cxx:669 AliPhysicsSelection.cxx:670 AliPhysicsSelection.cxx:671 AliPhysicsSelection.cxx:672 AliPhysicsSelection.cxx:673 AliPhysicsSelection.cxx:674 AliPhysicsSelection.cxx:675 AliPhysicsSelection.cxx:676 AliPhysicsSelection.cxx:677 AliPhysicsSelection.cxx:678 AliPhysicsSelection.cxx:679 AliPhysicsSelection.cxx:680 AliPhysicsSelection.cxx:681 AliPhysicsSelection.cxx:682 AliPhysicsSelection.cxx:683 AliPhysicsSelection.cxx:684 AliPhysicsSelection.cxx:685 AliPhysicsSelection.cxx:686 AliPhysicsSelection.cxx:687 AliPhysicsSelection.cxx:688 AliPhysicsSelection.cxx:689 AliPhysicsSelection.cxx:690 AliPhysicsSelection.cxx:691 AliPhysicsSelection.cxx:692 AliPhysicsSelection.cxx:693 AliPhysicsSelection.cxx:694 AliPhysicsSelection.cxx:695 AliPhysicsSelection.cxx:696 AliPhysicsSelection.cxx:697 AliPhysicsSelection.cxx:698 AliPhysicsSelection.cxx:699 AliPhysicsSelection.cxx:700 AliPhysicsSelection.cxx:701 AliPhysicsSelection.cxx:702 AliPhysicsSelection.cxx:703 AliPhysicsSelection.cxx:704 AliPhysicsSelection.cxx:705 AliPhysicsSelection.cxx:706 AliPhysicsSelection.cxx:707 AliPhysicsSelection.cxx:708 AliPhysicsSelection.cxx:709 AliPhysicsSelection.cxx:710 AliPhysicsSelection.cxx:711 AliPhysicsSelection.cxx:712 AliPhysicsSelection.cxx:713 AliPhysicsSelection.cxx:714 AliPhysicsSelection.cxx:715 AliPhysicsSelection.cxx:716 AliPhysicsSelection.cxx:717 AliPhysicsSelection.cxx:718 AliPhysicsSelection.cxx:719 AliPhysicsSelection.cxx:720 AliPhysicsSelection.cxx:721 AliPhysicsSelection.cxx:722 AliPhysicsSelection.cxx:723 AliPhysicsSelection.cxx:724 AliPhysicsSelection.cxx:725 AliPhysicsSelection.cxx:726 AliPhysicsSelection.cxx:727 AliPhysicsSelection.cxx:728 AliPhysicsSelection.cxx:729 AliPhysicsSelection.cxx:730 AliPhysicsSelection.cxx:731 AliPhysicsSelection.cxx:732 AliPhysicsSelection.cxx:733 AliPhysicsSelection.cxx:734 AliPhysicsSelection.cxx:735 AliPhysicsSelection.cxx:736 AliPhysicsSelection.cxx:737 AliPhysicsSelection.cxx:738 AliPhysicsSelection.cxx:739 AliPhysicsSelection.cxx:740 AliPhysicsSelection.cxx:741 AliPhysicsSelection.cxx:742 AliPhysicsSelection.cxx:743 AliPhysicsSelection.cxx:744 AliPhysicsSelection.cxx:745 AliPhysicsSelection.cxx:746 AliPhysicsSelection.cxx:747 AliPhysicsSelection.cxx:748 AliPhysicsSelection.cxx:749 AliPhysicsSelection.cxx:750 AliPhysicsSelection.cxx:751 AliPhysicsSelection.cxx:752 AliPhysicsSelection.cxx:753 AliPhysicsSelection.cxx:754 AliPhysicsSelection.cxx:755 AliPhysicsSelection.cxx:756 AliPhysicsSelection.cxx:757 AliPhysicsSelection.cxx:758 AliPhysicsSelection.cxx:759 AliPhysicsSelection.cxx:760 AliPhysicsSelection.cxx:761 AliPhysicsSelection.cxx:762 AliPhysicsSelection.cxx:763 AliPhysicsSelection.cxx:764 AliPhysicsSelection.cxx:765 AliPhysicsSelection.cxx:766 AliPhysicsSelection.cxx:767 AliPhysicsSelection.cxx:768 AliPhysicsSelection.cxx:769 AliPhysicsSelection.cxx:770 AliPhysicsSelection.cxx:771 AliPhysicsSelection.cxx:772 AliPhysicsSelection.cxx:773 AliPhysicsSelection.cxx:774 AliPhysicsSelection.cxx:775 AliPhysicsSelection.cxx:776 AliPhysicsSelection.cxx:777 AliPhysicsSelection.cxx:778 AliPhysicsSelection.cxx:779 AliPhysicsSelection.cxx:780 AliPhysicsSelection.cxx:781 AliPhysicsSelection.cxx:782 AliPhysicsSelection.cxx:783 AliPhysicsSelection.cxx:784 AliPhysicsSelection.cxx:785 AliPhysicsSelection.cxx:786 AliPhysicsSelection.cxx:787 AliPhysicsSelection.cxx:788 AliPhysicsSelection.cxx:789 AliPhysicsSelection.cxx:790 AliPhysicsSelection.cxx:791 AliPhysicsSelection.cxx:792 AliPhysicsSelection.cxx:793 AliPhysicsSelection.cxx:794 AliPhysicsSelection.cxx:795 AliPhysicsSelection.cxx:796 AliPhysicsSelection.cxx:797 AliPhysicsSelection.cxx:798 AliPhysicsSelection.cxx:799 AliPhysicsSelection.cxx:800 AliPhysicsSelection.cxx:801 AliPhysicsSelection.cxx:802 AliPhysicsSelection.cxx:803 AliPhysicsSelection.cxx:804 AliPhysicsSelection.cxx:805 AliPhysicsSelection.cxx:806 AliPhysicsSelection.cxx:807 AliPhysicsSelection.cxx:808 AliPhysicsSelection.cxx:809 AliPhysicsSelection.cxx:810 AliPhysicsSelection.cxx:811 AliPhysicsSelection.cxx:812 AliPhysicsSelection.cxx:813 AliPhysicsSelection.cxx:814 AliPhysicsSelection.cxx:815 AliPhysicsSelection.cxx:816 AliPhysicsSelection.cxx:817 AliPhysicsSelection.cxx:818 AliPhysicsSelection.cxx:819 AliPhysicsSelection.cxx:820 AliPhysicsSelection.cxx:821 AliPhysicsSelection.cxx:822 AliPhysicsSelection.cxx:823 AliPhysicsSelection.cxx:824 AliPhysicsSelection.cxx:825 AliPhysicsSelection.cxx:826 AliPhysicsSelection.cxx:827 AliPhysicsSelection.cxx:828 AliPhysicsSelection.cxx:829 AliPhysicsSelection.cxx:830 AliPhysicsSelection.cxx:831 AliPhysicsSelection.cxx:832 AliPhysicsSelection.cxx:833 AliPhysicsSelection.cxx:834 AliPhysicsSelection.cxx:835 AliPhysicsSelection.cxx:836 AliPhysicsSelection.cxx:837 AliPhysicsSelection.cxx:838 AliPhysicsSelection.cxx:839 AliPhysicsSelection.cxx:840 AliPhysicsSelection.cxx:841 AliPhysicsSelection.cxx:842 AliPhysicsSelection.cxx:843 AliPhysicsSelection.cxx:844 AliPhysicsSelection.cxx:845 AliPhysicsSelection.cxx:846 AliPhysicsSelection.cxx:847 AliPhysicsSelection.cxx:848 AliPhysicsSelection.cxx:849 AliPhysicsSelection.cxx:850 AliPhysicsSelection.cxx:851 AliPhysicsSelection.cxx:852 AliPhysicsSelection.cxx:853 AliPhysicsSelection.cxx:854 AliPhysicsSelection.cxx:855 AliPhysicsSelection.cxx:856 AliPhysicsSelection.cxx:857 AliPhysicsSelection.cxx:858 AliPhysicsSelection.cxx:859 AliPhysicsSelection.cxx:860 AliPhysicsSelection.cxx:861 AliPhysicsSelection.cxx:862 AliPhysicsSelection.cxx:863 AliPhysicsSelection.cxx:864 AliPhysicsSelection.cxx:865 AliPhysicsSelection.cxx:866 AliPhysicsSelection.cxx:867 AliPhysicsSelection.cxx:868 AliPhysicsSelection.cxx:869 AliPhysicsSelection.cxx:870 AliPhysicsSelection.cxx:871 AliPhysicsSelection.cxx:872 AliPhysicsSelection.cxx:873 AliPhysicsSelection.cxx:874 AliPhysicsSelection.cxx:875 AliPhysicsSelection.cxx:876 AliPhysicsSelection.cxx:877 AliPhysicsSelection.cxx:878 AliPhysicsSelection.cxx:879 AliPhysicsSelection.cxx:880 AliPhysicsSelection.cxx:881 AliPhysicsSelection.cxx:882 AliPhysicsSelection.cxx:883 AliPhysicsSelection.cxx:884 AliPhysicsSelection.cxx:885 AliPhysicsSelection.cxx:886 AliPhysicsSelection.cxx:887 AliPhysicsSelection.cxx:888 AliPhysicsSelection.cxx:889 AliPhysicsSelection.cxx:890 AliPhysicsSelection.cxx:891 AliPhysicsSelection.cxx:892 AliPhysicsSelection.cxx:893 AliPhysicsSelection.cxx:894 AliPhysicsSelection.cxx:895 AliPhysicsSelection.cxx:896 AliPhysicsSelection.cxx:897 AliPhysicsSelection.cxx:898 AliPhysicsSelection.cxx:899 AliPhysicsSelection.cxx:900 AliPhysicsSelection.cxx:901 AliPhysicsSelection.cxx:902 AliPhysicsSelection.cxx:903 AliPhysicsSelection.cxx:904 AliPhysicsSelection.cxx:905 AliPhysicsSelection.cxx:906 AliPhysicsSelection.cxx:907 AliPhysicsSelection.cxx:908 AliPhysicsSelection.cxx:909 AliPhysicsSelection.cxx:910 AliPhysicsSelection.cxx:911 AliPhysicsSelection.cxx:912 AliPhysicsSelection.cxx:913 AliPhysicsSelection.cxx:914 AliPhysicsSelection.cxx:915 AliPhysicsSelection.cxx:916 AliPhysicsSelection.cxx:917 AliPhysicsSelection.cxx:918 AliPhysicsSelection.cxx:919 AliPhysicsSelection.cxx:920 AliPhysicsSelection.cxx:921 AliPhysicsSelection.cxx:922 AliPhysicsSelection.cxx:923 AliPhysicsSelection.cxx:924 AliPhysicsSelection.cxx:925 AliPhysicsSelection.cxx:926 AliPhysicsSelection.cxx:927 AliPhysicsSelection.cxx:928 AliPhysicsSelection.cxx:929 AliPhysicsSelection.cxx:930 AliPhysicsSelection.cxx:931 AliPhysicsSelection.cxx:932 AliPhysicsSelection.cxx:933 AliPhysicsSelection.cxx:934 AliPhysicsSelection.cxx:935 AliPhysicsSelection.cxx:936 AliPhysicsSelection.cxx:937 AliPhysicsSelection.cxx:938 AliPhysicsSelection.cxx:939 AliPhysicsSelection.cxx:940 AliPhysicsSelection.cxx:941 AliPhysicsSelection.cxx:942 AliPhysicsSelection.cxx:943 AliPhysicsSelection.cxx:944 AliPhysicsSelection.cxx:945 AliPhysicsSelection.cxx:946 AliPhysicsSelection.cxx:947 AliPhysicsSelection.cxx:948 AliPhysicsSelection.cxx:949 AliPhysicsSelection.cxx:950 AliPhysicsSelection.cxx:951 AliPhysicsSelection.cxx:952 AliPhysicsSelection.cxx:953 AliPhysicsSelection.cxx:954 AliPhysicsSelection.cxx:955 AliPhysicsSelection.cxx:956 AliPhysicsSelection.cxx:957 AliPhysicsSelection.cxx:958 AliPhysicsSelection.cxx:959 AliPhysicsSelection.cxx:960 AliPhysicsSelection.cxx:961 AliPhysicsSelection.cxx:962 AliPhysicsSelection.cxx:963 AliPhysicsSelection.cxx:964 AliPhysicsSelection.cxx:965 AliPhysicsSelection.cxx:966 AliPhysicsSelection.cxx:967 AliPhysicsSelection.cxx:968 AliPhysicsSelection.cxx:969 AliPhysicsSelection.cxx:970 AliPhysicsSelection.cxx:971 AliPhysicsSelection.cxx:972 AliPhysicsSelection.cxx:973 AliPhysicsSelection.cxx:974 AliPhysicsSelection.cxx:975 AliPhysicsSelection.cxx:976 AliPhysicsSelection.cxx:977 AliPhysicsSelection.cxx:978 AliPhysicsSelection.cxx:979 AliPhysicsSelection.cxx:980 AliPhysicsSelection.cxx:981 AliPhysicsSelection.cxx:982 AliPhysicsSelection.cxx:983 AliPhysicsSelection.cxx:984 AliPhysicsSelection.cxx:985 AliPhysicsSelection.cxx:986 AliPhysicsSelection.cxx:987 AliPhysicsSelection.cxx:988 AliPhysicsSelection.cxx:989 AliPhysicsSelection.cxx:990 AliPhysicsSelection.cxx:991 AliPhysicsSelection.cxx:992 AliPhysicsSelection.cxx:993 AliPhysicsSelection.cxx:994 AliPhysicsSelection.cxx:995 AliPhysicsSelection.cxx:996 AliPhysicsSelection.cxx:997 AliPhysicsSelection.cxx:998 AliPhysicsSelection.cxx:999 AliPhysicsSelection.cxx:1000 AliPhysicsSelection.cxx:1001 AliPhysicsSelection.cxx:1002 AliPhysicsSelection.cxx:1003 AliPhysicsSelection.cxx:1004 AliPhysicsSelection.cxx:1005 AliPhysicsSelection.cxx:1006 AliPhysicsSelection.cxx:1007 AliPhysicsSelection.cxx:1008 AliPhysicsSelection.cxx:1009 AliPhysicsSelection.cxx:1010 AliPhysicsSelection.cxx:1011 AliPhysicsSelection.cxx:1012 AliPhysicsSelection.cxx:1013 AliPhysicsSelection.cxx:1014 AliPhysicsSelection.cxx:1015 AliPhysicsSelection.cxx:1016 AliPhysicsSelection.cxx:1017 AliPhysicsSelection.cxx:1018 AliPhysicsSelection.cxx:1019 AliPhysicsSelection.cxx:1020 AliPhysicsSelection.cxx:1021 AliPhysicsSelection.cxx:1022 AliPhysicsSelection.cxx:1023 AliPhysicsSelection.cxx:1024 AliPhysicsSelection.cxx:1025 AliPhysicsSelection.cxx:1026 AliPhysicsSelection.cxx:1027 AliPhysicsSelection.cxx:1028 AliPhysicsSelection.cxx:1029 AliPhysicsSelection.cxx:1030 AliPhysicsSelection.cxx:1031 AliPhysicsSelection.cxx:1032 AliPhysicsSelection.cxx:1033 AliPhysicsSelection.cxx:1034 AliPhysicsSelection.cxx:1035 AliPhysicsSelection.cxx:1036 AliPhysicsSelection.cxx:1037 AliPhysicsSelection.cxx:1038 AliPhysicsSelection.cxx:1039 AliPhysicsSelection.cxx:1040 AliPhysicsSelection.cxx:1041 AliPhysicsSelection.cxx:1042 AliPhysicsSelection.cxx:1043 AliPhysicsSelection.cxx:1044 AliPhysicsSelection.cxx:1045 AliPhysicsSelection.cxx:1046 AliPhysicsSelection.cxx:1047 AliPhysicsSelection.cxx:1048 AliPhysicsSelection.cxx:1049 AliPhysicsSelection.cxx:1050 AliPhysicsSelection.cxx:1051 AliPhysicsSelection.cxx:1052 AliPhysicsSelection.cxx:1053 AliPhysicsSelection.cxx:1054 AliPhysicsSelection.cxx:1055 AliPhysicsSelection.cxx:1056 AliPhysicsSelection.cxx:1057 AliPhysicsSelection.cxx:1058 AliPhysicsSelection.cxx:1059 AliPhysicsSelection.cxx:1060 AliPhysicsSelection.cxx:1061 AliPhysicsSelection.cxx:1062 AliPhysicsSelection.cxx:1063 AliPhysicsSelection.cxx:1064 AliPhysicsSelection.cxx:1065 AliPhysicsSelection.cxx:1066 AliPhysicsSelection.cxx:1067 AliPhysicsSelection.cxx:1068 AliPhysicsSelection.cxx:1069 AliPhysicsSelection.cxx:1070 AliPhysicsSelection.cxx:1071 AliPhysicsSelection.cxx:1072 AliPhysicsSelection.cxx:1073 AliPhysicsSelection.cxx:1074 AliPhysicsSelection.cxx:1075 AliPhysicsSelection.cxx:1076 AliPhysicsSelection.cxx:1077 AliPhysicsSelection.cxx:1078 AliPhysicsSelection.cxx:1079 AliPhysicsSelection.cxx:1080 AliPhysicsSelection.cxx:1081 AliPhysicsSelection.cxx:1082 AliPhysicsSelection.cxx:1083 AliPhysicsSelection.cxx:1084 AliPhysicsSelection.cxx:1085 AliPhysicsSelection.cxx:1086 AliPhysicsSelection.cxx:1087 AliPhysicsSelection.cxx:1088 AliPhysicsSelection.cxx:1089 AliPhysicsSelection.cxx:1090 AliPhysicsSelection.cxx:1091 AliPhysicsSelection.cxx:1092 AliPhysicsSelection.cxx:1093 AliPhysicsSelection.cxx:1094 AliPhysicsSelection.cxx:1095 AliPhysicsSelection.cxx:1096 AliPhysicsSelection.cxx:1097 AliPhysicsSelection.cxx:1098 AliPhysicsSelection.cxx:1099 AliPhysicsSelection.cxx:1100 AliPhysicsSelection.cxx:1101 AliPhysicsSelection.cxx:1102 AliPhysicsSelection.cxx:1103 AliPhysicsSelection.cxx:1104 AliPhysicsSelection.cxx:1105 AliPhysicsSelection.cxx:1106 AliPhysicsSelection.cxx:1107 AliPhysicsSelection.cxx:1108 AliPhysicsSelection.cxx:1109 AliPhysicsSelection.cxx:1110 AliPhysicsSelection.cxx:1111 AliPhysicsSelection.cxx:1112 AliPhysicsSelection.cxx:1113 AliPhysicsSelection.cxx:1114 AliPhysicsSelection.cxx:1115 AliPhysicsSelection.cxx:1116 AliPhysicsSelection.cxx:1117 AliPhysicsSelection.cxx:1118 AliPhysicsSelection.cxx:1119 AliPhysicsSelection.cxx:1120 AliPhysicsSelection.cxx:1121 AliPhysicsSelection.cxx:1122 AliPhysicsSelection.cxx:1123 AliPhysicsSelection.cxx:1124 AliPhysicsSelection.cxx:1125 AliPhysicsSelection.cxx:1126 AliPhysicsSelection.cxx:1127 AliPhysicsSelection.cxx:1128 AliPhysicsSelection.cxx:1129 AliPhysicsSelection.cxx:1130 AliPhysicsSelection.cxx:1131 AliPhysicsSelection.cxx:1132 AliPhysicsSelection.cxx:1133 AliPhysicsSelection.cxx:1134 AliPhysicsSelection.cxx:1135 AliPhysicsSelection.cxx:1136 AliPhysicsSelection.cxx:1137 AliPhysicsSelection.cxx:1138 AliPhysicsSelection.cxx:1139 AliPhysicsSelection.cxx:1140 AliPhysicsSelection.cxx:1141 AliPhysicsSelection.cxx:1142 AliPhysicsSelection.cxx:1143 AliPhysicsSelection.cxx:1144 AliPhysicsSelection.cxx:1145 AliPhysicsSelection.cxx:1146 AliPhysicsSelection.cxx:1147 AliPhysicsSelection.cxx:1148 AliPhysicsSelection.cxx:1149 AliPhysicsSelection.cxx:1150 AliPhysicsSelection.cxx:1151 AliPhysicsSelection.cxx:1152 AliPhysicsSelection.cxx:1153 AliPhysicsSelection.cxx:1154 AliPhysicsSelection.cxx:1155 AliPhysicsSelection.cxx:1156 AliPhysicsSelection.cxx:1157 AliPhysicsSelection.cxx:1158 AliPhysicsSelection.cxx:1159 AliPhysicsSelection.cxx:1160 AliPhysicsSelection.cxx:1161 AliPhysicsSelection.cxx:1162 AliPhysicsSelection.cxx:1163 AliPhysicsSelection.cxx:1164 AliPhysicsSelection.cxx:1165 AliPhysicsSelection.cxx:1166 AliPhysicsSelection.cxx:1167 AliPhysicsSelection.cxx:1168 AliPhysicsSelection.cxx:1169 AliPhysicsSelection.cxx:1170 AliPhysicsSelection.cxx:1171 AliPhysicsSelection.cxx:1172 AliPhysicsSelection.cxx:1173 AliPhysicsSelection.cxx:1174 AliPhysicsSelection.cxx:1175 AliPhysicsSelection.cxx:1176 AliPhysicsSelection.cxx:1177 AliPhysicsSelection.cxx:1178 AliPhysicsSelection.cxx:1179 AliPhysicsSelection.cxx:1180 AliPhysicsSelection.cxx:1181 AliPhysicsSelection.cxx:1182 AliPhysicsSelection.cxx:1183 AliPhysicsSelection.cxx:1184 AliPhysicsSelection.cxx:1185 AliPhysicsSelection.cxx:1186 AliPhysicsSelection.cxx:1187 AliPhysicsSelection.cxx:1188 AliPhysicsSelection.cxx:1189 AliPhysicsSelection.cxx:1190 AliPhysicsSelection.cxx:1191 AliPhysicsSelection.cxx:1192 AliPhysicsSelection.cxx:1193 AliPhysicsSelection.cxx:1194 AliPhysicsSelection.cxx:1195 AliPhysicsSelection.cxx:1196 AliPhysicsSelection.cxx:1197 AliPhysicsSelection.cxx:1198 AliPhysicsSelection.cxx:1199 AliPhysicsSelection.cxx:1200 AliPhysicsSelection.cxx:1201 AliPhysicsSelection.cxx:1202 AliPhysicsSelection.cxx:1203 AliPhysicsSelection.cxx:1204 AliPhysicsSelection.cxx:1205 AliPhysicsSelection.cxx:1206 AliPhysicsSelection.cxx:1207 AliPhysicsSelection.cxx:1208 AliPhysicsSelection.cxx:1209 AliPhysicsSelection.cxx:1210 AliPhysicsSelection.cxx:1211 AliPhysicsSelection.cxx:1212 AliPhysicsSelection.cxx:1213 AliPhysicsSelection.cxx:1214 AliPhysicsSelection.cxx:1215 AliPhysicsSelection.cxx:1216 AliPhysicsSelection.cxx:1217 AliPhysicsSelection.cxx:1218 AliPhysicsSelection.cxx:1219 AliPhysicsSelection.cxx:1220 AliPhysicsSelection.cxx:1221 AliPhysicsSelection.cxx:1222 AliPhysicsSelection.cxx:1223 AliPhysicsSelection.cxx:1224 AliPhysicsSelection.cxx:1225 AliPhysicsSelection.cxx:1226 AliPhysicsSelection.cxx:1227 AliPhysicsSelection.cxx:1228 AliPhysicsSelection.cxx:1229 AliPhysicsSelection.cxx:1230 AliPhysicsSelection.cxx:1231 AliPhysicsSelection.cxx:1232 AliPhysicsSelection.cxx:1233 AliPhysicsSelection.cxx:1234 AliPhysicsSelection.cxx:1235 AliPhysicsSelection.cxx:1236 AliPhysicsSelection.cxx:1237 AliPhysicsSelection.cxx:1238 AliPhysicsSelection.cxx:1239 AliPhysicsSelection.cxx:1240 AliPhysicsSelection.cxx:1241 AliPhysicsSelection.cxx:1242 AliPhysicsSelection.cxx:1243 AliPhysicsSelection.cxx:1244 AliPhysicsSelection.cxx:1245 AliPhysicsSelection.cxx:1246 AliPhysicsSelection.cxx:1247 AliPhysicsSelection.cxx:1248 AliPhysicsSelection.cxx:1249 AliPhysicsSelection.cxx:1250 AliPhysicsSelection.cxx:1251 AliPhysicsSelection.cxx:1252 AliPhysicsSelection.cxx:1253 AliPhysicsSelection.cxx:1254 AliPhysicsSelection.cxx:1255 AliPhysicsSelection.cxx:1256 AliPhysicsSelection.cxx:1257 AliPhysicsSelection.cxx:1258 AliPhysicsSelection.cxx:1259 AliPhysicsSelection.cxx:1260 AliPhysicsSelection.cxx:1261 AliPhysicsSelection.cxx:1262 AliPhysicsSelection.cxx:1263 AliPhysicsSelection.cxx:1264 AliPhysicsSelection.cxx:1265 AliPhysicsSelection.cxx:1266 AliPhysicsSelection.cxx:1267 AliPhysicsSelection.cxx:1268 AliPhysicsSelection.cxx:1269 AliPhysicsSelection.cxx:1270 AliPhysicsSelection.cxx:1271 AliPhysicsSelection.cxx:1272 AliPhysicsSelection.cxx:1273 AliPhysicsSelection.cxx:1274 AliPhysicsSelection.cxx:1275 AliPhysicsSelection.cxx:1276 AliPhysicsSelection.cxx:1277 AliPhysicsSelection.cxx:1278 AliPhysicsSelection.cxx:1279 AliPhysicsSelection.cxx:1280 AliPhysicsSelection.cxx:1281 AliPhysicsSelection.cxx:1282 AliPhysicsSelection.cxx:1283 AliPhysicsSelection.cxx:1284 AliPhysicsSelection.cxx:1285 AliPhysicsSelection.cxx:1286 AliPhysicsSelection.cxx:1287 AliPhysicsSelection.cxx:1288 AliPhysicsSelection.cxx:1289 AliPhysicsSelection.cxx:1290 AliPhysicsSelection.cxx:1291 AliPhysicsSelection.cxx:1292 AliPhysicsSelection.cxx:1293 AliPhysicsSelection.cxx:1294 AliPhysicsSelection.cxx:1295 AliPhysicsSelection.cxx:1296 AliPhysicsSelection.cxx:1297 AliPhysicsSelection.cxx:1298 AliPhysicsSelection.cxx:1299 AliPhysicsSelection.cxx:1300 AliPhysicsSelection.cxx:1301 AliPhysicsSelection.cxx:1302 AliPhysicsSelection.cxx:1303 AliPhysicsSelection.cxx:1304 AliPhysicsSelection.cxx:1305 AliPhysicsSelection.cxx:1306 AliPhysicsSelection.cxx:1307 AliPhysicsSelection.cxx:1308 AliPhysicsSelection.cxx:1309 AliPhysicsSelection.cxx:1310 AliPhysicsSelection.cxx:1311 AliPhysicsSelection.cxx:1312 AliPhysicsSelection.cxx:1313 AliPhysicsSelection.cxx:1314 AliPhysicsSelection.cxx:1315 AliPhysicsSelection.cxx:1316 AliPhysicsSelection.cxx:1317 AliPhysicsSelection.cxx:1318 AliPhysicsSelection.cxx:1319 AliPhysicsSelection.cxx:1320 AliPhysicsSelection.cxx:1321 AliPhysicsSelection.cxx:1322 AliPhysicsSelection.cxx:1323 AliPhysicsSelection.cxx:1324 AliPhysicsSelection.cxx:1325 AliPhysicsSelection.cxx:1326 AliPhysicsSelection.cxx:1327 AliPhysicsSelection.cxx:1328 AliPhysicsSelection.cxx:1329 AliPhysicsSelection.cxx:1330 AliPhysicsSelection.cxx:1331 AliPhysicsSelection.cxx:1332 AliPhysicsSelection.cxx:1333 AliPhysicsSelection.cxx:1334 AliPhysicsSelection.cxx:1335 AliPhysicsSelection.cxx:1336 AliPhysicsSelection.cxx:1337 AliPhysicsSelection.cxx:1338 AliPhysicsSelection.cxx:1339 AliPhysicsSelection.cxx:1340 AliPhysicsSelection.cxx:1341 AliPhysicsSelection.cxx:1342 AliPhysicsSelection.cxx:1343 AliPhysicsSelection.cxx:1344 AliPhysicsSelection.cxx:1345 AliPhysicsSelection.cxx:1346 AliPhysicsSelection.cxx:1347 AliPhysicsSelection.cxx:1348 AliPhysicsSelection.cxx:1349 AliPhysicsSelection.cxx:1350 AliPhysicsSelection.cxx:1351 AliPhysicsSelection.cxx:1352 AliPhysicsSelection.cxx:1353 AliPhysicsSelection.cxx:1354 AliPhysicsSelection.cxx:1355 AliPhysicsSelection.cxx:1356 AliPhysicsSelection.cxx:1357 AliPhysicsSelection.cxx:1358 AliPhysicsSelection.cxx:1359 AliPhysicsSelection.cxx:1360 AliPhysicsSelection.cxx:1361 AliPhysicsSelection.cxx:1362 AliPhysicsSelection.cxx:1363 AliPhysicsSelection.cxx:1364 AliPhysicsSelection.cxx:1365 AliPhysicsSelection.cxx:1366 AliPhysicsSelection.cxx:1367 AliPhysicsSelection.cxx:1368 AliPhysicsSelection.cxx:1369 AliPhysicsSelection.cxx:1370 AliPhysicsSelection.cxx:1371 AliPhysicsSelection.cxx:1372 AliPhysicsSelection.cxx:1373 AliPhysicsSelection.cxx:1374 AliPhysicsSelection.cxx:1375 AliPhysicsSelection.cxx:1376 AliPhysicsSelection.cxx:1377 AliPhysicsSelection.cxx:1378 AliPhysicsSelection.cxx:1379 AliPhysicsSelection.cxx:1380 AliPhysicsSelection.cxx:1381 AliPhysicsSelection.cxx:1382 AliPhysicsSelection.cxx:1383 AliPhysicsSelection.cxx:1384 AliPhysicsSelection.cxx:1385 AliPhysicsSelection.cxx:1386 AliPhysicsSelection.cxx:1387 AliPhysicsSelection.cxx:1388 AliPhysicsSelection.cxx:1389 AliPhysicsSelection.cxx:1390 AliPhysicsSelection.cxx:1391 AliPhysicsSelection.cxx:1392 AliPhysicsSelection.cxx:1393 AliPhysicsSelection.cxx:1394 AliPhysicsSelection.cxx:1395 AliPhysicsSelection.cxx:1396 AliPhysicsSelection.cxx:1397 AliPhysicsSelection.cxx:1398 AliPhysicsSelection.cxx:1399 AliPhysicsSelection.cxx:1400 AliPhysicsSelection.cxx:1401 AliPhysicsSelection.cxx:1402 AliPhysicsSelection.cxx:1403 AliPhysicsSelection.cxx:1404 AliPhysicsSelection.cxx:1405 AliPhysicsSelection.cxx:1406 AliPhysicsSelection.cxx:1407 AliPhysicsSelection.cxx:1408 AliPhysicsSelection.cxx:1409 AliPhysicsSelection.cxx:1410 AliPhysicsSelection.cxx:1411 AliPhysicsSelection.cxx:1412 AliPhysicsSelection.cxx:1413 AliPhysicsSelection.cxx:1414 AliPhysicsSelection.cxx:1415 AliPhysicsSelection.cxx:1416 AliPhysicsSelection.cxx:1417 AliPhysicsSelection.cxx:1418 AliPhysicsSelection.cxx:1419 AliPhysicsSelection.cxx:1420 AliPhysicsSelection.cxx:1421 AliPhysicsSelection.cxx:1422 AliPhysicsSelection.cxx:1423 AliPhysicsSelection.cxx:1424 AliPhysicsSelection.cxx:1425 AliPhysicsSelection.cxx:1426 AliPhysicsSelection.cxx:1427 AliPhysicsSelection.cxx:1428 AliPhysicsSelection.cxx:1429 AliPhysicsSelection.cxx:1430 AliPhysicsSelection.cxx:1431 AliPhysicsSelection.cxx:1432 AliPhysicsSelection.cxx:1433 AliPhysicsSelection.cxx:1434 AliPhysicsSelection.cxx:1435 AliPhysicsSelection.cxx:1436 AliPhysicsSelection.cxx:1437 AliPhysicsSelection.cxx:1438 AliPhysicsSelection.cxx:1439 AliPhysicsSelection.cxx:1440 AliPhysicsSelection.cxx:1441 AliPhysicsSelection.cxx:1442 AliPhysicsSelection.cxx:1443 AliPhysicsSelection.cxx:1444 AliPhysicsSelection.cxx:1445 AliPhysicsSelection.cxx:1446 AliPhysicsSelection.cxx:1447 AliPhysicsSelection.cxx:1448 AliPhysicsSelection.cxx:1449 AliPhysicsSelection.cxx:1450 AliPhysicsSelection.cxx:1451 AliPhysicsSelection.cxx:1452 AliPhysicsSelection.cxx:1453 AliPhysicsSelection.cxx:1454 AliPhysicsSelection.cxx:1455 AliPhysicsSelection.cxx:1456 AliPhysicsSelection.cxx:1457 AliPhysicsSelection.cxx:1458 AliPhysicsSelection.cxx:1459 AliPhysicsSelection.cxx:1460 AliPhysicsSelection.cxx:1461 AliPhysicsSelection.cxx:1462 AliPhysicsSelection.cxx:1463 AliPhysicsSelection.cxx:1464 AliPhysicsSelection.cxx:1465 AliPhysicsSelection.cxx:1466 AliPhysicsSelection.cxx:1467 AliPhysicsSelection.cxx:1468 AliPhysicsSelection.cxx:1469 AliPhysicsSelection.cxx:1470 AliPhysicsSelection.cxx:1471 AliPhysicsSelection.cxx:1472 AliPhysicsSelection.cxx:1473 AliPhysicsSelection.cxx:1474 AliPhysicsSelection.cxx:1475 AliPhysicsSelection.cxx:1476 AliPhysicsSelection.cxx:1477 AliPhysicsSelection.cxx:1478 AliPhysicsSelection.cxx:1479 AliPhysicsSelection.cxx:1480 AliPhysicsSelection.cxx:1481 AliPhysicsSelection.cxx:1482 AliPhysicsSelection.cxx:1483 AliPhysicsSelection.cxx:1484 AliPhysicsSelection.cxx:1485 AliPhysicsSelection.cxx:1486 AliPhysicsSelection.cxx:1487 AliPhysicsSelection.cxx:1488 AliPhysicsSelection.cxx:1489 AliPhysicsSelection.cxx:1490 AliPhysicsSelection.cxx:1491 AliPhysicsSelection.cxx:1492 AliPhysicsSelection.cxx:1493 AliPhysicsSelection.cxx:1494 AliPhysicsSelection.cxx:1495 AliPhysicsSelection.cxx:1496 AliPhysicsSelection.cxx:1497 AliPhysicsSelection.cxx:1498 AliPhysicsSelection.cxx:1499 AliPhysicsSelection.cxx:1500 AliPhysicsSelection.cxx:1501 AliPhysicsSelection.cxx:1502 AliPhysicsSelection.cxx:1503 AliPhysicsSelection.cxx:1504 AliPhysicsSelection.cxx:1505 AliPhysicsSelection.cxx:1506 AliPhysicsSelection.cxx:1507 AliPhysicsSelection.cxx:1508 AliPhysicsSelection.cxx:1509 AliPhysicsSelection.cxx:1510 AliPhysicsSelection.cxx:1511 AliPhysicsSelection.cxx:1512 AliPhysicsSelection.cxx:1513 AliPhysicsSelection.cxx:1514 AliPhysicsSelection.cxx:1515 AliPhysicsSelection.cxx:1516 AliPhysicsSelection.cxx:1517 AliPhysicsSelection.cxx:1518 AliPhysicsSelection.cxx:1519 AliPhysicsSelection.cxx:1520 AliPhysicsSelection.cxx:1521 AliPhysicsSelection.cxx:1522 AliPhysicsSelection.cxx:1523 AliPhysicsSelection.cxx:1524 AliPhysicsSelection.cxx:1525 AliPhysicsSelection.cxx:1526 AliPhysicsSelection.cxx:1527 AliPhysicsSelection.cxx:1528 AliPhysicsSelection.cxx:1529 AliPhysicsSelection.cxx:1530 AliPhysicsSelection.cxx:1531 AliPhysicsSelection.cxx:1532 AliPhysicsSelection.cxx:1533 AliPhysicsSelection.cxx:1534 AliPhysicsSelection.cxx:1535 AliPhysicsSelection.cxx:1536 AliPhysicsSelection.cxx:1537 AliPhysicsSelection.cxx:1538 AliPhysicsSelection.cxx:1539 AliPhysicsSelection.cxx:1540 AliPhysicsSelection.cxx:1541 AliPhysicsSelection.cxx:1542 AliPhysicsSelection.cxx:1543 AliPhysicsSelection.cxx:1544 AliPhysicsSelection.cxx:1545 AliPhysicsSelection.cxx:1546 AliPhysicsSelection.cxx:1547 AliPhysicsSelection.cxx:1548 AliPhysicsSelection.cxx:1549 AliPhysicsSelection.cxx:1550 AliPhysicsSelection.cxx:1551 AliPhysicsSelection.cxx:1552 AliPhysicsSelection.cxx:1553 AliPhysicsSelection.cxx:1554 AliPhysicsSelection.cxx:1555 AliPhysicsSelection.cxx:1556 AliPhysicsSelection.cxx:1557 AliPhysicsSelection.cxx:1558 AliPhysicsSelection.cxx:1559 AliPhysicsSelection.cxx:1560 AliPhysicsSelection.cxx:1561 AliPhysicsSelection.cxx:1562 AliPhysicsSelection.cxx:1563 AliPhysicsSelection.cxx:1564 AliPhysicsSelection.cxx:1565 AliPhysicsSelection.cxx:1566 AliPhysicsSelection.cxx:1567 AliPhysicsSelection.cxx:1568 AliPhysicsSelection.cxx:1569 AliPhysicsSelection.cxx:1570 AliPhysicsSelection.cxx:1571 AliPhysicsSelection.cxx:1572 AliPhysicsSelection.cxx:1573 AliPhysicsSelection.cxx:1574 AliPhysicsSelection.cxx:1575 AliPhysicsSelection.cxx:1576 AliPhysicsSelection.cxx:1577 AliPhysicsSelection.cxx:1578 AliPhysicsSelection.cxx:1579 AliPhysicsSelection.cxx:1580 AliPhysicsSelection.cxx:1581 AliPhysicsSelection.cxx:1582 AliPhysicsSelection.cxx:1583 AliPhysicsSelection.cxx:1584 AliPhysicsSelection.cxx:1585 AliPhysicsSelection.cxx:1586 AliPhysicsSelection.cxx:1587 AliPhysicsSelection.cxx:1588 AliPhysicsSelection.cxx:1589 AliPhysicsSelection.cxx:1590 AliPhysicsSelection.cxx:1591 AliPhysicsSelection.cxx:1592 AliPhysicsSelection.cxx:1593 AliPhysicsSelection.cxx:1594 AliPhysicsSelection.cxx:1595 AliPhysicsSelection.cxx:1596 AliPhysicsSelection.cxx:1597 AliPhysicsSelection.cxx:1598 AliPhysicsSelection.cxx:1599 AliPhysicsSelection.cxx:1600 AliPhysicsSelection.cxx:1601 AliPhysicsSelection.cxx:1602 AliPhysicsSelection.cxx:1603 AliPhysicsSelection.cxx:1604 AliPhysicsSelection.cxx:1605 AliPhysicsSelection.cxx:1606 AliPhysicsSelection.cxx:1607 AliPhysicsSelection.cxx:1608 AliPhysicsSelection.cxx:1609 AliPhysicsSelection.cxx:1610 AliPhysicsSelection.cxx:1611 AliPhysicsSelection.cxx:1612 AliPhysicsSelection.cxx:1613 AliPhysicsSelection.cxx:1614 AliPhysicsSelection.cxx:1615 AliPhysicsSelection.cxx:1616 AliPhysicsSelection.cxx:1617 AliPhysicsSelection.cxx:1618 AliPhysicsSelection.cxx:1619 AliPhysicsSelection.cxx:1620 AliPhysicsSelection.cxx:1621 AliPhysicsSelection.cxx:1622 AliPhysicsSelection.cxx:1623 AliPhysicsSelection.cxx:1624 AliPhysicsSelection.cxx:1625 AliPhysicsSelection.cxx:1626 AliPhysicsSelection.cxx:1627 AliPhysicsSelection.cxx:1628 AliPhysicsSelection.cxx:1629 AliPhysicsSelection.cxx:1630 AliPhysicsSelection.cxx:1631 AliPhysicsSelection.cxx:1632 AliPhysicsSelection.cxx:1633 AliPhysicsSelection.cxx:1634 AliPhysicsSelection.cxx:1635 AliPhysicsSelection.cxx:1636 AliPhysicsSelection.cxx:1637 AliPhysicsSelection.cxx:1638 AliPhysicsSelection.cxx:1639 AliPhysicsSelection.cxx:1640 AliPhysicsSelection.cxx:1641 AliPhysicsSelection.cxx:1642 AliPhysicsSelection.cxx:1643 AliPhysicsSelection.cxx:1644 AliPhysicsSelection.cxx:1645 AliPhysicsSelection.cxx:1646 AliPhysicsSelection.cxx:1647 AliPhysicsSelection.cxx:1648 AliPhysicsSelection.cxx:1649 AliPhysicsSelection.cxx:1650 AliPhysicsSelection.cxx:1651 AliPhysicsSelection.cxx:1652 AliPhysicsSelection.cxx:1653 AliPhysicsSelection.cxx:1654 AliPhysicsSelection.cxx:1655 AliPhysicsSelection.cxx:1656 AliPhysicsSelection.cxx:1657 AliPhysicsSelection.cxx:1658 AliPhysicsSelection.cxx:1659 AliPhysicsSelection.cxx:1660 AliPhysicsSelection.cxx:1661 AliPhysicsSelection.cxx:1662 AliPhysicsSelection.cxx:1663 AliPhysicsSelection.cxx:1664 AliPhysicsSelection.cxx:1665 AliPhysicsSelection.cxx:1666 AliPhysicsSelection.cxx:1667 AliPhysicsSelection.cxx:1668 AliPhysicsSelection.cxx:1669 AliPhysicsSelection.cxx:1670 AliPhysicsSelection.cxx:1671 AliPhysicsSelection.cxx:1672 AliPhysicsSelection.cxx:1673 AliPhysicsSelection.cxx:1674 AliPhysicsSelection.cxx:1675 AliPhysicsSelection.cxx:1676 AliPhysicsSelection.cxx:1677 AliPhysicsSelection.cxx:1678 AliPhysicsSelection.cxx:1679 AliPhysicsSelection.cxx:1680 AliPhysicsSelection.cxx:1681 AliPhysicsSelection.cxx:1682 AliPhysicsSelection.cxx:1683 AliPhysicsSelection.cxx:1684 AliPhysicsSelection.cxx:1685 AliPhysicsSelection.cxx:1686 AliPhysicsSelection.cxx:1687 AliPhysicsSelection.cxx:1688 AliPhysicsSelection.cxx:1689 AliPhysicsSelection.cxx:1690 AliPhysicsSelection.cxx:1691 AliPhysicsSelection.cxx:1692 AliPhysicsSelection.cxx:1693 AliPhysicsSelection.cxx:1694 AliPhysicsSelection.cxx:1695 AliPhysicsSelection.cxx:1696 AliPhysicsSelection.cxx:1697 AliPhysicsSelection.cxx:1698 AliPhysicsSelection.cxx:1699 AliPhysicsSelection.cxx:1700 AliPhysicsSelection.cxx:1701 AliPhysicsSelection.cxx:1702 AliPhysicsSelection.cxx:1703 AliPhysicsSelection.cxx:1704 AliPhysicsSelection.cxx:1705 AliPhysicsSelection.cxx:1706 AliPhysicsSelection.cxx:1707 AliPhysicsSelection.cxx:1708 AliPhysicsSelection.cxx:1709 AliPhysicsSelection.cxx:1710 AliPhysicsSelection.cxx:1711 AliPhysicsSelection.cxx:1712 AliPhysicsSelection.cxx:1713 AliPhysicsSelection.cxx:1714 AliPhysicsSelection.cxx:1715 AliPhysicsSelection.cxx:1716 AliPhysicsSelection.cxx:1717 AliPhysicsSelection.cxx:1718 AliPhysicsSelection.cxx:1719 AliPhysicsSelection.cxx:1720 AliPhysicsSelection.cxx:1721 AliPhysicsSelection.cxx:1722 AliPhysicsSelection.cxx:1723 AliPhysicsSelection.cxx:1724 AliPhysicsSelection.cxx:1725 AliPhysicsSelection.cxx:1726 AliPhysicsSelection.cxx:1727 AliPhysicsSelection.cxx:1728 AliPhysicsSelection.cxx:1729 AliPhysicsSelection.cxx:1730 AliPhysicsSelection.cxx:1731 AliPhysicsSelection.cxx:1732 AliPhysicsSelection.cxx:1733 AliPhysicsSelection.cxx:1734 AliPhysicsSelection.cxx:1735 AliPhysicsSelection.cxx:1736 AliPhysicsSelection.cxx:1737 AliPhysicsSelection.cxx:1738 AliPhysicsSelection.cxx:1739 AliPhysicsSelection.cxx:1740 AliPhysicsSelection.cxx:1741 AliPhysicsSelection.cxx:1742 AliPhysicsSelection.cxx:1743 AliPhysicsSelection.cxx:1744 AliPhysicsSelection.cxx:1745 AliPhysicsSelection.cxx:1746 AliPhysicsSelection.cxx:1747 AliPhysicsSelection.cxx:1748 AliPhysicsSelection.cxx:1749 AliPhysicsSelection.cxx:1750 AliPhysicsSelection.cxx:1751 AliPhysicsSelection.cxx:1752 AliPhysicsSelection.cxx:1753 AliPhysicsSelection.cxx:1754 AliPhysicsSelection.cxx:1755 AliPhysicsSelection.cxx:1756 AliPhysicsSelection.cxx:1757 AliPhysicsSelection.cxx:1758 AliPhysicsSelection.cxx:1759 AliPhysicsSelection.cxx:1760 AliPhysicsSelection.cxx:1761 AliPhysicsSelection.cxx:1762 AliPhysicsSelection.cxx:1763 AliPhysicsSelection.cxx:1764 AliPhysicsSelection.cxx:1765 AliPhysicsSelection.cxx:1766 AliPhysicsSelection.cxx:1767 AliPhysicsSelection.cxx:1768 AliPhysicsSelection.cxx:1769 AliPhysicsSelection.cxx:1770 AliPhysicsSelection.cxx:1771 AliPhysicsSelection.cxx:1772 AliPhysicsSelection.cxx:1773 AliPhysicsSelection.cxx:1774 AliPhysicsSelection.cxx:1775 AliPhysicsSelection.cxx:1776 AliPhysicsSelection.cxx:1777 AliPhysicsSelection.cxx:1778 AliPhysicsSelection.cxx:1779 AliPhysicsSelection.cxx:1780 AliPhysicsSelection.cxx:1781 AliPhysicsSelection.cxx:1782 AliPhysicsSelection.cxx:1783 AliPhysicsSelection.cxx:1784 AliPhysicsSelection.cxx:1785 AliPhysicsSelection.cxx:1786 AliPhysicsSelection.cxx:1787 AliPhysicsSelection.cxx:1788 AliPhysicsSelection.cxx:1789 AliPhysicsSelection.cxx:1790 AliPhysicsSelection.cxx:1791 AliPhysicsSelection.cxx:1792 AliPhysicsSelection.cxx:1793 AliPhysicsSelection.cxx:1794 AliPhysicsSelection.cxx:1795 AliPhysicsSelection.cxx:1796 AliPhysicsSelection.cxx:1797 AliPhysicsSelection.cxx:1798 AliPhysicsSelection.cxx:1799 AliPhysicsSelection.cxx:1800 AliPhysicsSelection.cxx:1801 AliPhysicsSelection.cxx:1802 AliPhysicsSelection.cxx:1803 AliPhysicsSelection.cxx:1804 AliPhysicsSelection.cxx:1805 AliPhysicsSelection.cxx:1806 AliPhysicsSelection.cxx:1807 AliPhysicsSelection.cxx:1808 AliPhysicsSelection.cxx:1809 AliPhysicsSelection.cxx:1810 AliPhysicsSelection.cxx:1811 AliPhysicsSelection.cxx:1812 AliPhysicsSelection.cxx:1813 AliPhysicsSelection.cxx:1814 AliPhysicsSelection.cxx:1815 AliPhysicsSelection.cxx:1816 AliPhysicsSelection.cxx:1817 AliPhysicsSelection.cxx:1818 AliPhysicsSelection.cxx:1819 AliPhysicsSelection.cxx:1820 AliPhysicsSelection.cxx:1821 AliPhysicsSelection.cxx:1822 AliPhysicsSelection.cxx:1823 AliPhysicsSelection.cxx:1824 AliPhysicsSelection.cxx:1825 AliPhysicsSelection.cxx:1826 AliPhysicsSelection.cxx:1827 AliPhysicsSelection.cxx:1828 AliPhysicsSelection.cxx:1829 AliPhysicsSelection.cxx:1830 AliPhysicsSelection.cxx:1831 AliPhysicsSelection.cxx:1832 AliPhysicsSelection.cxx:1833 AliPhysicsSelection.cxx:1834 AliPhysicsSelection.cxx:1835 AliPhysicsSelection.cxx:1836 AliPhysicsSelection.cxx:1837 AliPhysicsSelection.cxx:1838 AliPhysicsSelection.cxx:1839 AliPhysicsSelection.cxx:1840 AliPhysicsSelection.cxx:1841 AliPhysicsSelection.cxx:1842 AliPhysicsSelection.cxx:1843 AliPhysicsSelection.cxx:1844 AliPhysicsSelection.cxx:1845 AliPhysicsSelection.cxx:1846 AliPhysicsSelection.cxx:1847 AliPhysicsSelection.cxx:1848 AliPhysicsSelection.cxx:1849 AliPhysicsSelection.cxx:1850 AliPhysicsSelection.cxx:1851 AliPhysicsSelection.cxx:1852 AliPhysicsSelection.cxx:1853 AliPhysicsSelection.cxx:1854 AliPhysicsSelection.cxx:1855 AliPhysicsSelection.cxx:1856 AliPhysicsSelection.cxx:1857 AliPhysicsSelection.cxx:1858 AliPhysicsSelection.cxx:1859 AliPhysicsSelection.cxx:1860 AliPhysicsSelection.cxx:1861 AliPhysicsSelection.cxx:1862 AliPhysicsSelection.cxx:1863 AliPhysicsSelection.cxx:1864 AliPhysicsSelection.cxx:1865 AliPhysicsSelection.cxx:1866 AliPhysicsSelection.cxx:1867 AliPhysicsSelection.cxx:1868 AliPhysicsSelection.cxx:1869 AliPhysicsSelection.cxx:1870 AliPhysicsSelection.cxx:1871 AliPhysicsSelection.cxx:1872 AliPhysicsSelection.cxx:1873 AliPhysicsSelection.cxx:1874 AliPhysicsSelection.cxx:1875 AliPhysicsSelection.cxx:1876 AliPhysicsSelection.cxx:1877 AliPhysicsSelection.cxx:1878 AliPhysicsSelection.cxx:1879 AliPhysicsSelection.cxx:1880 AliPhysicsSelection.cxx:1881 AliPhysicsSelection.cxx:1882 AliPhysicsSelection.cxx:1883 AliPhysicsSelection.cxx:1884 AliPhysicsSelection.cxx:1885 AliPhysicsSelection.cxx:1886 AliPhysicsSelection.cxx:1887 AliPhysicsSelection.cxx:1888 AliPhysicsSelection.cxx:1889 AliPhysicsSelection.cxx:1890 AliPhysicsSelection.cxx:1891 AliPhysicsSelection.cxx:1892 AliPhysicsSelection.cxx:1893 AliPhysicsSelection.cxx:1894 AliPhysicsSelection.cxx:1895 AliPhysicsSelection.cxx:1896 AliPhysicsSelection.cxx:1897 AliPhysicsSelection.cxx:1898 AliPhysicsSelection.cxx:1899 AliPhysicsSelection.cxx:1900 AliPhysicsSelection.cxx:1901 AliPhysicsSelection.cxx:1902 AliPhysicsSelection.cxx:1903 AliPhysicsSelection.cxx:1904 AliPhysicsSelection.cxx:1905 AliPhysicsSelection.cxx:1906 AliPhysicsSelection.cxx:1907 AliPhysicsSelection.cxx:1908 AliPhysicsSelection.cxx:1909 AliPhysicsSelection.cxx:1910 AliPhysicsSelection.cxx:1911 AliPhysicsSelection.cxx:1912 AliPhysicsSelection.cxx:1913 AliPhysicsSelection.cxx:1914 AliPhysicsSelection.cxx:1915 AliPhysicsSelection.cxx:1916 AliPhysicsSelection.cxx:1917 AliPhysicsSelection.cxx:1918 AliPhysicsSelection.cxx:1919 AliPhysicsSelection.cxx:1920 AliPhysicsSelection.cxx:1921 AliPhysicsSelection.cxx:1922 AliPhysicsSelection.cxx:1923 AliPhysicsSelection.cxx:1924 AliPhysicsSelection.cxx:1925 AliPhysicsSelection.cxx:1926 AliPhysicsSelection.cxx:1927 AliPhysicsSelection.cxx:1928 AliPhysicsSelection.cxx:1929 AliPhysicsSelection.cxx:1930 AliPhysicsSelection.cxx:1931 AliPhysicsSelection.cxx:1932 AliPhysicsSelection.cxx:1933 AliPhysicsSelection.cxx:1934 AliPhysicsSelection.cxx:1935 AliPhysicsSelection.cxx:1936 AliPhysicsSelection.cxx:1937 AliPhysicsSelection.cxx:1938 AliPhysicsSelection.cxx:1939 AliPhysicsSelection.cxx:1940 AliPhysicsSelection.cxx:1941 AliPhysicsSelection.cxx:1942 AliPhysicsSelection.cxx:1943 AliPhysicsSelection.cxx:1944 AliPhysicsSelection.cxx:1945 AliPhysicsSelection.cxx:1946 AliPhysicsSelection.cxx:1947 AliPhysicsSelection.cxx:1948 AliPhysicsSelection.cxx:1949 AliPhysicsSelection.cxx:1950 AliPhysicsSelection.cxx:1951 AliPhysicsSelection.cxx:1952 AliPhysicsSelection.cxx:1953 AliPhysicsSelection.cxx:1954 AliPhysicsSelection.cxx:1955 AliPhysicsSelection.cxx:1956 AliPhysicsSelection.cxx:1957 AliPhysicsSelection.cxx:1958 AliPhysicsSelection.cxx:1959 AliPhysicsSelection.cxx:1960 AliPhysicsSelection.cxx:1961 AliPhysicsSelection.cxx:1962 AliPhysicsSelection.cxx:1963 AliPhysicsSelection.cxx:1964 AliPhysicsSelection.cxx:1965 AliPhysicsSelection.cxx:1966 AliPhysicsSelection.cxx:1967 AliPhysicsSelection.cxx:1968 AliPhysicsSelection.cxx:1969 AliPhysicsSelection.cxx:1970 AliPhysicsSelection.cxx:1971 AliPhysicsSelection.cxx:1972 AliPhysicsSelection.cxx:1973 AliPhysicsSelection.cxx:1974 AliPhysicsSelection.cxx:1975 AliPhysicsSelection.cxx:1976 AliPhysicsSelection.cxx:1977 AliPhysicsSelection.cxx:1978 AliPhysicsSelection.cxx:1979