#include "AliOADBPhysicsSelection.h"
#include "TList.h"
#include "TString.h"
#include "TObjString.h"
#include "AliLog.h"
#include "TBrowser.h"
#include "TFolder.h"
#include "TIterator.h"
#include <iostream>
using namespace std;
ClassImp(AliOADBPhysicsSelection)
AliOADBPhysicsSelection::AliOADBPhysicsSelection() :
TNamed("AliOADBPhysicsSelection", "OADB object for the physics selection"), fNtriggerBits(NTRIGGERBITS), fNtriggerLogics(NTRIGGERLOGICS),fCollTrigClasses(0),fBGTrigClasses(0),fHardwareTrigger(0),fOfflineTrigger(0),fBeamSide(0)
{
}
AliOADBPhysicsSelection::AliOADBPhysicsSelection(const char* name) :
TNamed(name, "OADB object for the physics selection"), fNtriggerBits(NTRIGGERBITS), fNtriggerLogics(NTRIGGERLOGICS),fCollTrigClasses(0),fBGTrigClasses(0),fHardwareTrigger(0),fOfflineTrigger(0),fBeamSide(0)
{
Init();
}
void AliOADBPhysicsSelection::Init() {
if(fCollTrigClasses) {
AliInfo("Already initialized");
return;
}
fNtriggerBits = NTRIGGERBITS;
fCollTrigClasses = new TList*[fNtriggerBits];
fBGTrigClasses = new TList*[fNtriggerBits];
fHardwareTrigger = new TObjString[fNtriggerLogics];
fOfflineTrigger = new TObjString[fNtriggerLogics];
fBeamSide = new TMap;
for(UInt_t ibit = 0; ibit < fNtriggerBits; ibit++){
fCollTrigClasses[ibit] = new TList;
fBGTrigClasses [ibit] = new TList;
}
for(UInt_t ilogic = 0; ilogic < fNtriggerLogics; ilogic++){
fHardwareTrigger[ilogic] = "";
fOfflineTrigger [ilogic] = "";
}
}
AliOADBPhysicsSelection::~AliOADBPhysicsSelection(){
if(fHardwareTrigger) delete [] fHardwareTrigger;
if(fOfflineTrigger) delete [] fOfflineTrigger ;
for(Int_t ibit = 0; ibit < NTRIGGERBITS; ibit++){
if(fCollTrigClasses)
if(fCollTrigClasses[ibit]) delete fCollTrigClasses[ibit];
if(fBGTrigClasses)
if(fBGTrigClasses [ibit]) delete fBGTrigClasses [ibit];
}
}
AliOADBPhysicsSelection::AliOADBPhysicsSelection(const AliOADBPhysicsSelection& cont) :TNamed("AliOADBPhysicsSelection", "OADB object for the physics selection"), fNtriggerBits(NTRIGGERBITS), fNtriggerLogics(NTRIGGERLOGICS),fCollTrigClasses(0),fBGTrigClasses(0),fHardwareTrigger(0),fOfflineTrigger(0),fBeamSide(0) {
fCollTrigClasses = cont.fCollTrigClasses;
fBGTrigClasses = cont.fBGTrigClasses;
fHardwareTrigger = cont.fHardwareTrigger;
fOfflineTrigger = cont.fOfflineTrigger;
fBeamSide = cont.fBeamSide;
}
AliOADBPhysicsSelection& AliOADBPhysicsSelection::operator=(const AliOADBPhysicsSelection& other) {
if(&other == this) return *this;
TNamed::operator=(other);
fCollTrigClasses = other.fCollTrigClasses;
fBGTrigClasses = other.fBGTrigClasses;
fHardwareTrigger = other.fHardwareTrigger;
fOfflineTrigger = other.fOfflineTrigger;
fBeamSide = other.fBeamSide;
return *this;
}
void AliOADBPhysicsSelection::AddCollisionTriggerClass(AliVEvent::EOfflineTriggerTypes triggerMask, const char* className,const char * beamSide, UInt_t triggerLogic) {
TObjString * tclass = new TObjString(Form("%s &%u *%u",ExpandTriggerString(className),triggerMask, triggerLogic));
fCollTrigClasses[GetActiveBit(triggerMask)]->Add(tclass);
SetBeamSide(tclass->String().Data(),beamSide);
}
void AliOADBPhysicsSelection::AddBGTriggerClass (AliVEvent::EOfflineTriggerTypes triggerMask, const char* className,const char * beamSide, UInt_t triggerLogic)
{
TObjString * tclass = new TObjString(Form("%s &%u *%u",ExpandTriggerString(className),triggerMask, triggerLogic));
fBGTrigClasses [GetActiveBit(triggerMask)]->Add(tclass);
SetBeamSide(tclass->String().Data(),beamSide);
}
const TString AliOADBPhysicsSelection::GetBeamSide (const char * trigger) {
TObjString * cname = new TObjString(trigger);
CleanKey(cname->String());
static TString retValue="";
retValue = ((TObjString*)fBeamSide->GetValue(cname->String().Data())) ?
((TObjString*)fBeamSide->GetValue(cname->String().Data()))->String() : "" ;
delete cname;
return retValue;
}
void AliOADBPhysicsSelection::SetBeamSide (const char * className, const char * side)
{
TObjString * cname = new TObjString(className);
CleanKey(cname->String());
fBeamSide->Add(new TObjString(cname->String().Data()), new TObjString(side));
delete cname;
}
void AliOADBPhysicsSelection::CleanKey(TString & str) {
if(str.Index("*")>0)
str.Remove(str.Index("*"));
if(str.Index("#")>0)
str.Remove(str.Index("#"));
if(str.Index("&")>0)
str.Remove(str.Index("&"));
str.ReplaceAll(" ","");
}
void AliOADBPhysicsSelection::Print(Option_t* option) const {
for(UInt_t ibit = 0; ibit < fNtriggerBits; ibit++){
cout << "Bit " << ibit << endl;
fCollTrigClasses[ibit]->Print(option);
fBGTrigClasses[ibit]->Print(option);
cout << "HW trig " << fHardwareTrigger[ibit].String().Data() << endl;
cout << "Offline trig " << fHardwareTrigger[ibit].String().Data() << endl;
}
cout << "Beams: " << endl;
fBeamSide->Print();
}
void AliOADBPhysicsSelection::Browse(TBrowser *b)
{
static TFolder ** bitFolders = 0;
if(!bitFolders) {
bitFolders = new TFolder*[fNtriggerBits];
for(UInt_t ibit = 0; ibit < fNtriggerBits; ibit++){
bitFolders[ibit] = 0;
}
}
if (b) {
for(UInt_t ibit = 0; ibit < fNtriggerBits; ibit++){
if(bitFolders[ibit]) delete bitFolders[ibit];
bitFolders[ibit] = new TFolder (Form("Bit %2.2d", ibit), "Trigger bit folder");
bitFolders[ibit]->SetOwner();
for(UInt_t ilogic = 0; ilogic < fNtriggerLogics; ilogic++){
if(GetHardwareTrigger(ilogic) != "" || GetOfflineTrigger(ilogic) != "") {
bitFolders[ibit]->Add(new TObjString(Form("Hardware Trig [*%d][%s]",ilogic,GetHardwareTrigger(ilogic).Data())));
bitFolders[ibit]->Add(new TObjString(Form("Offline Trig [*%d][%s]",ilogic,GetOfflineTrigger(ilogic).Data())));
}
}
TIterator *itColl = fCollTrigClasses[ibit]->MakeIterator();
TObjString * coll = 0;
while ((coll = (TObjString*)itColl->Next())) {
bitFolders[ibit]->Add(new TObjString(Form("Collision Class [%s] [%s]", coll->String().Data(),
GetBeamSide(coll->String().Data()).Data())));
}
delete itColl;
TIterator *itBG = fBGTrigClasses[ibit]->MakeIterator();
TObjString * bg = 0;
while ((bg = (TObjString*)itBG->Next())) {
bitFolders[ibit]->Add(new TObjString(Form("Background Class [%s] [%s]", bg->String().Data(),
GetBeamSide(bg->String().Data()).Data())));
}
delete itBG;
b->Add(bitFolders[ibit]);
}
}
else
TObject::Browse(b);
}
UInt_t AliOADBPhysicsSelection::GetActiveBit(UInt_t mask) {
const Int_t kNBitsToCheck = 29;
Int_t nbit = kNBitsToCheck;
Int_t activeBit = -1;
for(Int_t ibit = 0; ibit < nbit; ibit++){
if ( mask & (0x1 << ibit) ) {
if (activeBit == -1) activeBit = ibit;
else Printf("ERROR (AliTriggerAnalysis::GetActiveBit): More than one bit is on in this mask 0x%x", mask);
}
}
if (activeBit == -1) {
Printf("ERROR (AliTriggerAnalysis::GetActiveBit): No bit is on");
activeBit=0;
}
return activeBit;
}
const char* AliOADBPhysicsSelection::ExpandTriggerString(const char* className)
{
static TString str;
str = className;
TObjArray* triggers = str.Tokenize(" ");
for (Int_t j=0; j<triggers->GetEntries(); j++)
{
str = triggers->At(j)->GetName();
str = str(1, str.Length());
TList list;
list.SetOwner();
TObjArray* triggers2 = str.Tokenize(",");
for (Int_t k=0; k<triggers2->GetEntries(); k++)
list.Add(new TObjString(triggers2->At(k)->GetName()));
delete triggers2;
while (1)
{
Int_t i=0;
for (i=0; i<list.GetEntries(); i++)
{
str = list.At(i)->GetName();
Int_t begin = str.Index("[");
Int_t end = str.Index("]");
if (begin >= 0 && end >= 0)
{
TString before = str(0, begin);
TString after = str(end+1, str.Length());
TString tokens = str(begin+1, end-begin-1);
Int_t pos = 0;
while (tokens.Index("|", pos) >= 0)
{
list.Add(new TObjString(before + tokens(pos, tokens.Index("|", pos) - pos) + after));
pos = tokens.Index("|", pos) + 1;
}
list.Add(new TObjString(before + tokens(pos, tokens.Length()) + after));
delete list.RemoveAt(i);
i=-1;
}
}
str = "";
for (i=0; i<list.GetEntries(); i++)
{
str += list.At(i)->GetName();
str += ",";
}
str = str(0, str.Length() - 1);
break;
}
TString& target = ((TObjString*) triggers->At(j))->String();
target.Form("%c%s", target[0], str.Data());
}
str = "";
for (Int_t j=0; j<triggers->GetEntries(); j++)
{
str += triggers->At(j)->GetName();
str += " ";
}
str = str(0, str.Length() - 1);
delete triggers;
if (strcmp(className, str.Data()))
Printf("AliOADBPhysicsSelection::ExpandTriggerString: In: <%s> Out: <%s>", className, str.Data());
return str;
}
AliOADBPhysicsSelection.cxx:1 AliOADBPhysicsSelection.cxx:2 AliOADBPhysicsSelection.cxx:3 AliOADBPhysicsSelection.cxx:4 AliOADBPhysicsSelection.cxx:5 AliOADBPhysicsSelection.cxx:6 AliOADBPhysicsSelection.cxx:7 AliOADBPhysicsSelection.cxx:8 AliOADBPhysicsSelection.cxx:9 AliOADBPhysicsSelection.cxx:10 AliOADBPhysicsSelection.cxx:11 AliOADBPhysicsSelection.cxx:12 AliOADBPhysicsSelection.cxx:13 AliOADBPhysicsSelection.cxx:14 AliOADBPhysicsSelection.cxx:15 AliOADBPhysicsSelection.cxx:16 AliOADBPhysicsSelection.cxx:17 AliOADBPhysicsSelection.cxx:18 AliOADBPhysicsSelection.cxx:19 AliOADBPhysicsSelection.cxx:20 AliOADBPhysicsSelection.cxx:21 AliOADBPhysicsSelection.cxx:22 AliOADBPhysicsSelection.cxx:23 AliOADBPhysicsSelection.cxx:24 AliOADBPhysicsSelection.cxx:25 AliOADBPhysicsSelection.cxx:26 AliOADBPhysicsSelection.cxx:27 AliOADBPhysicsSelection.cxx:28 AliOADBPhysicsSelection.cxx:29 AliOADBPhysicsSelection.cxx:30 AliOADBPhysicsSelection.cxx:31 AliOADBPhysicsSelection.cxx:32 AliOADBPhysicsSelection.cxx:33 AliOADBPhysicsSelection.cxx:34 AliOADBPhysicsSelection.cxx:35 AliOADBPhysicsSelection.cxx:36 AliOADBPhysicsSelection.cxx:37 AliOADBPhysicsSelection.cxx:38 AliOADBPhysicsSelection.cxx:39 AliOADBPhysicsSelection.cxx:40 AliOADBPhysicsSelection.cxx:41 AliOADBPhysicsSelection.cxx:42 AliOADBPhysicsSelection.cxx:43 AliOADBPhysicsSelection.cxx:44 AliOADBPhysicsSelection.cxx:45 AliOADBPhysicsSelection.cxx:46 AliOADBPhysicsSelection.cxx:47 AliOADBPhysicsSelection.cxx:48 AliOADBPhysicsSelection.cxx:49 AliOADBPhysicsSelection.cxx:50 AliOADBPhysicsSelection.cxx:51 AliOADBPhysicsSelection.cxx:52 AliOADBPhysicsSelection.cxx:53 AliOADBPhysicsSelection.cxx:54 AliOADBPhysicsSelection.cxx:55 AliOADBPhysicsSelection.cxx:56 AliOADBPhysicsSelection.cxx:57 AliOADBPhysicsSelection.cxx:58 AliOADBPhysicsSelection.cxx:59 AliOADBPhysicsSelection.cxx:60 AliOADBPhysicsSelection.cxx:61 AliOADBPhysicsSelection.cxx:62 AliOADBPhysicsSelection.cxx:63 AliOADBPhysicsSelection.cxx:64 AliOADBPhysicsSelection.cxx:65 AliOADBPhysicsSelection.cxx:66 AliOADBPhysicsSelection.cxx:67 AliOADBPhysicsSelection.cxx:68 AliOADBPhysicsSelection.cxx:69 AliOADBPhysicsSelection.cxx:70 AliOADBPhysicsSelection.cxx:71 AliOADBPhysicsSelection.cxx:72 AliOADBPhysicsSelection.cxx:73 AliOADBPhysicsSelection.cxx:74 AliOADBPhysicsSelection.cxx:75 AliOADBPhysicsSelection.cxx:76 AliOADBPhysicsSelection.cxx:77 AliOADBPhysicsSelection.cxx:78 AliOADBPhysicsSelection.cxx:79 AliOADBPhysicsSelection.cxx:80 AliOADBPhysicsSelection.cxx:81 AliOADBPhysicsSelection.cxx:82 AliOADBPhysicsSelection.cxx:83 AliOADBPhysicsSelection.cxx:84 AliOADBPhysicsSelection.cxx:85 AliOADBPhysicsSelection.cxx:86 AliOADBPhysicsSelection.cxx:87 AliOADBPhysicsSelection.cxx:88 AliOADBPhysicsSelection.cxx:89 AliOADBPhysicsSelection.cxx:90 AliOADBPhysicsSelection.cxx:91 AliOADBPhysicsSelection.cxx:92 AliOADBPhysicsSelection.cxx:93 AliOADBPhysicsSelection.cxx:94 AliOADBPhysicsSelection.cxx:95 AliOADBPhysicsSelection.cxx:96 AliOADBPhysicsSelection.cxx:97 AliOADBPhysicsSelection.cxx:98 AliOADBPhysicsSelection.cxx:99 AliOADBPhysicsSelection.cxx:100 AliOADBPhysicsSelection.cxx:101 AliOADBPhysicsSelection.cxx:102 AliOADBPhysicsSelection.cxx:103 AliOADBPhysicsSelection.cxx:104 AliOADBPhysicsSelection.cxx:105 AliOADBPhysicsSelection.cxx:106 AliOADBPhysicsSelection.cxx:107 AliOADBPhysicsSelection.cxx:108 AliOADBPhysicsSelection.cxx:109 AliOADBPhysicsSelection.cxx:110 AliOADBPhysicsSelection.cxx:111 AliOADBPhysicsSelection.cxx:112 AliOADBPhysicsSelection.cxx:113 AliOADBPhysicsSelection.cxx:114 AliOADBPhysicsSelection.cxx:115 AliOADBPhysicsSelection.cxx:116 AliOADBPhysicsSelection.cxx:117 AliOADBPhysicsSelection.cxx:118 AliOADBPhysicsSelection.cxx:119 AliOADBPhysicsSelection.cxx:120 AliOADBPhysicsSelection.cxx:121 AliOADBPhysicsSelection.cxx:122 AliOADBPhysicsSelection.cxx:123 AliOADBPhysicsSelection.cxx:124 AliOADBPhysicsSelection.cxx:125 AliOADBPhysicsSelection.cxx:126 AliOADBPhysicsSelection.cxx:127 AliOADBPhysicsSelection.cxx:128 AliOADBPhysicsSelection.cxx:129 AliOADBPhysicsSelection.cxx:130 AliOADBPhysicsSelection.cxx:131 AliOADBPhysicsSelection.cxx:132 AliOADBPhysicsSelection.cxx:133 AliOADBPhysicsSelection.cxx:134 AliOADBPhysicsSelection.cxx:135 AliOADBPhysicsSelection.cxx:136 AliOADBPhysicsSelection.cxx:137 AliOADBPhysicsSelection.cxx:138 AliOADBPhysicsSelection.cxx:139 AliOADBPhysicsSelection.cxx:140 AliOADBPhysicsSelection.cxx:141 AliOADBPhysicsSelection.cxx:142 AliOADBPhysicsSelection.cxx:143 AliOADBPhysicsSelection.cxx:144 AliOADBPhysicsSelection.cxx:145 AliOADBPhysicsSelection.cxx:146 AliOADBPhysicsSelection.cxx:147 AliOADBPhysicsSelection.cxx:148 AliOADBPhysicsSelection.cxx:149 AliOADBPhysicsSelection.cxx:150 AliOADBPhysicsSelection.cxx:151 AliOADBPhysicsSelection.cxx:152 AliOADBPhysicsSelection.cxx:153 AliOADBPhysicsSelection.cxx:154 AliOADBPhysicsSelection.cxx:155 AliOADBPhysicsSelection.cxx:156 AliOADBPhysicsSelection.cxx:157 AliOADBPhysicsSelection.cxx:158 AliOADBPhysicsSelection.cxx:159 AliOADBPhysicsSelection.cxx:160 AliOADBPhysicsSelection.cxx:161 AliOADBPhysicsSelection.cxx:162 AliOADBPhysicsSelection.cxx:163 AliOADBPhysicsSelection.cxx:164 AliOADBPhysicsSelection.cxx:165 AliOADBPhysicsSelection.cxx:166 AliOADBPhysicsSelection.cxx:167 AliOADBPhysicsSelection.cxx:168 AliOADBPhysicsSelection.cxx:169 AliOADBPhysicsSelection.cxx:170 AliOADBPhysicsSelection.cxx:171 AliOADBPhysicsSelection.cxx:172 AliOADBPhysicsSelection.cxx:173 AliOADBPhysicsSelection.cxx:174 AliOADBPhysicsSelection.cxx:175 AliOADBPhysicsSelection.cxx:176 AliOADBPhysicsSelection.cxx:177 AliOADBPhysicsSelection.cxx:178 AliOADBPhysicsSelection.cxx:179 AliOADBPhysicsSelection.cxx:180 AliOADBPhysicsSelection.cxx:181 AliOADBPhysicsSelection.cxx:182 AliOADBPhysicsSelection.cxx:183 AliOADBPhysicsSelection.cxx:184 AliOADBPhysicsSelection.cxx:185 AliOADBPhysicsSelection.cxx:186 AliOADBPhysicsSelection.cxx:187 AliOADBPhysicsSelection.cxx:188 AliOADBPhysicsSelection.cxx:189 AliOADBPhysicsSelection.cxx:190 AliOADBPhysicsSelection.cxx:191 AliOADBPhysicsSelection.cxx:192 AliOADBPhysicsSelection.cxx:193 AliOADBPhysicsSelection.cxx:194 AliOADBPhysicsSelection.cxx:195 AliOADBPhysicsSelection.cxx:196 AliOADBPhysicsSelection.cxx:197 AliOADBPhysicsSelection.cxx:198 AliOADBPhysicsSelection.cxx:199 AliOADBPhysicsSelection.cxx:200 AliOADBPhysicsSelection.cxx:201 AliOADBPhysicsSelection.cxx:202 AliOADBPhysicsSelection.cxx:203 AliOADBPhysicsSelection.cxx:204 AliOADBPhysicsSelection.cxx:205 AliOADBPhysicsSelection.cxx:206 AliOADBPhysicsSelection.cxx:207 AliOADBPhysicsSelection.cxx:208 AliOADBPhysicsSelection.cxx:209 AliOADBPhysicsSelection.cxx:210 AliOADBPhysicsSelection.cxx:211 AliOADBPhysicsSelection.cxx:212 AliOADBPhysicsSelection.cxx:213 AliOADBPhysicsSelection.cxx:214 AliOADBPhysicsSelection.cxx:215 AliOADBPhysicsSelection.cxx:216 AliOADBPhysicsSelection.cxx:217 AliOADBPhysicsSelection.cxx:218 AliOADBPhysicsSelection.cxx:219 AliOADBPhysicsSelection.cxx:220 AliOADBPhysicsSelection.cxx:221 AliOADBPhysicsSelection.cxx:222 AliOADBPhysicsSelection.cxx:223 AliOADBPhysicsSelection.cxx:224 AliOADBPhysicsSelection.cxx:225 AliOADBPhysicsSelection.cxx:226 AliOADBPhysicsSelection.cxx:227 AliOADBPhysicsSelection.cxx:228 AliOADBPhysicsSelection.cxx:229 AliOADBPhysicsSelection.cxx:230 AliOADBPhysicsSelection.cxx:231 AliOADBPhysicsSelection.cxx:232 AliOADBPhysicsSelection.cxx:233 AliOADBPhysicsSelection.cxx:234 AliOADBPhysicsSelection.cxx:235 AliOADBPhysicsSelection.cxx:236 AliOADBPhysicsSelection.cxx:237 AliOADBPhysicsSelection.cxx:238 AliOADBPhysicsSelection.cxx:239 AliOADBPhysicsSelection.cxx:240 AliOADBPhysicsSelection.cxx:241 AliOADBPhysicsSelection.cxx:242 AliOADBPhysicsSelection.cxx:243 AliOADBPhysicsSelection.cxx:244 AliOADBPhysicsSelection.cxx:245 AliOADBPhysicsSelection.cxx:246 AliOADBPhysicsSelection.cxx:247 AliOADBPhysicsSelection.cxx:248 AliOADBPhysicsSelection.cxx:249 AliOADBPhysicsSelection.cxx:250 AliOADBPhysicsSelection.cxx:251 AliOADBPhysicsSelection.cxx:252 AliOADBPhysicsSelection.cxx:253 AliOADBPhysicsSelection.cxx:254 AliOADBPhysicsSelection.cxx:255 AliOADBPhysicsSelection.cxx:256 AliOADBPhysicsSelection.cxx:257 AliOADBPhysicsSelection.cxx:258 AliOADBPhysicsSelection.cxx:259 AliOADBPhysicsSelection.cxx:260 AliOADBPhysicsSelection.cxx:261 AliOADBPhysicsSelection.cxx:262 AliOADBPhysicsSelection.cxx:263 AliOADBPhysicsSelection.cxx:264 AliOADBPhysicsSelection.cxx:265 AliOADBPhysicsSelection.cxx:266 AliOADBPhysicsSelection.cxx:267 AliOADBPhysicsSelection.cxx:268 AliOADBPhysicsSelection.cxx:269 AliOADBPhysicsSelection.cxx:270 AliOADBPhysicsSelection.cxx:271 AliOADBPhysicsSelection.cxx:272 AliOADBPhysicsSelection.cxx:273 AliOADBPhysicsSelection.cxx:274 AliOADBPhysicsSelection.cxx:275 AliOADBPhysicsSelection.cxx:276 AliOADBPhysicsSelection.cxx:277 AliOADBPhysicsSelection.cxx:278 AliOADBPhysicsSelection.cxx:279 AliOADBPhysicsSelection.cxx:280 AliOADBPhysicsSelection.cxx:281 AliOADBPhysicsSelection.cxx:282 AliOADBPhysicsSelection.cxx:283 AliOADBPhysicsSelection.cxx:284 AliOADBPhysicsSelection.cxx:285 AliOADBPhysicsSelection.cxx:286 AliOADBPhysicsSelection.cxx:287 AliOADBPhysicsSelection.cxx:288 AliOADBPhysicsSelection.cxx:289 AliOADBPhysicsSelection.cxx:290 AliOADBPhysicsSelection.cxx:291 AliOADBPhysicsSelection.cxx:292 AliOADBPhysicsSelection.cxx:293 AliOADBPhysicsSelection.cxx:294 AliOADBPhysicsSelection.cxx:295 AliOADBPhysicsSelection.cxx:296 AliOADBPhysicsSelection.cxx:297 AliOADBPhysicsSelection.cxx:298 AliOADBPhysicsSelection.cxx:299 AliOADBPhysicsSelection.cxx:300 AliOADBPhysicsSelection.cxx:301 AliOADBPhysicsSelection.cxx:302 AliOADBPhysicsSelection.cxx:303 AliOADBPhysicsSelection.cxx:304 AliOADBPhysicsSelection.cxx:305 AliOADBPhysicsSelection.cxx:306 AliOADBPhysicsSelection.cxx:307 AliOADBPhysicsSelection.cxx:308 AliOADBPhysicsSelection.cxx:309 AliOADBPhysicsSelection.cxx:310 AliOADBPhysicsSelection.cxx:311 AliOADBPhysicsSelection.cxx:312 AliOADBPhysicsSelection.cxx:313 AliOADBPhysicsSelection.cxx:314 AliOADBPhysicsSelection.cxx:315 AliOADBPhysicsSelection.cxx:316 AliOADBPhysicsSelection.cxx:317 AliOADBPhysicsSelection.cxx:318 AliOADBPhysicsSelection.cxx:319 AliOADBPhysicsSelection.cxx:320 AliOADBPhysicsSelection.cxx:321 AliOADBPhysicsSelection.cxx:322 AliOADBPhysicsSelection.cxx:323 AliOADBPhysicsSelection.cxx:324 AliOADBPhysicsSelection.cxx:325 AliOADBPhysicsSelection.cxx:326 AliOADBPhysicsSelection.cxx:327 AliOADBPhysicsSelection.cxx:328 AliOADBPhysicsSelection.cxx:329 AliOADBPhysicsSelection.cxx:330 AliOADBPhysicsSelection.cxx:331 AliOADBPhysicsSelection.cxx:332 AliOADBPhysicsSelection.cxx:333 AliOADBPhysicsSelection.cxx:334 AliOADBPhysicsSelection.cxx:335 AliOADBPhysicsSelection.cxx:336 AliOADBPhysicsSelection.cxx:337 AliOADBPhysicsSelection.cxx:338 AliOADBPhysicsSelection.cxx:339 AliOADBPhysicsSelection.cxx:340 AliOADBPhysicsSelection.cxx:341 AliOADBPhysicsSelection.cxx:342