10 #ifndef ProofEventProc_h
11 #define ProofEventProc_h
23 class ProofEventProc :
public TSelector {
35 Double32_t fTemperature;
37 Double32_t fMatrix[4][4];
38 Double32_t fClosestDistance[21];
40 TClonesArray *fTracks;
48 void InitEvent() {
event = 0 ; fEventName = 0; fTracks = 0;
49 fHighPt = 0; fMuons = 0; fH = 0; fIsValid = kFALSE; }
61 ProcFileElements *fProcElem;
70 TBranch *b_event_fType;
71 TBranch *b_fEventName;
72 TBranch *b_event_fNtrack;
73 TBranch *b_event_fNseg;
74 TBranch *b_event_fNvertex;
75 TBranch *b_event_fFlag;
76 TBranch *b_event_fTemperature;
77 TBranch *b_event_fMeasures;
78 TBranch *b_event_fMatrix;
79 TBranch *b_fClosestDistance;
80 TBranch *b_event_fEvtHdr;
84 TBranch *b_event_fLastTrack;
85 TBranch *b_event_fWebHistogram;
87 TBranch *b_event_fTriggerBits;
88 TBranch *b_event_fIsValid;
90 ProofEventProc(TTree *) { InitEvent(); fFullRead = kTRUE; fTestAbort = -1;
91 fPtHist = 0; fPzHist = 0; fPxPyHist = 0;
92 fEntMin = -1; fEntMax = -1; fProcElems = 0; fProcElem = 0;}
93 ProofEventProc() { InitEvent(); fFullRead = kTRUE; fTestAbort = -1;
94 fPtHist = 0; fPzHist = 0; fPxPyHist = 0;
95 fEntMin = -1; fEntMax = -1; fProcElems = 0; fProcElem = 0;}
96 virtual ~ProofEventProc() {
if (fProcElems) { fProcElems->SetOwner(kFALSE);
98 virtual Int_t Version()
const {
return 2;}
99 virtual void Begin(TTree *);
100 virtual void SlaveBegin(TTree *tree);
101 virtual void Init(TTree *tree);
102 virtual Bool_t Notify();
103 virtual Bool_t Process(Long64_t entry);
104 virtual void SetOption(
const char *option) { fOption = option; }
105 virtual void SetObject(TObject *obj) { fObject = obj; }
106 virtual void SetInputList(TList *input) {fInput = input;}
107 virtual TList *GetOutputList()
const {
return fOutput; }
108 virtual void SlaveTerminate();
109 virtual void Terminate();
111 ClassDef(ProofEventProc,0);
116 #ifdef ProofEventProc_cxx
117 void ProofEventProc::Init(TTree *tree)
131 if (tree == 0)
return;
133 fChain->SetMakeClass(1);
135 fChain->SetBranchAddress(
"fType[20]",fType);
136 fChain->SetBranchAddress(
"fEventName",fEventName);
137 fChain->SetBranchAddress(
"fNtrack",&fNtrack);
138 fChain->SetBranchAddress(
"fNseg",&fNseg);
139 fChain->SetBranchAddress(
"fNvertex",&fNvertex);
140 fChain->SetBranchAddress(
"fFlag",&fFlag);
141 fChain->SetBranchAddress(
"fTemperature",&fTemperature);
142 fChain->SetBranchAddress(
"fMeasures[10]",fMeasures);
143 fChain->SetBranchAddress(
"fMatrix[4][4]",fMatrix);
144 fChain->SetBranchAddress(
"fClosestDistance",fClosestDistance);
145 fChain->SetBranchAddress(
"fEvtHdr",&fEvtHdr);
146 fChain->SetBranchAddress(
"fTracks",&fTracks);
147 fChain->SetBranchAddress(
"fHighPt",&fHighPt);
148 fChain->SetBranchAddress(
"fMuons",&fMuons);
149 fChain->SetBranchAddress(
"fLastTrack",&fLastTrack);
150 fChain->SetBranchAddress(
"fWebHistogram",&fWebHistogram);
151 fChain->SetBranchAddress(
"fH",&fH);
152 fChain->SetBranchAddress(
"fTriggerBits",&fTriggerBits);
153 fChain->SetBranchAddress(
"fIsValid",&fIsValid);
156 Bool_t ProofEventProc::Notify()
167 fn = fChain->GetCurrentFile()->GetName();
168 Info(
"Notify",
"processing file: %s", fn.Data());
172 if (fProcElem) fProcElem->Add(fEntMin, fEntMax);
179 if (fProcElems) fProcElem = (ProcFileElements *) fProcElems->FindObject(fn);
181 Info(
"Notify",
"assigned new file: create ProcFileElements entry");
182 fProcElem =
new ProcFileElements(fn.Data());
183 if (!fProcElems) fProcElems =
new TList;
184 if (fProcElems) fProcElems->Add(fProcElem);
188 b_event_fType = fChain->GetBranch(
"fType[20]");
189 b_fEventName = fChain->GetBranch(
"fEventName");
190 b_event_fNtrack = fChain->GetBranch(
"fNtrack");
191 b_event_fNseg = fChain->GetBranch(
"fNseg");
192 b_event_fNvertex = fChain->GetBranch(
"fNvertex");
193 b_event_fFlag = fChain->GetBranch(
"fFlag");
194 b_event_fTemperature = fChain->GetBranch(
"fTemperature");
195 b_event_fMeasures = fChain->GetBranch(
"fMeasures[10]");
196 b_event_fMatrix = fChain->GetBranch(
"fMatrix[4][4]");
197 b_fClosestDistance = fChain->GetBranch(
"fClosestDistance");
198 b_event_fEvtHdr = fChain->GetBranch(
"fEvtHdr");
199 b_fTracks = fChain->GetBranch(
"fTracks");
200 b_fHighPt = fChain->GetBranch(
"fHighPt");
201 b_fMuons = fChain->GetBranch(
"fMuons");
202 b_event_fLastTrack = fChain->GetBranch(
"fLastTrack");
203 b_event_fWebHistogram = fChain->GetBranch(
"fWebHistogram");
204 b_fH = fChain->GetBranch(
"fH");
205 b_event_fTriggerBits = fChain->GetBranch(
"fTriggerBits");
206 b_event_fIsValid = fChain->GetBranch(
"fIsValid");
211 #endif // #ifdef ProofEventProc_cxx