#include "AliPhysicsSelection.h"
#include "AliAnalysisEtSelectionContainer.h"
#include "TFile.h"
#include "TSystem.h"
#include <iostream>
int Init()
{
}
int CreatePhysicsSelection(Int_t runNumber, TString filename);
AliPhysicsSelection* DefaultSelection();
AliPhysicsSelection* GetPhysicsSelection()
{
//Example of selection CMBS1* triggers (up to 137133), MANUAL SETTINGS REQUIRED
AliPhysicsSelection * physSel = new AliPhysicsSelection();
physSel->AddCollisionTriggerClass("+CMBAC-B-NOPF-ALL");
physSel->AddCollisionTriggerClass("+CMBS1C-B-NOPF-ALL");
physSel->AddCollisionTriggerClass("+CMBS1A-B-NOPF-ALL");
// This are needed only to fill the statistics tables
physSel->AddBGTriggerClass("+CMBAC-C-NOPF-ALL");
physSel->AddBGTriggerClass("+CMBS1C-C-NOPF-ALL");
physSel->AddBGTriggerClass("+CMBS1A-C-NOPF-ALL");
physSel->AddBGTriggerClass("+CMBAC-A-NOPF-ALL");
physSel->AddBGTriggerClass("+CMBS1C-A-NOPF-ALL");
physSel->AddBGTriggerClass("+CMBS1A-A-NOPF-ALL");
physSel->AddBGTriggerClass("+CMBAC-E-NOPF-ALL");
physSel->AddBGTriggerClass("+CMBS1C-E-NOPF-ALL");
physSel->AddBGTriggerClass("+CMBS1A-E-NOPF-ALL");
return physSel;
}
int UpdatePhysicsSelection(Int_t runNumber, TString filename)
{
AliPhysicsSelection *selection = GetPhysicsSelection();
TFile *file = TFile::Open(filename, "UPDATE");
AliAnalysisEtSelectionContainer *container = (dynamic_cast<AliAnalysisEtSelectionContainer*>(file->Get("physicsSelections")));
if(container)
{
container->AddDefaultSelection(DefaultSelection());
container->AddPhysicsSelection(selection, runNumber);
container->Write();
file->Close();
}
else
{
file->Close();
CreatePhysicsSelection(runNumber, filename);
}
return 0;
}
int UpdatePhysicsSelection(AliPhysicsSelection *selection, Int_t runNumber, TString filename)
{
TFile *file = TFile::Open(filename, "UPDATE");
AliAnalysisEtSelectionContainer *container = (dynamic_cast<AliAnalysisEtSelectionContainer*>(file->Get("physicsSelections")));
if(container)
{
container->AddDefaultSelection(DefaultSelection());
container->AddPhysicsSelection(selection, runNumber);
container->Write();
file->Close();
}
else
{
file->Close();
CreatePhysicsSelection(runNumber, filename);
}
return 0;
}
int CreatePhysicsSelection(Int_t runNumber, TString filename)
{
TFile *file = TFile::Open(filename, "RECREATE");
AliAnalysisEtSelectionContainer *container = new AliAnalysisEtSelectionContainer("physicsSelections");
container->Write();
file->Close();
UpdatePhysicsSelection(runNumber, filename);
return 0;
}
AliPhysicsSelection* DefaultSelection()
{
return new AliPhysicsSelection();
}
CreatePhysicsSelection.C:1 CreatePhysicsSelection.C:2 CreatePhysicsSelection.C:3 CreatePhysicsSelection.C:4 CreatePhysicsSelection.C:5 CreatePhysicsSelection.C:6 CreatePhysicsSelection.C:7 CreatePhysicsSelection.C:8 CreatePhysicsSelection.C:9 CreatePhysicsSelection.C:10 CreatePhysicsSelection.C:11 CreatePhysicsSelection.C:12 CreatePhysicsSelection.C:13 CreatePhysicsSelection.C:14 CreatePhysicsSelection.C:15 CreatePhysicsSelection.C:16 CreatePhysicsSelection.C:17 CreatePhysicsSelection.C:18 CreatePhysicsSelection.C:19 CreatePhysicsSelection.C:20 CreatePhysicsSelection.C:21 CreatePhysicsSelection.C:22 CreatePhysicsSelection.C:23 CreatePhysicsSelection.C:24 CreatePhysicsSelection.C:25 CreatePhysicsSelection.C:26 CreatePhysicsSelection.C:27 CreatePhysicsSelection.C:28 CreatePhysicsSelection.C:29 CreatePhysicsSelection.C:30 CreatePhysicsSelection.C:31 CreatePhysicsSelection.C:32 CreatePhysicsSelection.C:33 CreatePhysicsSelection.C:34 CreatePhysicsSelection.C:35 CreatePhysicsSelection.C:36 CreatePhysicsSelection.C:37 CreatePhysicsSelection.C:38 CreatePhysicsSelection.C:39 CreatePhysicsSelection.C:40 CreatePhysicsSelection.C:41 CreatePhysicsSelection.C:42 CreatePhysicsSelection.C:43 CreatePhysicsSelection.C:44 CreatePhysicsSelection.C:45 CreatePhysicsSelection.C:46 CreatePhysicsSelection.C:47 CreatePhysicsSelection.C:48 CreatePhysicsSelection.C:49 CreatePhysicsSelection.C:50 CreatePhysicsSelection.C:51 CreatePhysicsSelection.C:52 CreatePhysicsSelection.C:53 CreatePhysicsSelection.C:54 CreatePhysicsSelection.C:55 CreatePhysicsSelection.C:56 CreatePhysicsSelection.C:57 CreatePhysicsSelection.C:58 CreatePhysicsSelection.C:59 CreatePhysicsSelection.C:60 CreatePhysicsSelection.C:61 CreatePhysicsSelection.C:62 CreatePhysicsSelection.C:63 CreatePhysicsSelection.C:64 CreatePhysicsSelection.C:65 CreatePhysicsSelection.C:66 CreatePhysicsSelection.C:67 CreatePhysicsSelection.C:68 CreatePhysicsSelection.C:69 CreatePhysicsSelection.C:70 CreatePhysicsSelection.C:71 CreatePhysicsSelection.C:72 CreatePhysicsSelection.C:73 CreatePhysicsSelection.C:74 CreatePhysicsSelection.C:75 CreatePhysicsSelection.C:76 CreatePhysicsSelection.C:77 CreatePhysicsSelection.C:78 CreatePhysicsSelection.C:79 CreatePhysicsSelection.C:80 CreatePhysicsSelection.C:81 CreatePhysicsSelection.C:82 CreatePhysicsSelection.C:83 CreatePhysicsSelection.C:84 CreatePhysicsSelection.C:85 CreatePhysicsSelection.C:86 CreatePhysicsSelection.C:87 CreatePhysicsSelection.C:88 CreatePhysicsSelection.C:89 CreatePhysicsSelection.C:90 CreatePhysicsSelection.C:91 CreatePhysicsSelection.C:92 CreatePhysicsSelection.C:93 CreatePhysicsSelection.C:94 CreatePhysicsSelection.C:95 CreatePhysicsSelection.C:96 CreatePhysicsSelection.C:97 CreatePhysicsSelection.C:98 CreatePhysicsSelection.C:99 CreatePhysicsSelection.C:100 CreatePhysicsSelection.C:101 CreatePhysicsSelection.C:102 CreatePhysicsSelection.C:103 CreatePhysicsSelection.C:104 CreatePhysicsSelection.C:105 CreatePhysicsSelection.C:106 CreatePhysicsSelection.C:107