82 selector =
info.GetProofSelectorName();
114 : fStatus(0), fManager(0), fTree(0)
143 PDB(kDraw,1)
Info(
"Init",
"Enter tree = %p", tree);
154 PDB(kDraw,1)
Info(
"Notify",
"Enter");
174 PDB(kDraw,1)
Info(
"Begin",
"Enter tree = %p", tree);
227 PDB(kDraw,3)
Info(
"ProcessSingle",
"w[%d] = %f", i,
w);
232 v[
j] =
fVar[
j]->EvalInstance(i);
234 PDB(kDraw,4)
Info(
"Process",
"v[0] = %f",
v[0]);
246 PDB(kDraw,3)
Info(
"Process",
"enter entry = %lld",
entry);
266 PDB(kDraw,1)
Info(
"SlaveTerminate",
"Enter");
275 PDB(kDraw,1)
Info(
"Terminate",
"Enter");
297 for (
Int_t i = 0; i < 4; i++)
314 gROOT->MakeDefCanvas();
316 PDB(kDraw,2)
Info(
"SetCanvas",
"created canvas %s",
name.Data());
319 Info(
"SetCanvas",
"using canvas %s",
gPad->GetName());
329 PDB(kDraw,2)
Info(
"SetDrawAtt",
"setting attributes for %s", o->
GetName());
343 PDB(kDraw,2)
Info(
"SetDrawAtt",
"line: c:%d, s:%d, wd:%d",
344 al->GetLineColor(),
al->GetLineStyle(),
al->GetLineWidth());
355 Info(
"SetDrawAtt",
"att: %d",
att);
362 PDB(kDraw,2)
Info(
"SetDrawAtt",
"marker: c:%d, s:%d, sz:%f",
363 am->GetMarkerColor(),
am->GetMarkerStyle(),
am->GetMarkerSize());
375 PDB(kDraw,2)
Info(
"SetDrawAtt",
"area: c:%d, s:%d",
376 af->GetFillColor(),
af->GetFillStyle());
394 m.Form(
"TProofDraw::%s: %s", sub,
mesg);
412 na.Form(
"alias:%s",
n.Data());
437 if (!
fVar[i]->GetNdim()) {
439 Error(
"CompileVariables",
"Error compiling expression");
440 SetError(
"CompileVariables",
"Error compiling variables");
527 PDB(kDraw,1)
Info(
"Begin",
"Enter tree = %p", tree);
551 Error(
"Begin",
"Wrong dimension");
590 Error(
"DefVar1D",
"Cannot find varexp on the fInput");
636 Error(
"DefVar2D",
"Cannot find varexp on the fInput");
694 Error(
"DefVar3D",
"Cannot find varexp on the fInput");
704 PDB(kDraw,1)
Info(
"DefVar",
"Enter");
728 Error(
"DefVar",
"Wrong dimension");
742 PDB(kDraw,1)
Info(
"Init",
"Enter tree = %p", tree);
765 PDB(kDraw,1)
Info(
"SlaveBegin",
"Enter tree = %p", tree);
787 PDB(kDraw,1)
Info(
"SlaveBegin",
"original histogram found");
789 PDB(kDraw,1)
Info(
"SlaveBegin",
"original object '%s' not found"
790 " or it is not a histogram",
objname.Data());
811 Error(
"SlaveBegin",
"Impossible - Wrong number of parameters");
830 Info(
"Begin",
"Wrong dimension");
836 if (
strstr(opt->GetTitle(),
"rebin"))
869 PDB(kDraw,1)
Info(
"Terminate",
"Enter");
910 PDB(kDraw,1)
Info(
"Init",
"Enter tree = %p", tree);
914 Error(
"Init",
"Impossible - fElist cannot be 0");
928 PDB(kDraw,1)
Info(
"SlaveBegin",
"Enter tree = %p", tree);
970 PDB(kDraw,1)
Info(
"SlaveTerminate",
"Enter");
999 Error(
"Terminate",
"Cannot find output EventList");
1010 PDB(kDraw,1)
Info(
"Init",
"Enter tree = %p", tree);
1021 PDB(kDraw,1)
Info(
"SlaveBegin",
"Enter tree = %p", tree);
1060 PDB(kDraw,1)
Info(
"SlaveTerminate",
"Enter");
1089 Error(
"Terminate",
"Cannot find output EventList");
1100 PDB(kDraw,1)
Info(
"Init",
"Enter tree = %p", tree);
1123 PDB(kDraw,1)
Info(
"DefVar",
"Enter");
1165 Error(
"DefVar",
"Cannot find varexp on the fInput");
1175 PDB(kDraw,1)
Info(
"Begin",
"Enter tree = %p", tree);
1211 PDB(kDraw,1)
Info(
"SlaveBegin",
"Enter tree = %p", tree);
1235 PDB(kDraw,1)
Info(
"SlaveBegin",
"Original profile histogram found");
1239 Error(
"SlaveBegin",
"Original object found but it is not a histogram");
1248 Error(
"SlaveBegin",
"Impossible - Wrong number of parameters");
1265 if (
strstr(opt->GetTitle(),
"rebin"))
1291 PDB(kDraw,1)
Info(
"Terminate",
"Enter");
1332 PDB(kDraw,1)
Info(
"Init",
"Enter tree = %p", tree);
1355 PDB(kDraw,1)
Info(
"DefVar",
"Enter");
1408 Error(
"DefVar",
"Cannot find varexp on the fInput");
1418 PDB(kDraw,1)
Info(
"Begin",
"Enter tree = %p", tree);
1451 PDB(kDraw,1)
Info(
"SlaveBegin",
"Enter tree = %p", tree);
1473 PDB(kDraw,1)
Info(
"SlaveBegin",
"Original profile histogram found");
1476 Error(
"SlaveBegin",
"Original object found but it is not a histogram");
1489 Error(
"SlaveBegin",
"Impossible - Wrong number of parameters");
1508 if (
strstr(opt->GetTitle(),
"rebin"))
1534 PDB(kDraw,1)
Info(
"Terminate",
"Enter");
1575 PDB(kDraw,1)
Info(
"Init",
"Enter tree = %p", tree);
1597 PDB(kDraw,1)
Info(
"SlaveBegin",
"Enter tree = %p", tree);
1636 PDB(kDraw,1)
Info(
"Terminate",
"Enter");
1646 if ( (hist =
dynamic_cast<TH2F*
> (
orig)) == 0 ) {
1723 PDB(kDraw,1)
Info(
"Init",
"Enter tree = %p", tree);
1740 PDB(kDraw,1)
Info(
"SlaveBegin",
"Enter tree = %p", tree);
1779 PDB(kDraw,1)
Info(
"Terminate",
"Enter");
1798 if ( (hist =
dynamic_cast<TH3F*
> (
orig)) == 0 ) {
1837 Info(
"Terminate",
"found histo '%s' in gDirectory",
1856 for (
int ii = 0;
ii < 3;
ii++) {
1891 gPad->Range(-1,-1,1,1);
1917 PDB(kDraw,1)
Info(
"SlaveBegin",
"Enter tree = %p", tree);
1936 fPoints->SetName(
"PROOF_SCATTERPLOT");
1958 PDB(kDraw,1)
Info(
"Terminate",
"Enter");
1971 if ( (hist =
dynamic_cast<TH2F*
> (
orig)) == 0 ) {
2002 if (
points->size() > 0) {
2003 rmin[0] =
rmax[0] = (*points)[0].fX;
2004 rmin[1] =
rmax[1] = (*points)[0].fY;
2005 rmin[2] =
rmax[2] = (*points)[0].fZ;
2007 for (vector<Point3D_t>::const_iterator i =
points->begin() + 1; i <
points->end(); ++i) {
2008 if (
rmax[0] < i->fX)
rmax[0] = i->fX;
2009 if (
rmax[1] < i->fY)
rmax[1] = i->fY;
2010 if (
rmax[2] < i->fZ)
rmax[2] = i->fZ;
2011 if (
rmin[0] > i->fX)
rmin[0] = i->fX;
2012 if (
rmin[1] > i->fY)
rmin[1] = i->fY;
2013 if (
rmin[2] > i->fZ)
rmin[2] = i->fZ;
2029 grs->SetName(
"graphs");
2031 for (col=0;col<ncolors;col++) {
2040 for (vector<Point3D_t>::const_iterator i =
points->begin();
2041 i <
points->end(); ++i) {
2043 if (col < 0) col = 0;
2044 if (col > ncolors-1) col = ncolors-1;
2049 for (col=0;col<ncolors;col++) {
2072 PDB(kDraw,1)
Info(
"SlaveBegin",
"Enter tree = %p", tree);
2091 fPoints->SetName(
"PROOF_SCATTERPLOT");
2114 PDB(kDraw,1)
Info(
"Terminate",
"Enter");
2167 if (
points->size() > 0) {
2168 rmin[0] =
rmax[0] = (*points)[0].fX;
2169 rmin[1] =
rmax[1] = (*points)[0].fY;
2170 rmin[2] =
rmax[2] = (*points)[0].fZ;
2171 rmin[3] =
rmax[3] = (*points)[0].fT;
2173 for (vector<Point4D_t>::const_iterator i =
points->begin() + 1; i <
points->end(); ++i) {
2174 if (
rmax[0] < i->fX)
rmax[0] = i->fX;
2175 if (
rmax[1] < i->fY)
rmax[1] = i->fY;
2176 if (
rmax[2] < i->fZ)
rmax[2] = i->fZ;
2177 if (
rmax[3] < i->fT)
rmax[3] = i->fT;
2178 if (
rmin[0] > i->fX)
rmin[0] = i->fX;
2179 if (
rmin[1] > i->fY)
rmin[1] = i->fY;
2180 if (
rmin[2] > i->fZ)
rmin[2] = i->fZ;
2181 if (
rmin[3] > i->fT)
rmin[3] = i->fT;
2196 pms->SetName(
"polymarkers");
2198 for (col=0;col<ncolors;col++) {
2200 pm3d->SetMarkerColor(col);
2206 for (vector<Point4D_t>::const_iterator i =
points->begin();
2207 i <
points->end(); ++i) {
2209 if (col < 0) col = 0;
2210 if (col > ncolors-1) col = ncolors-1;
2212 pm3d->SetPoint(
pm3d->GetLastPoint()+1, i->fY, i->fZ, i->fT);
virtual RooAbsTestStatistic * create(const char *name, const char *title, RooAbsReal &real, RooAbsData &data, const RooArgSet &projDeps, Configuration const &cfg)=0
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
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 Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t sel
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t points
Int_t DrawCanvas(TObject *obj)
Int_t GetDrawArgs(const char *var, const char *sel, Option_t *opt, TString &selector, TString &objname)
void FeedBackCanvas(const char *name, Bool_t create)
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
R__EXTERN TStyle * gStyle
Fill Area Attributes class.
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
virtual void SetFillStyle(Style_t fstyle)
Set the fill area style.
virtual void SetLineStyle(Style_t lstyle)
Set the line style.
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
virtual void SetLineColor(Color_t lcolor)
Set the line color.
virtual void SetMarkerColor(Color_t mcolor=1)
Set the marker color.
virtual void SetMarkerStyle(Style_t mstyle=1)
Set the marker style.
virtual void SetMarkerSize(Size_t msize=1)
Set the marker size.
TClass instances represent classes, structs and namespaces in the ROOT type system.
void SetName(const char *name)
A List of entry numbers in a TTree or TChain.
virtual bool Enter(Long64_t entry, TTree *tree=nullptr)
Add entry #entry to the list.
virtual void OptimizeStorage()
Checks if the array representation is more economical and if so, switches to it.
virtual Int_t GetValue(const char *name, Int_t dflt) const
Returns the integer value for a resource.
virtual void SetValue(const char *name, const char *value, EEnvLevel level=kEnvChange, const char *type=nullptr)
Set the value of a resource or create a new resource.
<div class="legacybox"><h2>Legacy Code</h2> TEventList is a legacy interface: there will be no bug fi...
virtual void Enter(Long64_t entry)
Enter element entry into the list.
A TGraph is an object made of two arrays X and Y with npoints each.
virtual void SetPoint(Int_t i, Double_t x, Double_t y)
Set x and y values for point number i.
void SetName(const char *name="") override
Set graph name.
void Draw(Option_t *chopt="") override
Draw this graph with its current attributes.
virtual Int_t GetPoint(Int_t i, Double_t &x, Double_t &y) const
Get x and y values for point number i.
virtual void SetEditable(Bool_t editable=kTRUE)
if editable=kFALSE, the graph cannot be modified with the mouse by default a TGraph is editable
1-D histogram with a float per channel (see TH1 documentation)
TH1 is the base class of all histogram classes in ROOT.
virtual void SetDirectory(TDirectory *dir)
By default, when a histogram is created, it is added to the list of histogram objects in the current ...
@ kNoAxis
NOTE: Must always be 0 !!!
void SetTitle(const char *title) override
Change/set the title.
static Int_t GetDefaultBufferSize()
Static function return the default buffer size for automatic histograms the parameter fgBufferSize ma...
@ kNoStats
Don't draw stats box.
virtual Bool_t CanExtendAllAxes() const
Returns true if all axes are extendable.
virtual void Reset(Option_t *option="")
Reset this histogram: contents, errors, etc.
virtual Int_t Fill(Double_t x)
Increment bin with abscissa X by 1.
void Draw(Option_t *option="") override
Draw this histogram with options.
virtual Double_t GetEntries() const
Return the current number of entries.
virtual UInt_t SetCanExtend(UInt_t extendBitMask)
Make the histogram axes extendable / not extendable according to the bit mask returns the previous bi...
TList * GetListOfFunctions() const
virtual TH1 * DrawCopy(Option_t *option="", const char *name_postfix="_copy") const
Copy this histogram and Draw in the current pad.
virtual void SetBuffer(Int_t buffersize, Option_t *option="")
Set the maximum number of entries to be kept in the buffer.
TObject * Clone(const char *newname="") const override
Make a complete copy of the underlying object.
2-D histogram with a float per channel (see TH1 documentation)
void Reset(Option_t *option="") override
Reset this histogram: contents, errors, etc.
Service class for 2-D histogram classes.
Int_t Fill(Double_t) override
Invalid Fill method.
3-D histogram with a float per channel (see TH1 documentation)
void Reset(Option_t *option="") override
Reset this histogram: contents, errors, etc.
The 3-D histogram classes derived from the 1-D histogram classes.
Int_t Fill(Double_t) override
Invalid Fill method.
static THLimitsFinder * GetLimitsFinder()
Return pointer to the current finder.
TObject * Remove(TObject *obj) override
Remove object from the list.
TObject * FindObject(const char *name) const override
Find object using its name.
TObject * FindObject(const char *name) const override
Find an object in this list using its name.
void Add(TObject *obj) override
The TNamed class is the base class for all named ROOT classes.
const char * GetTitle() const override
Returns title of object.
Mother of all ROOT objects.
virtual const char * GetName() const
Returns name of object.
R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
@ kCanDelete
if object in a list can be deleted
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
TObject * FindObject(const char *name) const override
Search if object named name is inside this pad or in pads inside this pad.
virtual void GetPoint(Int_t n, Float_t &x, Float_t &y, Float_t &z) const
Fills the parameters x, y, z with the coordinate of the n-th point n must be between 0 and Size() - 1...
virtual Int_t Size() const
virtual Int_t SetNextPoint(Double_t x, Double_t y, Double_t z)
Set point following LastPoint to x, y, z.
void Draw(Option_t *option="") override
Draws 3-D polymarker with its current attributes.
Profile2D histograms are used to display the mean value of Z and its error for each cell in X,...
Int_t Fill(const Double_t *v)
void SetBuffer(Int_t buffersize, Option_t *option="") override
Set the buffer size in units of 8 bytes (double).
void SetBuffer(Int_t buffersize, Option_t *option="") override
Set the buffer size in units of 8 bytes (double).
Int_t Fill(const Double_t *v)
void SlaveBegin(TTree *) override
See TProofDraw::SlaveBegin().
void SlaveTerminate() override
See TProofDraw::SlaveTerminate().
void Terminate() override
See TProofDraw::Terminate().
void Init(TTree *) override
See TProofDraw::Init().
void DoFill(Long64_t entry, Double_t w, const Double_t *v) override
Fills the eventlist with given values.
void SlaveBegin(TTree *) override
See TProofDraw::SlaveBegin().
void Terminate() override
See TProofDraw::Terminate().
void Init(TTree *) override
See TProofDraw::Init().
void DoFill(Long64_t entry, Double_t w, const Double_t *v) override
Fills the eventlist with given values.
void SlaveTerminate() override
See TProofDraw::SlaveTerminate().
void Init(TTree *tree) override
See TProofDraw::Init().
void Terminate() override
See TProofDraw::Terminate().
void SlaveBegin(TTree *) override
See TProofDraw::SlaveBegin().
void DoFill(Long64_t entry, Double_t w, const Double_t *v) override
Fills the graph with the given values.
void Begin(TTree *t) override
See TProofDraw::Begin().
void DefVar2D()
Define variables for 2D histogram.
void Terminate() override
See TProofDraw::Terminate().
virtual void Begin2D(TTree *t)
Initialization for 2D histogram.
void DefVar() override
Define variables according to arguments.
void Init(TTree *) override
See TProofDraw::Init().
virtual void Begin3D(TTree *t)
Initialization for 3D histogram.
void DoFill(Long64_t entry, Double_t w, const Double_t *v) override
Fills the histgram with given values.
void SlaveBegin(TTree *) override
See TProofDraw::SlaveBegin().
virtual void Begin1D(TTree *t)
Initialization for 1D Histogram.
void DefVar1D()
Define vars for 1D Histogram.
void DefVar3D()
Define variables for 3D histogram.
void DoFill(Long64_t entry, Double_t w, const Double_t *v) override
Fills the scatter plot with the given values.
void Terminate() override
See TProofDraw::Terminate().
TProofVectorContainer< Point3D_t > * fPoints
void SlaveBegin(TTree *) override
See TProofDraw::SlaveBegin().
void SlaveBegin(TTree *) override
See TProofDraw::SlaveBegin().
void Terminate() override
See TProofDraw::Terminate().
TProofVectorContainer< Point4D_t > * fPoints
void DoFill(Long64_t entry, Double_t w, const Double_t *v) override
Fills the scatter plot with the given values.
TPolyMarker3D * fPolyMarker3D
void Terminate() override
See TProofDraw::Terminate().
void Init(TTree *tree) override
See TProofDraw::Init().
void DoFill(Long64_t entry, Double_t w, const Double_t *v) override
Fills the scatter plot with the given values.
void SlaveBegin(TTree *) override
See TProofDraw::SlaveBegin().
void DoFill(Long64_t entry, Double_t w, const Double_t *v) override
Fills the histogram with the given values.
void Begin(TTree *t) override
See TProofDraw::Begin().
void SlaveBegin(TTree *) override
See TProofDraw::SlaveBegin().
void Init(TTree *) override
See TProofDraw::Init().
void Terminate() override
See TProofDraw::Terminate().
void DefVar() override
Define relevant variables.
void DefVar() override
Define relevant variables.
void Init(TTree *) override
See TProofDraw::Init().
void Terminate() override
See TProofDraw::Terminate().
void SlaveBegin(TTree *) override
See TProofDraw::SlaveBegin().
void DoFill(Long64_t entry, Double_t w, const Double_t *v) override
Fills the profile histogram with the given values.
void Begin(TTree *t) override
See TProofDraw::Begin().
Implement Tree drawing using PROOF.
void SetCanvas(const char *objname)
Move to a canvas named <name>_canvas; create the canvas if not existing.
void Begin(TTree *) override
Executed by the client before processing.
void SlaveBegin(TTree *) override
Executed by each slave before processing.
Bool_t Notify() override
Called when a new tree is loaded.
virtual void DoFill(Long64_t entry, Double_t w, const Double_t *v)=0
void Init(TTree *) override
Init the tree.
void FillWeight()
Get weight from input list, if any.
void SlaveTerminate() override
Executed by each slave after the processing has finished, before returning the results to the client.
TClass * IsA() const override
void SetDrawAtt(TObject *o)
Set the drawing attributes from the input list.
virtual Bool_t CompileVariables()
Compiles each variable from fTreeDrawArgsParser for the tree fTree.
void Terminate() override
Executed by the client after getting the processing retults.
void SetError(const char *sub, const char *mesg)
Sets the error status.
TTreeFormulaManager * fManager
~TProofDraw() override
Destructor.
Bool_t Process(Long64_t) override
Executed for each entry.
virtual void ClearFormula()
Delete internal buffers.
TTreeDrawArgsParser fTreeDrawArgsParser
virtual Bool_t ProcessSingle(Long64_t, Int_t)
Processes a single variable from an entry.
TObject * GetParameter(const char *par) const
Get specified parameter.
virtual void SetStatus(Long64_t status)
TList * fInput
List of objects available during processing.
TString fOption
Option given to TTree::Process.
TSelectorList * fOutput
! List of objects created during processing
EAbort fAbort
Abort status.
This class holds the status of an ongoing operation and collects error messages.
void Add(const char *mesg)
Add an error message.
void Print(Option_t *option="") const override
Standard print function.
const char * Data() const
TObjArray * Tokenize(const TString &delim) const
This function is used to isolate sequential tokens in a TString.
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
Int_t GetNumberOfColors() const
Return number of colors in the color palette.
A class that parses all parameters for TTree::Draw().
TString const & GetExp() const
void SetObjectName(const char *s)
TString GetObjectTitle() const
Returns the desired plot title.
Double_t GetParameter(int num) const
returns num-th parameter from brackets in the expression in case of an error (wrong number) returns 0...
TObject * GetOriginal() const
static Int_t GetMaxDimension()
return fgMaxDimension (cannot be inline)
Double_t GetIfSpecified(Int_t num, Double_t def) const
bool IsSpecified(int num) const
returns true if the num-th parameter was specified otherwise returns fFALSE in case of an error (wron...
Int_t GetDimension() const
TString const & GetSelection() const
void SetOriginal(TObject *o)
bool GetShouldDraw() const
TString GetVarExp(Int_t num) const
Returns the num-th variable string in case of an error prints an error message and returns an empty s...
Int_t GetNoParameters() const
TString const & GetObjectName() const
bool Parse(const char *varexp, const char *selection, Option_t *option)
Parses parameters from TTree::Draw().
A TTree represents a columnar dataset.
virtual TList * GetListOfAliases() const
virtual Long64_t LoadTree(Long64_t entry)
Set current entry.
virtual bool SetAlias(const char *aliasName, const char *aliasFormula)
Set a tree variable alias.
static TView * CreateView(Int_t system=1, const Double_t *rmin=nullptr, const Double_t *rmax=nullptr)
Create a concrete default 3-d view via the plug-in manager.