63 if (
TCanvas* c = dynamic_cast<TCanvas *> (obj)) {
76 TString &selector, TString &objname)
81 info.
Parse(var, sel, opt);
97 new TCanvas(name,
"FeedBack", 800,30,700,500);
100 (
TCanvas *)
gROOT->GetListOfCanvases()->FindObject(name) : 0;
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);
248 fTree->LoadTree(entry);
251 PDB(kDraw,3)
Info(
"Process",
"ndata = %d", ndata);
253 for (
Int_t i=0;i<ndata;i++) {
266 PDB(kDraw,1)
Info(
"SlaveTerminate",
"Enter");
275 PDB(kDraw,1)
Info(
"Terminate",
"Enter");
297 for (
Int_t i = 0; i < 4; i++)
312 TString
name = objname;
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());
339 al->SetLineStyle((
Style_t)att);
342 al->SetLineWidth((
Width_t)att);
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);
357 am->SetMarkerSize((
Size_t)msz);
361 am->SetMarkerStyle((
Style_t)att);
362 PDB(kDraw,2)
Info(
"SetDrawAtt",
"marker: c:%d, s:%d, sz:%f",
363 am->GetMarkerColor(), am->GetMarkerStyle(), am->GetMarkerSize());
374 af->SetFillStyle((
Style_t)att);
375 PDB(kDraw,2)
Info(
"SetDrawAtt",
"area: c:%d, s:%d",
376 af->GetFillColor(), af->GetFillStyle());
392 m.Form(
"%s::%s: %s", IsA()->
GetName(), sub, mesg);
394 m.Form(
"TProofDraw::%s: %s", sub, mesg);
410 while(names.Tokenize(
n, from,
",")) {
412 na.Form(
"alias:%s",
n.Data());
419 if (
fTree->GetListOfAliases())
fTree->GetListOfAliases()->Print();
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");
570 double binsx, minx, maxx;
590 Error(
"DefVar1D",
"Cannot find varexp on the fInput");
605 double binsx, minx, maxx;
606 double binsy, miny, maxy;
636 Error(
"DefVar2D",
"Cannot find varexp on the fInput");
651 double binsx, minx, maxx;
652 double binsy, miny, maxy;
653 double binsz, minz, maxz;
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);
745 fHistogram->SetLineColor(tree->GetLineColor());
746 fHistogram->SetLineWidth(tree->GetLineWidth());
747 fHistogram->SetLineStyle(tree->GetLineStyle());
748 fHistogram->SetFillColor(tree->GetFillColor());
749 fHistogram->SetFillStyle(tree->GetFillStyle());
750 fHistogram->SetMarkerStyle(tree->GetMarkerStyle());
751 fHistogram->SetMarkerColor(tree->GetMarkerColor());
752 fHistogram->SetMarkerSize(tree->GetMarkerSize());
765 PDB(kDraw,1)
Info(
"SlaveBegin",
"Enter tree = %p", tree);
783 if (objname && strlen(objname) > 0 && strcmp(objname,
"htemp")) {
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);
796 Int_t countx = 100;
double minx = 0, maxx = 0;
797 Int_t county = 100;
double miny = 0, maxy = 0;
798 Int_t countz = 100;
double minz = 0, maxz = 0;
811 Error(
"SlaveBegin",
"Impossible - Wrong number of parameters");
830 Info(
"Begin",
"Wrong dimension");
836 if (strstr(opt->GetTitle(),
"rebin"))
840 fHistogram->SetDirectory(0);
856 fHistogram->Fill(v[0], w);
858 ((
TH2F *)fHistogram)->Fill(v[1], v[0], w);
860 ((
TH3F *)fHistogram)->Fill(v[2], v[1], v[0], w);
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");
915 fEventLists->Add(fElist);
917 fElist =
new TEventList(tree->GetDirectory()->GetName(), tree->GetName());
928 PDB(kDraw,1)
Info(
"SlaveBegin",
"Enter tree = %p", tree);
946 fEventLists =
new TList();
947 fEventLists->SetName(
"PROOF_EventListsList");
961 fElist->Enter(entry);
970 PDB(kDraw,1)
Info(
"SlaveTerminate",
"Enter");
971 fEventLists->Add(fElist);
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);
1039 fElist =
new TEntryList(
"PROOF_EntryList",
"PROOF_EntryList");
1052 fElist->Enter(entry);
1060 PDB(kDraw,1)
Info(
"SlaveTerminate",
"Enter");
1061 fElist->OptimizeStorage();
1089 Error(
"Terminate",
"Cannot find output EventList");
1100 PDB(kDraw,1)
Info(
"Init",
"Enter tree = %p", tree);
1104 fProfile->SetLineColor(tree->GetLineColor());
1105 fProfile->SetLineWidth(tree->GetLineWidth());
1106 fProfile->SetLineStyle(tree->GetLineStyle());
1107 fProfile->SetFillColor(tree->GetFillColor());
1108 fProfile->SetFillStyle(tree->GetFillStyle());
1109 fProfile->SetMarkerStyle(tree->GetMarkerStyle());
1110 fProfile->SetMarkerColor(tree->GetMarkerColor());
1111 fProfile->SetMarkerSize(tree->GetMarkerSize());
1123 PDB(kDraw,1)
Info(
"DefVar",
"Enter");
1144 double binsx, minx, maxx;
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");
1241 Int_t countx = 100;
double minx = 0, maxx = 0;
1248 Error(
"SlaveBegin",
"Impossible - Wrong number of parameters");
1249 TString constructorOptions =
"";
1250 if (
fOption.Contains(
"profs"))
1251 constructorOptions =
"s";
1252 else if (
fOption.Contains(
"profi"))
1253 constructorOptions =
"i";
1254 else if (
fOption.Contains(
"profg"))
1255 constructorOptions =
"g";
1260 constructorOptions);
1265 if (strstr(opt->GetTitle(),
"rebin"))
1268 fProfile->SetDirectory(0);
1282 fProfile->Fill(v[1], v[0], w);
1291 PDB(kDraw,1)
Info(
"Terminate",
"Enter");
1332 PDB(kDraw,1)
Info(
"Init",
"Enter tree = %p", tree);
1335 fProfile->SetLineColor(tree->GetLineColor());
1336 fProfile->SetLineWidth(tree->GetLineWidth());
1337 fProfile->SetLineStyle(tree->GetLineStyle());
1338 fProfile->SetFillColor(tree->GetFillColor());
1339 fProfile->SetFillStyle(tree->GetFillStyle());
1340 fProfile->SetMarkerStyle(tree->GetMarkerStyle());
1341 fProfile->SetMarkerColor(tree->GetMarkerColor());
1342 fProfile->SetMarkerSize(tree->GetMarkerSize());
1355 PDB(kDraw,1)
Info(
"DefVar",
"Enter");
1375 double binsx, minx, maxx;
1376 double binsy, miny, maxy;
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");
1478 Int_t countx = 40;
double minx = 0, maxx = 0;
1479 Int_t county = 40;
double miny = 0, maxy = 0;
1489 Error(
"SlaveBegin",
"Impossible - Wrong number of parameters");
1491 TString constructorOptions =
"";
1492 if (
fOption.Contains(
"profs"))
1493 constructorOptions =
"s";
1494 else if (
fOption.Contains(
"profi"))
1495 constructorOptions =
"i";
1496 else if (
fOption.Contains(
"profg"))
1497 constructorOptions =
"g";
1503 constructorOptions);
1508 if (strstr(opt->GetTitle(),
"rebin"))
1511 fProfile->SetDirectory(0);
1525 fProfile->Fill(v[2], v[1], v[0], w);
1534 PDB(kDraw,1)
Info(
"Terminate",
"Enter");
1575 PDB(kDraw,1)
Info(
"Init",
"Enter tree = %p", tree);
1579 fGraph->SetMarkerStyle(tree->GetMarkerStyle());
1580 fGraph->SetMarkerColor(tree->GetMarkerColor());
1581 fGraph->SetMarkerSize(tree->GetMarkerSize());
1582 fGraph->SetLineColor(tree->GetLineColor());
1583 fGraph->SetLineStyle(tree->GetLineStyle());
1584 fGraph->SetFillColor(tree->GetFillColor());
1585 fGraph->SetFillStyle(tree->GetFillStyle());
1597 PDB(kDraw,1)
Info(
"SlaveBegin",
"Enter tree = %p", tree);
1614 fGraph->SetName(
"PROOF_GRAPH");
1627 fGraph->SetPoint(fGraph->GetN(), v[1], v[0]);
1636 PDB(kDraw,1)
Info(
"Terminate",
"Enter");
1646 if ( (hist = dynamic_cast<TH2F*> (orig)) == 0 ) {
1649 double binsx, minx, maxx;
1650 double binsy, miny, maxy;
1662 (
Int_t) binsx, minx, maxx, (
Int_t) binsy, miny, maxy);
1675 if (hist->CanExtendAllAxes() && hist->TestBit(
kCanDelete)) {
1678 Double_t xmin = *std::min_element(xArray, xArray+fGraph->GetN());
1679 Double_t xmax = *std::max_element(xArray, xArray+fGraph->GetN());
1680 Double_t ymin = *std::min_element(yArray, yArray+fGraph->GetN());
1681 Double_t ymax = *std::max_element(yArray, yArray+fGraph->GetN());
1693 fGraph->SetEditable(
kFALSE);
1705 for (
int i = 0; i < fGraph->GetN(); i++) {
1707 fGraph->GetPoint(i, x,
y);
1708 hist->Fill(x,
y, 1);
1723 PDB(kDraw,1)
Info(
"Init",
"Enter tree = %p", tree);
1727 fPolyMarker3D->SetMarkerStyle(tree->GetMarkerStyle());
1728 fPolyMarker3D->SetMarkerColor(tree->GetMarkerColor());
1729 fPolyMarker3D->SetMarkerSize(tree->GetMarkerSize());
1740 PDB(kDraw,1)
Info(
"SlaveBegin",
"Enter tree = %p", tree);
1770 fPolyMarker3D->SetNextPoint(v[2], v[1], v[0]);
1779 PDB(kDraw,1)
Info(
"Terminate",
"Enter");
1787 if (dynamic_cast<TPolyMarker3D*> (o)) {
1794 if (fPolyMarker3D) {
1798 if ( (hist = dynamic_cast<TH3F*> (orig)) == 0 ) {
1801 if (
fOption.Contains(
"same")) {
1806 double binsx, minx, maxx;
1807 double binsy, miny, maxy;
1808 double binsz, minz, maxz;
1825 (
Int_t) binsx, minx, maxx,
1826 (
Int_t) binsy, miny, maxy,
1827 (
Int_t) binsz, minz, maxz);
1835 checkPrevious =
kTRUE;
1837 Info(
"Terminate",
"found histo '%s' in gDirectory",
1847 if (hist->CanExtendAllAxes() && hist->TestBit(
kCanDelete)) {
1848 rmin[0] = rmax[0] = rmin[1] = rmax[1] = rmin[2] = rmax[2] = 0;
1849 if (fPolyMarker3D->Size() > 0) {
1850 fPolyMarker3D->GetPoint(0, rmin[0], rmin[1], rmin[2]);
1851 fPolyMarker3D->GetPoint(0, rmax[0], rmax[1], rmax[2]);
1853 for (
int i = 1; i < fPolyMarker3D->Size(); i++) {
1855 fPolyMarker3D->GetPoint(i, v[0], v[1], v[2]);
1856 for (
int ii = 0; ii < 3; ii++) {
1857 if (v[ii] < rmin[ii]) rmin[ii] = v[ii];
1858 if (v[ii] > rmax[ii]) rmax[ii] = v[ii];
1862 if (checkPrevious) {
1863 rmin[0] = (hist->GetXaxis()->GetXmin() < rmin[0]) ? hist->GetXaxis()->GetXmin()
1865 rmin[1] = (hist->GetYaxis()->GetXmin() < rmin[1]) ? hist->GetYaxis()->GetXmin()
1867 rmin[2] = (hist->GetZaxis()->GetXmin() < rmin[2]) ? hist->GetZaxis()->GetXmin()
1869 rmax[0] = (hist->GetXaxis()->GetXmax() > rmax[0]) ? hist->GetXaxis()->GetXmax()
1871 rmax[1] = (hist->GetYaxis()->GetXmax() > rmax[1]) ? hist->GetYaxis()->GetXmax()
1873 rmax[2] = (hist->GetZaxis()->GetXmax() > rmax[2]) ? hist->GetZaxis()->GetXmax()
1878 rmin[0], rmax[0], rmin[1], rmax[1], rmin[2], rmax[2]);
1891 gPad->Range(-1,-1,1,1);
1900 for (
int i = 0; i < fPolyMarker3D->Size(); i++) {
1902 fPolyMarker3D->GetPoint(i, x,
y,
z);
1903 hist->Fill(x,
y,
z, 1);
1917 PDB(kDraw,1)
Info(
"SlaveBegin",
"Enter tree = %p", tree);
1936 fPoints->
SetName(
"PROOF_SCATTERPLOT");
1949 fPoints->GetVector()->push_back(
Point3D_t(v[2], v[1], v[0]));
1958 PDB(kDraw,1)
Info(
"Terminate",
"Enter");
1966 std::vector<Point3D_t> *
points = fPoints->GetVector();
1971 if ( (hist = dynamic_cast<TH2F*> (orig)) == 0 ) {
1974 double binsx, minx, maxx;
1975 double binsy, miny, maxy;
1987 (
Int_t) binsx, minx, maxx, (
Int_t) binsy, miny, maxy);
2001 rmin[0] = rmax[0] = rmin[1] = rmax[1] = rmin[2] = rmax[2] = 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;
2016 if (hist->CanExtendAllAxes() && hist->TestBit(
kCanDelete)) {
2018 rmin[1], rmax[1], rmin[2], rmax[2]);
2030 hist->GetListOfFunctions()->Add(grs,
"P");
2031 for (col=0;col<ncolors;col++) {
2040 for (vector<Point3D_t>::const_iterator i = points->begin();
2041 i < points->end(); ++i) {
2042 col =
Int_t((ncolors-1)*((i->fX-rmin[0])/(rmax[0]-rmin[0])));
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");
2104 fPoints->GetVector()->push_back(
Point4D_t(v[3], v[2], v[1], v[0]));
2114 PDB(kDraw,1)
Info(
"Terminate",
"Enter");
2122 std::vector<Point4D_t> *
points = fPoints->GetVector();
2130 double binsx, minx, maxx;
2131 double binsy, miny, maxy;
2132 double binsz, minz, maxz;
2149 (
Int_t) binsx, minx, maxx,
2150 (
Int_t) binsy, miny, maxy,
2151 (
Int_t) binsz, minz, maxz);
2166 rmin[0] = rmax[0] = rmin[1] = rmax[1] = rmin[2] = rmax[2] = 0;
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;
2184 if (hist->CanExtendAllAxes() && hist->TestBit(
kCanDelete)) {
2186 rmin[1], rmax[1], rmin[2], rmax[2], rmin[3], rmax[3]);
2197 hist->GetListOfFunctions()->Add(pms);
2198 for (col=0;col<ncolors;col++) {
2203 pms->
AddAt(pm3d,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;
virtual void Begin(TTree *)
Executed by the client before processing.
virtual void DoFill(Long64_t entry, Double_t w, const Double_t *v)=0
virtual void Terminate()
See TProofDraw::Terminate().
virtual void Terminate()
See TProofDraw::Terminate().
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
TSelectorList * fOutput
! List of objects created during processing
virtual void DoFill(Long64_t entry, Double_t w, const Double_t *v)
Fills the histgram with given values.
virtual Long64_t GetN() const
virtual void SlaveBegin(TTree *)
Executed by each slave before processing.
virtual void Print(Option_t *option="") const
Standard print function.
virtual void ClearFormula()
Delete internal buffers.
3-D histogram with a float per channel (see TH1 documentation)}
virtual void DoFill(Long64_t entry, Double_t w, const Double_t *v)
Fills the scatter plot with the given values.
virtual void DoFill(Long64_t entry, Double_t w, const Double_t *v)
Fills the eventlist with given values.
void SetDrawAtt(TObject *o)
Set the drawing attributes from the input list.
R__EXTERN TStyle * gStyle
TObject * GetParameter(const char *par) const
Get specified parameter.
virtual void Terminate()
See TProofDraw::Terminate().
virtual void SetName(const char *name)
Set the name of the TNamed.
virtual void SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content.
THist< 1, float, THistStatContent, THistStatUncertainty > TH1F
virtual void SlaveBegin(TTree *)
See TProofDraw::SlaveBegin().
void SetError(const char *sub, const char *mesg)
Sets the error status.
Int_t GetNoParameters() const
void Add(const char *mesg)
Add an error message.
virtual void SlaveBegin(TTree *)
See TProofDraw::SlaveBegin().
Bool_t GetShouldDraw() const
void DefVar3D()
Define variables for 3D histogram.
static THLimitsFinder * GetLimitsFinder()
Return pointer to the current finder.
virtual TObject * Remove(TObject *obj)
Remove object from array.
Implement Tree drawing using PROOF.
1-D histogram with a float per channel (see TH1 documentation)}
virtual void Init(TTree *)
Init the tree.
Double_t GetIfSpecified(Int_t num, Double_t def) const
virtual void Init(TTree *)
See TProofDraw::Init().
virtual TH1 * DrawCopy(Option_t *option="", const char *name_postfix="_copy") const
Copy this histogram and Draw in the current pad.
virtual void Terminate()
See TProofDraw::Terminate().
virtual void SlaveBegin(TTree *)
See TProofDraw::SlaveBegin().
TObject * At(Int_t idx) const
TObject * FindObject(const char *name) const
Find object using its name.
virtual Int_t FindGoodLimits(TH1 *h, Double_t xmin, Double_t xmax)
Compute the best axis limits for the X axis.
void SetObjectName(const char *s)
virtual void Begin3D(TTree *t)
Initialization for 3D histogram.
virtual void SlaveTerminate()
Executed by each slave after the processing has finished, before returning the results to the client...
virtual void Reset(Option_t *option="")
Reset this histogram: contents, errors, etc.
virtual TObject * FindObject(const char *name) const
Delete a TObjLink object.
if object in a list can be deleted
virtual void SetValue(const char *name, const char *value, EEnvLevel level=kEnvChange, const char *type=0)
Set the value of a resource or create a new resource.
TString GetSelection() const
virtual void Init(TTree *)
See TProofDraw::Init().
virtual void SlaveBegin(TTree *)
See TProofDraw::SlaveBegin().
TString GetObjectName() const
Fill Area Attributes class.
virtual void Reset(Option_t *option="")
Reset contents of a Profile histogram.
This class holds the status of an ongoing operation and collects error messages.
The TNamed class is the base class for all named ROOT classes.
virtual TObject * FindObject(const char *name) const
Find an object in this collection using its name.
virtual void Terminate()
See TProofDraw::Terminate().
virtual Int_t GetN() const
TString GetObjectTitle() const
Returns the desired plot title.
virtual void DoFill(Long64_t entry, Double_t w, const Double_t *v)
Fills the eventlist with given values.
virtual void SetMarkerColor(Color_t mcolor=1)
Set the marker color.
TString GetProofSelectorName() const
Returns appropriate TSelector class name for proof for the object that is to be drawn assumes that Pa...
virtual Bool_t Process(Long64_t)
Executed for each entry.
Int_t DrawCanvas(TObject *obj)
virtual void Begin(TTree *t)
See TProofDraw::Begin().
TString fOption
Option given to TTree::Process.
virtual void Terminate()
See TProofDraw::Terminate().
virtual void DefVar()
Define relevant variables.
virtual void Init(TTree *tree)
See TProofDraw::Init().
Int_t GetDrawArgs(const char *var, const char *sel, Option_t *opt, TString &selector, TString &objname)
The 3-D histogram classes derived from the 1-D histogram classes.
static Int_t GetMaxDimension()
return fgMaxDimension (cannot be inline)
TTreeFormulaManager * fManager
Double_t GetParameter(int num) const
returns num-th parameter from brackets in the expression in case of an error (wrong number) returns 0...
virtual void SetLineColor(Color_t lcolor)
Set the line color.
NOTE: Must always be 0 !!!
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...
virtual void DefVar()
Define variables according to arguments.
virtual Bool_t Notify()
Called when a new tree is loaded.
Service class for 2-Dim histogram classes.
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
void SetOriginal(TObject *o)
virtual void SetStatus(Long64_t status)
2-D histogram with a float per channel (see TH1 documentation)}
virtual void Begin(TTree *t)
See TProofDraw::Begin().
virtual TObject * Remove(TObject *obj)
Remove object from the list.
virtual void Begin2D(TTree *t)
Initialization for 2D histogram.
TObject * Remove(TObject *obj)
Remove object from the list.
virtual void Init(TTree *)
See TProofDraw::Init().
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
char * Form(const char *fmt,...)
virtual void DoFill(Long64_t entry, Double_t w, const Double_t *v)
Fills the graph with the given values.
virtual void SlaveTerminate()
See TProofDraw::SlaveTerminate().
A TEventList object is a list of selected events (entries) in a TTree.
The ROOT global object gROOT contains a list of all defined classes.
void SetCanvas(const char *objname)
Move to a canvas named <name>_canvas; create the canvas if not existing.
virtual void SetBuffer(Int_t buffersize, Option_t *option="")
Set the buffer size in units of 8 bytes (double).
void SetName(const char *name)
virtual void Terminate()
See TProofDraw::Terminate().
static Int_t GetDefaultBufferSize()
Static function return the default buffer size for automatic histograms the parameter fgBufferSize ma...
static constexpr double nm
Int_t GetNumberOfColors() const
Return number of colors in the color palette.
virtual void AddAt(TObject *obj, Int_t idx)
Add object at position ids.
virtual void Init(TTree *)
See TProofDraw::Init().
virtual void Reset(Option_t *option="")
Reset this histogram: contents, errors, etc.
void SetPoint(Int_t n, Double_t x, Double_t y, Double_t z)
Set point n to x, y, z.
virtual void SlaveBegin(TTree *)
See TProofDraw::SlaveBegin().
virtual void DoFill(Long64_t entry, Double_t w, const Double_t *v)
Fills the scatter plot with the given values.
TObject * UncheckedAt(Int_t i) const
virtual void Init(TTree *tree)
See TProofDraw::Init().
virtual void SlaveBegin(TTree *)
See TProofDraw::SlaveBegin().
virtual void Reset(Option_t *option="")
Reset contents of a Profile2D histogram.
virtual void SlaveBegin(TTree *)
See TProofDraw::SlaveBegin().
virtual void Terminate()
Executed by the client after getting the processing retults.
virtual void DoFill(Long64_t entry, Double_t w, const Double_t *v)
Fills the histogram with the given values.
virtual Bool_t CompileVariables()
Compiles each variable from fTreeDrawArgsParser for the tree fTree.
EAbort fAbort
Abort status.
void DefVar1D()
Define vars for 1D Histogram.
virtual void Terminate()
See TProofDraw::Terminate().
void FillWeight()
Get weight from input list, if any.
Int_t GetDimension() const
Profile2D histograms are used to display the mean value of Z and its RMS for each cell in X...
TTreeDrawArgsParser fTreeDrawArgsParser
virtual void SetName(const char *name)
Change the name of this TEventList.
static TView * CreateView(Int_t system=1, const Double_t *rmin=0, const Double_t *rmax=0)
Create a concrete default 3-d view via the plug-in manager.
A class that parses all parameters for TTree::Draw().
virtual ~TProofDraw()
Destructor.
THist< 3, float, THistStatContent, THistStatUncertainty > TH3F
Mother of all ROOT objects.
you should not use this method at all Int_t Int_t z
virtual void SlaveTerminate()
See TProofDraw::SlaveTerminate().
virtual const char * GetTitle() const
Returns title of object.
virtual void SlaveBegin(TTree *)
See TProofDraw::SlaveBegin().
virtual void SetBuffer(Int_t buffersize, Option_t *option="")
Set the buffer size in units of 8 bytes (double).
virtual void DefVar()
Define relevant variables.
virtual void SetPoint(Int_t i, Double_t x, Double_t y)
Set x and y values for point number i.
TList * fInput
List of objects available during processing.
virtual void Add(TObject *obj)
virtual Bool_t ProcessSingle(Long64_t, Int_t)
Processes a single variable from an entry.
A Graph is a graphics object made of two arrays X and Y with npoints each.
TObject * Clone(const char *newname=0) const
Make a complete copy of the underlying object.
void FeedBackCanvas(const char *name, Bool_t create)
virtual void Terminate()
See TProofDraw::Terminate().
virtual void DoFill(Long64_t entry, Double_t w, const Double_t *v)
Fills the scatter plot with the given values.
virtual void SlaveBegin(TTree *)
See TProofDraw::SlaveBegin().
virtual void DoFill(Long64_t entry, Double_t w, const Double_t *v)
Fills the profile histogram with the given values.
virtual void Reset(Option_t *option="")
Reset this histogram: contents, errors, etc.
void DefVar2D()
Define variables for 2D histogram.
virtual const char * GetName() const
Returns name of object.
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
virtual void Init(TTree *)
See TProofDraw::Init().
THist< 2, float, THistStatContent, THistStatUncertainty > TH2F
virtual Int_t GetValue(const char *name, Int_t dflt) const
Returns the integer value for a resource.
A List of entry numbers in a TTree or TChain.
TObject * GetOriginal() const
virtual Int_t GetLastPoint() const
Bool_t Parse(const char *varexp, const char *selection, Option_t *option)
Parses parameters from TTree::Draw().
virtual void SetStats(Bool_t stats=kTRUE)
Set statistics option on/off.
virtual void Begin1D(TTree *t)
Initialization for 1D Histogram.
Bool_t IsSpecified(int num) const
returns kTRUE if the num-th parameter was specified otherwise returns fFALSE in case of an error (wro...
virtual const char * GetTitle() const
Returns title of object.
virtual void Begin(TTree *t)
See TProofDraw::Begin().