23 #include "StTagFilterMaker.h"
24 #include "StMessMgr.h"
25 #include "StEvtHddr.h"
28 #include "TEntryList.h"
29 #include "TTreeFormula.h"
39 mSkippedEventCounter = 0;
42 mEntryList =
new TEntryList(Form(
"%s_EList",name),Form(
"Entry list for %s",name));
45 StTagFilterMaker::~StTagFilterMaker()
51 Int_t StTagFilterMaker::Init()
53 SetAttr(
".Privilege", 1);
55 return StMaker::Init();
70 mTagFile.ReplaceAll(
".tags.root",
".pretags.root");
76 LOG_ERROR <<
"Input TagFile : " <<
mTagFile <<
" cannot be opened" << endm;
79 LOG_INFO <<
"Input TagFile : " <<
mTagFile <<
" opened" << endm;
84 mTree =
static_cast<TTree*
>(
mFile->Get(
"Tag"));
86 LOG_ERROR <<
"In TagFile : " <<
mTagFile <<
" cannot find TTree \"Tag\"" << endm;
98 LOG_ERROR <<
"EvtHddr has not been found" << endm;
104 Form(
"mRunNumber==%i&&mEventNumber==%i",
105 EvtHddr->GetRunNumber(),EvtHddr->GetEventNumber()),
110 LOG_ERROR <<
"Run/Event = " << EvtHddr->GetRunNumber() <<
"/" << EvtHddr->GetEventNumber()
111 <<
" has been found in tag file " << nFound <<
" times" << endm;
136 return (
mTree->GetVal(i))[idx];
142 return mTree->GetVar(i)->GetTitle();
145 void StTagFilterMaker::Clear(
const Option_t*)
TString mVarList
List of colon-separated variables of interest.
const char * GetVar(int i)
TEntryList * mEntryList
Selection of run and event.
virtual void Clear(Option_t *option="")
User defined functions.
Skip events using criteria in .pretags.root.
TFile * mFile
Pointer to the .pretags.root input file.
int mSkippedEventCounter
Number of events skipped.
void EvalVarList(const Char_t *varList=0)
Double_t GetVal(int i, int idx=0)
TString mTagFile
Tags input file name, ending in .pretags.root by default.
TTree * mTree
Pointer to the Tags TTree.
virtual Int_t InitRun(const int runnum)