15 const char* turl =
gSystem->Getenv(
"ALIEN_JDL_OUTPUTDIR");
21 TString fESDFileName =
"alien://";
23 fESDFileName +=
"/AliESDs.root";
30 TString fAliroot, fRoot, fGeant;
36 UpdateTag(fAliroot,fRoot,fGeant,fESDFileName,fGUID,fPeriod,fPass,fName);
49 const char* turl =
gSystem->Getenv(
"ALIEN_JDL_OUTPUTDIR");
54 for (
int iter=0; iter<fDirs->GetEntries(); iter++) {
55 TString fDir = ((TObjString *) fDirs->At(iter))->String();
57 if (fDir.Contains(
"LHC")) fPeriod = fDir;
58 if (fDir.Contains(
"pass")) fPass = fDir;
60 fName = fPeriod+
"."+
fPass;
73 const char* fver =
gSystem->Getenv(
"ALIEN_JDL_PACKAGES");
75 Int_t fFirst = fS.First(
"#");
78 Int_t fTotalLength = fS.Length();
81 tmp = fS(fFirst+2,fTotalLength);
84 if(fS1.Contains(
"Root")) fAliroot = fS1;
85 if(fS1.Contains(
"ROOT")) froot = fS1;
86 if(fS1.Contains(
"GEANT")) fgeant = fS1;
88 if(tmp.Contains(
"Root")) fAliroot = tmp;
89 if(tmp.Contains(
"ROOT")) froot = tmp;
90 if(tmp.Contains(
"GEANT")) fgeant = tmp;
92 fFirst = tmp.First(
"#");
104 ofstream myfile (
"guid.txt");
105 if (!myfile.is_open()) {
106 Warning(
"GetGUID",
"Couldn't open guid.txt for writing");
110 TFile *f = TFile::Open(
"AliESDs.root",
"read");
111 if (!f || f->IsZombie() || !f->IsOpen()) {
112 Warning(
"GetGUID",
"Input file AliESDs.root not found");
116 guid = f->GetUUID().AsString();
118 Info(
"",
"Global Unique IDentifier: %s", guid.Data());
120 myfile <<
"AliESDs.root \t"<< guid << std::endl;
149 Info(
"",
"Updating tags (%s,%s,%s,%s,%s,%s,%s,%s",
150 faliroot.Data(), froot.Data(), fgeant.Data(),
151 turl.Data(), guid.Data(), fperiod.Data(),
152 fpass.Data(),fname.Data());
154 const TString tagPattern =
"tag.root";
158 TIter next(
dir.GetListOfFiles());
159 TSystemFile*
file = 0;
162 while ((file = static_cast<TSystemFile*>(next()))) {
164 if (!name.Contains(tagPattern))
continue;
167 TFile* f = TFile::Open(name,
"read") ;
171 Info(
"",
"Updating tags in %s", name.Data());
174 AliRunTag* tag = 0x0;
175 AliFileTag* flTag = 0x0;
181 fTree->SetBranchAddress(
"AliTAG",&tag);
184 AliRunTag* newTag = 0x0;
185 TTree ttag(
"T",
"A Tree with event tags");
186 TBranch* btag = ttag.Branch(
"AliTAG", &newTag);
187 btag->SetCompressionLevel(9);
189 ttag.SetDirectory(0);
191 Printf(
">>>>> Found %d entries....",fTree->GetEntries());
193 for (
Int_t iTagFiles = 0; iTagFiles < fTree->GetEntries(); iTagFiles++) {
195 newTag =
new AliRunTag(*tag);
196 newTag->SetAlirootVersion(faliroot);
197 newTag->SetRootVersion(froot);
198 newTag->SetGeant3Version(fgeant);
199 newTag->SetLHCPeriod(fperiod);
200 newTag->SetReconstructionPass(fpass);
201 newTag->SetProductionName(fname);
202 Printf(
"Found %d file tags",newTag->GetNFiles());
203 for(
Int_t j = 0; j < newTag->GetNFiles(); j++) {
204 flTag = (AliFileTag *) newTag->GetFileTag(j);
205 flTag->SetTURL(turl);
206 flTag->SetGUID(guid);
218 TFile* ftag = TFile::Open(name,
"recreate");
222 Info(
"",
"Overwrote %s with new tags", name.Data());
void GetVersions(TString &fAliroot, TString &froot, TString &fgeant)
void GetGUID(TString &guid)
void GetProductionInfo(TString &fPeriod, TString &fPass, TString &fName)
TFile * file
TList with histograms for a given trigger.
Bool_t UpdateTag(TString faliroot, TString froot, TString fgeant, TString turl, TString guid, TString fperiod, TString fpass, TString fname)