40 |
|
fLATree(0), |
41 |
|
fAllTree(0), |
42 |
|
fSkimmedIn(0), |
43 |
– |
fL1Tree(0), |
43 |
|
fHltTree(0), |
44 |
|
fHLTTab(new vector<string>), |
45 |
|
fHLTLab(new vector<string>), |
46 |
|
fRunEntries(0), |
48 |
– |
fL1Entries(0), |
47 |
|
fHltEntries(0), |
48 |
|
fFileNum(-1), |
49 |
|
fLastWrittenEvt(-1), |
50 |
|
fLastSeenEvt(-1), |
51 |
< |
fCounter(0), |
54 |
< |
fAddBrList(0) |
51 |
> |
fCounter(0) |
52 |
|
{ |
53 |
|
// Constructor. |
54 |
|
} |
156 |
|
} |
157 |
|
|
158 |
|
for (UInt_t i=0; i<fBrNameList.size(); ++i) { |
159 |
< |
TString brname(fBrNameList.at(i).c_str()); |
159 |
> |
TString brname(fBrNameList.at(i)); |
160 |
|
if (!blist->FindObject(brname)) |
161 |
|
continue; |
162 |
|
TList *bdeps = br->GetDepBranches(brname); |
293 |
|
} |
294 |
|
|
295 |
|
//-------------------------------------------------------------------------------------------------- |
299 |
– |
void OutputMod::FillL1Info() |
300 |
– |
{ |
301 |
– |
// Not doing anything here until the production writes out L1 information. |
302 |
– |
|
303 |
– |
if (!fL1Tree) |
304 |
– |
return; |
305 |
– |
} |
306 |
– |
|
307 |
– |
//-------------------------------------------------------------------------------------------------- |
296 |
|
void OutputMod::FillHltInfo() |
297 |
|
{ |
298 |
|
// Write HLT trigger table if needed. |
371 |
|
Bool_t OutputMod::Notify() |
372 |
|
{ |
373 |
|
// On first notify, loop over list of branches to determine the list of kept branches. |
374 |
< |
|
374 |
> |
cout << "NOOOOOOOOOOOOOTIIIFYYYYYYYYYYYY" <<endl; |
375 |
|
if (GetNEventsProcessed() != 0) |
376 |
|
return kTRUE; |
377 |
|
|
414 |
|
// Loop over requested branches and load them. |
415 |
|
|
416 |
|
for (UInt_t i=0; i<GetNBranches(); ++i) { |
417 |
+ |
cout << i << " " << fBrNameList.at(i)<< endl; |
418 |
|
LoadBranch(fBrNameList.at(i).c_str()); |
419 |
|
} |
420 |
|
} |
460 |
|
if (fTreeWriter->GetFileNumber()!=fFileNum) { |
461 |
|
fRunmap.clear(); |
462 |
|
fRunEntries = 0; |
474 |
– |
fL1Entries = 0; |
463 |
|
fHltEntries = 0; |
464 |
|
fFileNum = fTreeWriter->GetFileNumber(); |
465 |
|
fTreeWriter->StoreObject(fBranchTable); |
499 |
|
fRunmap.insert(pair<UInt_t,Int_t>(runnum,runentry)); |
500 |
|
fRunInfo->SetRunNum(runnum); |
501 |
|
|
514 |
– |
Int_t l1entry = fL1Entries; |
515 |
– |
FillL1Info(); |
516 |
– |
fRunInfo->SetL1Entry(l1entry); |
517 |
– |
|
502 |
|
Int_t hltentry = fHltEntries; |
503 |
|
FillHltInfo(); |
504 |
|
if (hltentry < fHltEntries) |
536 |
|
{ |
537 |
|
// Loop over requested branches and request them. |
538 |
|
|
539 |
+ |
cout << "Requestbbbbbbbbbbbbbbrrrrrrrrrrrrrrrrrrrrrrr " << endl; |
540 |
+ |
|
541 |
|
for (UInt_t i=0; i<GetNBranches(); ++i) { |
542 |
|
if (i>=fNBranchesMax) { |
543 |
< |
SendError(kAbortAnalysis, "RequestBranch", "Cannot request branch '%s' " |
543 |
> |
SendError(kAbortAnalysis, "RequestBranches", "Cannot request branch '%s' " |
544 |
|
"since maximum number of branches [%d] is reached", |
545 |
|
fBrNameList.at(i).c_str(), fNBranchesMax); |
546 |
|
return; |
547 |
|
} |
548 |
|
fBranches[i] = 0; |
549 |
+ |
cout << "Request " << i << " " << fBrNameList.at(i) << endl; |
550 |
|
TAModule::ReqBranch(fBrNameList.at(i).c_str(), fBranches[i]); |
551 |
|
} |
552 |
|
} |
617 |
|
// get pointer to all event headers |
618 |
|
fSkimmedIn = GetPublicObj<EventHeaderCol>(Names::gkSkimmedHeaders); |
619 |
|
|
633 |
– |
// deal here with published objects (not yet implemented) |
634 |
– |
fAddBrList = 0; |
635 |
– |
|
620 |
|
// create TObject space for TAM |
621 |
< |
fBranches = new TObject*[fNBranchesMax]; |
621 |
> |
fBranches = new TObject*[fNBranchesMax + fAddList.size()]; |
622 |
> |
|
623 |
> |
// deal here with additional published objects |
624 |
> |
for (UInt_t i=0; i<fAddList.size(); ++i) { |
625 |
> |
TString objname(fAddList.at(i)); |
626 |
> |
TObject *obj = FindPublicObj(objname); |
627 |
> |
if (obj) { |
628 |
> |
fBranches[fNBranchesMax+i] = obj; |
629 |
> |
fTreeWriter->AddBranch(objname, &fBranches[fNBranchesMax+i]); |
630 |
> |
Info("SlaveBegin", "Adding additional branch named '%s' as requested", objname.Data()); |
631 |
> |
} else { |
632 |
> |
SendError(kAbortAnalysis, "SlaveBegin", |
633 |
> |
"Object named '%s' for additional branch is NULL", objname.Data()); |
634 |
> |
} |
635 |
> |
} |
636 |
|
|
637 |
|
// adjust checks for TAM branches |
638 |
|
if (fKeepTamBr) |