31 |
|
fUseProof(useproof), |
32 |
|
fUseHLT(kTRUE), |
33 |
|
fHierarchy(kTRUE), |
34 |
< |
fDoProxy(kTRUE), |
34 |
> |
fDoProxy(kFALSE), |
35 |
> |
fDoObjTabClean(kTRUE), |
36 |
|
fState(kPristine), |
37 |
|
fNFriends(0), |
38 |
|
fList(new TList), |
45 |
|
fSet(0), |
46 |
|
fDeleteList(new TList), |
47 |
|
fTreeName(Names::gkEvtTreeName), |
48 |
< |
fCompLevel(2), |
48 |
> |
fCompLevel(7), |
49 |
|
fProof(0), |
50 |
|
fDoNEvents(TChain::kBigNumber), |
51 |
< |
fCacheSize(134217728) |
51 |
> |
fSkipNEvents(0), |
52 |
> |
fCacheSize(-1) |
53 |
|
{ |
54 |
|
// Default constructor. |
55 |
|
|
373 |
|
|
374 |
|
fChain = new TChain(fTreeName); |
375 |
|
fSet = new TDSet("TTree",fTreeName); |
374 |
– |
|
375 |
– |
fChain->SetCacheSize(fCacheSize); |
376 |
|
|
377 |
|
for (Int_t i=0; i<fNFriends; ++i) { |
378 |
– |
|
378 |
|
TList *l = dynamic_cast<TList*>(fList->At(i)); |
379 |
|
if (!l) { |
380 |
|
Fatal("Init", "List %d not found!", i); |
386 |
|
while (TObjString *obj = dynamic_cast<TObjString*>(next())) { |
387 |
|
fChain->Add(obj->GetName()); |
388 |
|
fSet->Add(obj->GetName()); |
389 |
+ |
if (fCacheSize<0 && obj->GetString().BeginsWith("/castor/cern.ch")) |
390 |
+ |
fCacheSize = 64*1024*1024; |
391 |
|
} |
391 |
– |
|
392 |
|
} else { |
393 |
– |
|
393 |
|
TChain *chain = new TChain(fTreeName); |
394 |
|
TDSet *set = new TDSet("TTree",fTreeName); |
395 |
|
|
397 |
|
while (TObjString *obj = dynamic_cast<TObjString*>(next())) { |
398 |
|
chain->Add(obj->GetName()); |
399 |
|
set->Add(obj->GetName()); |
400 |
+ |
if (fCacheSize<0 && obj->GetString().BeginsWith("/castor/cern.ch")) |
401 |
+ |
fCacheSize = 64*1024*1024; |
402 |
|
} |
403 |
|
|
404 |
|
TString alias("TAMTREE_"); // aliases currently not used |
410 |
|
fDeleteList->Add(chain); |
411 |
|
fDeleteList->Add(set); |
412 |
|
} |
412 |
– |
|
413 |
|
} |
414 |
|
|
415 |
+ |
if (fCacheSize>=0) |
416 |
+ |
fChain->SetCacheSize(fCacheSize); |
417 |
+ |
|
418 |
|
// create our customized loader plugin for TAM |
419 |
|
TreeLoader *bl = new TreeLoader; |
420 |
|
fLoaders->Add(bl); |
422 |
|
|
423 |
|
// create our ana framework module |
424 |
|
AnaFwkMod *anamod = new AnaFwkMod; |
425 |
+ |
anamod->SetSkipNEvents(fSkipNEvents); |
426 |
|
fDeleteList->Add(anamod); |
427 |
|
|
428 |
|
// create our HLT framework module |
453 |
|
// when not running Proof, we must make a selector |
454 |
|
fSelector = new Selector; |
455 |
|
fSelector->SetDoProxy(fDoProxy); |
456 |
+ |
fSelector->SetDoObjTabClean(fDoObjTabClean); |
457 |
|
|
458 |
|
fSelector->AddInput(anamod); |
459 |
|
|