Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ProofFriends.h File Reference

Detailed Description

Selector to process tree friends.

#ifndef ProofFriends_h
#define ProofFriends_h
#include "TChain.h"
#include "TSelector.h"
class TH1F;
class TH2F;
class ProofFriends : public TSelector {
TTree *fChain; //!pointer to the analyzed TTree or TChain
Bool_t fPlot; // Whether to plot the result
Bool_t fDoFriends; // Whether to use the friend tree
// Specific members
TH2F *fXY;
TH1F *fZ;
TH1F *fR;
// Declaration of leaf types
Int_t Run;
Float_t r; // The friend
// List of branches
TBranch *b_Run; //!
TBranch *b_x; //!
TBranch *b_y; //!
TBranch *b_z; //!
TBranch *b_r; //! The friend branch
~ProofFriends() override { }
Int_t Version() const override { return 2; }
void Begin(TTree *tree) override;
void SlaveBegin(TTree *tree) override;
void Init(TTree *tree) override;
Bool_t Notify() override;
Bool_t Process(Long64_t entry) override;
Int_t GetEntry(Long64_t entry, Int_t getall = 0) override { return fChain ? fChain->GetTree()->GetEntry(entry, getall) : 0; }
void SetOption(const char *option) override { fOption = option; }
void SetObject(TObject *obj) override { fObject = obj; }
void SetInputList(TList *input) override { fInput = input; }
TList *GetOutputList() const override { return fOutput; }
void SlaveTerminate() override;
void Terminate() override;
};
#endif
#ifdef ProofFriends_cxx
void ProofFriends::Init(TTree *tree)
{
// The Init() function is called when the selector needs to initialize
// a new tree or chain. Typically here the branch addresses and branch
// pointers of the tree will be set.
// It is normally not necessary to make changes to the generated
// code, but the routine can be extended by the user if needed.
// Init() will be called many times when running on PROOF
// (once per file to be processed).
// Set branch addresses and branch pointers
if (!tree) return;
fChain = tree;
fChain->SetMakeClass(1);
fChain->SetBranchAddress("Run", &Run, &b_Run);
fChain->SetBranchAddress("Event", &Event, &b_Event);
fChain->SetBranchAddress("x", &x, &b_x);
fChain->SetBranchAddress("y", &y, &b_y);
fChain->SetBranchAddress("z", &z, &b_z);
fChain->SetBranchAddress("r", &r, &b_r); // The friend
}
Bool_t ProofFriends::Notify()
{
// The Notify() function is called when a new file is opened. This
// can be either for a new TTree in a TChain or when when a new TTree
// is started when using PROOF. It is normally not necessary to make changes
// to the generated code, but the routine can be extended by the
// user if needed. The return value is currently not used.
return kTRUE;
}
#endif // #ifdef ProofFriends_cxx
bool Bool_t
Definition RtypesCore.h:63
int Int_t
Definition RtypesCore.h:45
float Float_t
Definition RtypesCore.h:57
long long Long64_t
Definition RtypesCore.h:69
constexpr Bool_t kTRUE
Definition RtypesCore.h:93
#define ClassDefOverride(name, id)
Definition Rtypes.h:346
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t option
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void input
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t r
A TTree is a list of TBranches.
Definition TBranch.h:93
1-D histogram with a float per channel (see TH1 documentation)
Definition TH1.h:645
2-D histogram with a float per channel (see TH1 documentation)
Definition TH2.h:303
A doubly linked list.
Definition TList.h:38
Mother of all ROOT objects.
Definition TObject.h:41
A TSelector object is used by the TTree::Draw, TTree::Scan, TTree::Process to navigate in a TTree and...
Definition TSelector.h:31
A TTree represents a columnar dataset.
Definition TTree.h:79
virtual void SetMakeClass(Int_t make)
Set all the branches in this TTree to be in decomposed object mode (also known as MakeClass mode).
Definition TTree.cxx:9167
virtual Int_t SetBranchAddress(const char *bname, void *add, TBranch **ptr=nullptr)
Change branch address, dealing with clone trees properly.
Definition TTree.cxx:8375
virtual TTree * GetTree() const
Definition TTree.h:557
Double_t y[n]
Definition legend1.C:17
Double_t x[n]
Definition legend1.C:17
void Begin(Int_t type)
void Init(TClassEdit::TInterpreterLookupHelper *helper)
Author
Gerardo Ganis (gerar.nosp@m.do.g.nosp@m.anis@.nosp@m.cern.nosp@m..ch)

Definition in file ProofFriends.h.