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

Comparing UserCode/MitAna/TreeMod/src/AnaFwkMod.cc (file contents):
Revision 1.8 by loizides, Mon Mar 23 08:30:59 2009 UTC vs.
Revision 1.14 by loizides, Sun Jun 28 08:02:05 2009 UTC

# Line 18 | Line 18 | AnaFwkMod::AnaFwkMod(const char *name, c
18    fAllHeadTreeName(Names::gkAllEvtTreeName),
19    fAllHeadBrName(Names::gkAllEvtHeaderBrn),
20    fSkipNEvents(0),
21 +  fPrintScale(1),
22    fSWtotal(0),
23    fSWevent(0),
24    fAllHeaders(0,Names::gkSkimmedHeaders),
# Line 49 | Line 50 | void AnaFwkMod::BeginRun()
50      if (!file)
51        return;
52  
53 <    // get HLT tree
53 >    // get all event header tree
54      fAllHeadTree = dynamic_cast<TTree*>(file->Get(fAllHeadTreeName));
55      if (!fAllHeadTree) {
56        SendError(kWarning, "BeginRun",
57 <                "Can not find tree '%s' in file '%s'",
57 >                "Cannot find tree '%s' in file '%s'",
58                  fAllHeadTreeName.Data(),file->GetName());
59        return;
60      }
60  }
61  
62 <  // get HLT trigger name branch
63 <  if (fAllHeadTree->GetBranch(fAllHeadBrName)) {
64 <    fAllHeadTree->SetBranchAddress(fAllHeadBrName, &fAllEventHeader);
65 <  } else {
66 <    SendError(kWarning, "BeginRun",
67 <              "Can not find branch '%s' in tree '%s'",
68 <              fAllHeadBrName.Data(), fAllHeadTreeName.Data());
69 <    return;
62 >    // get all event header branch
63 >    if (fAllHeadTree->GetBranch(fAllHeadBrName)) {
64 >      fAllHeadTree->SetBranchAddress(fAllHeadBrName, &fAllEventHeader);
65 >    } else {
66 >      SendError(kWarning, "BeginRun",
67 >                "Cannot find branch '%s' in tree '%s'",
68 >                fAllHeadBrName.Data(), fAllHeadTreeName.Data());
69 >      return;
70 >    }
71    }
72   }
73  
# Line 79 | Line 80 | void AnaFwkMod::CopyAllEventHeaders()
80  
81    const EventHeader *curev = GetEventHeader();
82    if (!curev) {
83 <    SendError(kWarning, "CopyAllEventHeaders", "Can not obtain current event");
83 >    SendError(kWarning, "CopyAllEventHeaders", "Cannot obtain current event");
84      return;
85    }
86  
# Line 167 | Line 168 | void AnaFwkMod::Process()
168    if (fNEventsSkipped<fSkipNEvents) {
169      ++fNEventsSkipped;
170      MDB(kAnalysis, 3) {
171 <      SendError(kWarning, "Process", "Skipping (aborting) %d out of %d first events.",
172 <                fNEventsSkipped, fSkipNEvents);
171 >      Info("Process", "Skipping (aborting) %d out of %d first events.",
172 >           fNEventsSkipped, fSkipNEvents);
173      }
174      AbortEvent();
175      return;
176    }
177  
178    // check if printout should be done
179 <  Bool_t doPrint = 0;
179 >  Bool_t doPrint    = 0;
180 >  UInt_t nProcessed = fPrintScale;
181  
182    MDB(kAnalysis, 4) {
183 <    if (GetNEventsProcessed() % 250  == 0)
183 >    if (GetNEventsProcessed() % (fPrintScale)  == 0)
184        doPrint = 1;
185    } else {
186      MDB(kAnalysis, 3) {
187 <      if (GetNEventsProcessed() % 2500  == 0)
187 >      if (GetNEventsProcessed() % (fPrintScale*10)  == 0)
188          doPrint = 1;
189 +      nProcessed = fPrintScale*10;
190      } else {
191        MDB(kAnalysis, 2) {
192 <        if (GetNEventsProcessed() % 10000  == 0)
192 >        if (GetNEventsProcessed() % (fPrintScale*100)  == 0)
193            doPrint = 1;
194 +        nProcessed = fPrintScale*100;
195        } else {
196          MDB(kAnalysis, 1) {
197 <          if (GetNEventsProcessed() % 50000 == 0)
197 >          if (GetNEventsProcessed() % (fPrintScale*1000) == 0)
198              doPrint = 1;
199 +          nProcessed = fPrintScale*1000;
200          }
201        }
202      }
# Line 199 | Line 204 | void AnaFwkMod::Process()
204  
205    if (doPrint) {
206      fSWevent->Stop();
207 <    SendError(kWarning, "Process",
208 <              "Events %d -> %.2gs real, %.2gs cpu (%.2g real, %.2g cpu per event)",
209 <              GetNEventsProcessed(), fSWevent->RealTime(), fSWevent->CpuTime(),
210 <              fSWevent->RealTime()/GetNEventsProcessed(),
211 <              fSWevent->CpuTime()/GetNEventsProcessed());
207 >    Info("Process",
208 >         "Events %d -> %.2gs real, %.2gs cpu (%.2g real, %.2g cpu per event)",
209 >         GetNEventsProcessed(), fSWevent->RealTime(), fSWevent->CpuTime(),
210 >         fSWevent->RealTime()/nProcessed,
211 >         fSWevent->CpuTime()/nProcessed);
212      fSWevent->Start();
213    }  
214   }
# Line 245 | Line 250 | void AnaFwkMod::SlaveTerminate()
250    fSWevent->Stop();
251  
252    MDB(kAnalysis, 1)
253 <    SendError(kWarning, "SlaveTerminate",
254 <              "Events %d -> %.2gs real, %.2gs cpu (%.2gs real, %.2gs cpu per event)",
255 <              GetNEventsProcessed(), fSWtotal->RealTime(), fSWtotal->CpuTime(),
256 <              fSWtotal->RealTime()/GetNEventsProcessed(),
257 <              fSWtotal->CpuTime()/GetNEventsProcessed());
253 >    Info("SlaveTerminate",
254 >         "Events %d -> %.2gs real, %.2gs cpu (%.2gs real, %.2gs cpu per event)",
255 >         GetNEventsProcessed(), fSWtotal->RealTime(), fSWtotal->CpuTime(),
256 >         fSWtotal->RealTime()/GetNEventsProcessed(),
257 >         fSWtotal->CpuTime()/GetNEventsProcessed());
258  
259    delete fSWtotal;
260    delete fSWevent;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines