ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/TreeMod/src/OutputMod.cc
(Generate patch)

Comparing UserCode/MitAna/TreeMod/src/OutputMod.cc (file contents):
Revision 1.13 by loizides, Mon Jun 15 15:00:17 2009 UTC vs.
Revision 1.14 by loizides, Fri Jul 17 19:18:34 2009 UTC

# Line 40 | Line 40 | OutputMod::OutputMod(const char *name, c
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   }
# Line 159 | Line 156 | Bool_t OutputMod::CheckAndResolveBranchD
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);
# Line 296 | Line 293 | void OutputMod::FillAllEventHeader(Bool_
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.
# Line 383 | Line 371 | Bool_t OutputMod::IsAcceptedBranch(const
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  
# Line 426 | Line 414 | void OutputMod::LoadBranches()
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   }
# Line 471 | Line 460 | void OutputMod::Process()
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);
# Line 511 | Line 499 | void OutputMod::Process()
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)
# Line 552 | Line 536 | void OutputMod::RequestBranches()
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   }
# Line 630 | Line 617 | void OutputMod::SlaveBegin()
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)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines