Selector to fill a simple ntuple.
#define ProofNtuple_cxx
ProofNtuple::~ProofNtuple()
{
}
{
pad1->GetFrame()->SetFillColor(15);
ntp->Draw(
"3*px+2",
"px**2+py**2>1");
ntp->Draw(
"2*px+2",
"pz>2",
"same");
ntp->Draw(
"1.3*px+2",
"(px^2+py^2>4) && py>0",
"same");
ntp->Draw(
"pz:py:px",
"(pz<10 && pz>6)+(pz<4 && pz>3)");
ntp->Draw(
"pz:py:px",
"pz<6 && pz>4",
"same");
ntp->Draw(
"pz:py:px",
"pz<4 && pz>3",
"same");
l2->AddText(
"You can interactively rotate this view in 2 ways:");
l2->AddText(
" - With the RotateCube in clicking in this pad");
l2->AddText(
" - Selecting View with x3d in the View menu");
}
void ProofNtuple::Begin(
TTree * )
{
}
void ProofNtuple::SlaveBegin(
TTree * )
{
TNamed *nm =
dynamic_cast<TNamed *
>(fInput->FindObject(
"SimpleNtuple.root"));
if (nm) {
} else {
Info(
"SlaveBegin",
"PROOF_OUTPUTFILE_LOCATION: %s", (out ?
out->GetTitle() :
"undef"));
out = (
TNamed *) fInput->FindObject(
"PROOF_OUTPUTFILE");
}
if (fFile && fFile->IsZombie())
SafeDelete(fFile);
if (!fFile) {
Info(
"SlaveBegin",
"could not create '%s': instance is invalid!",
fProofFile->GetName());
return;
}
fNtp =
new TNtuple(
"ntuple",
"Demo ntuple",
"px:py:pz:random:i");
fNtp->SetDirectory(fFile);
fNtp2->SetDirectory(fFile);
if (!(
fNtpRndm =
dynamic_cast<TNtuple *
>(fInput->FindObject(
"NtpRndm")))) {
"asked to use rndm ntuple but 'NtpRndm' not found in the"
" input list! Using the random generator");
fInput->Print();
} else {
Info(
"SlaveBegin",
"taking randoms from input ntuple 'NtpRndm'");
}
}
}
{
} else if (fRandom) {
fRandom->Rannor(px,py);
} else {
Abort("no way to get random numbers! Stop processing", kAbortProcess);
}
}
void ProofNtuple::SlaveTerminate()
{
if (fFile) {
Error(
"SlaveTerminate",
"'ntuple' is undefined!");
return;
}
if (
fNtp->GetEntries() > 0) {
fFile->cd();
} else {
}
fNtp->SetDirectory(
nullptr);
fFile->Close();
if (cleanup) {
TUrl uf(*(fFile->GetEndpointUrl()));
}
}
}
void ProofNtuple::Terminate()
{
if (fFile) {
} else {
}
if (!fFile) return;
} else {
Error(
"Terminate",
"TProofOutputFile not found");
return;
}
}
Selector to fill a simple ntuple.
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
void Printf(const char *fmt,...)
Formats a string in a circular formatting buffer and prints the string.
R__EXTERN TSystem * gSystem
Describe directory structure in memory.
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
Create / open a file.
The TNamed class is the base class for all named ROOT classes.
const char * GetTitle() const override
Returns title of object.
A simple TTree restricted to a list of float variables only.
@ kOverwrite
overwrite existing object with same name
The most important graphics class in the ROOT system.
A Pave (see TPave) with text, lines or/and boxes inside.
Class to steer the merging of files produced on the workers.
Random number generator class based on M.
virtual int Unlink(const char *name)
Unlink, i.e.
A TTree represents a columnar dataset.
This class represents a WWW compatible URL.
Double_t ErfInverse(Double_t x)
Returns the inverse error function.
Double_t Sqrt(Double_t x)
Returns the square root of x.