vivekj
1
Hi,
Interactively, I can do
root [22] TH1F* h1 = new TH1F(“h1”,“Random Gaussian”,100,-2,2);
root [23] h1->FillRandom(“gaus”,10000);
and that works fine.
However, I want to fill it with random nos. uniformly distributed between 0 and 1. I tried,
root [1] TH1F* h1 = new TH1F(“h1”,“flat”,100,-1,1);
root [27] h1->FillRandom(“rndm”,10000);
Error in : Unknown function: rndm
root [28] h1->FillRandom(“Rndm”,10000);
Error in : Unknown function: Rndm
I know how to do this from inside a macro.
Basically, I want to fill a 2-D histogram with a flat distribution, but I am kind fo stuck at the first stage.
vivek
p.s. I also tried using uniform instead of rndm, but no success.
1 Like
volpig
2
[quote=“vivekj”]Hi,
Interactively, I can do
root [22] TH1F* h1 = new TH1F(“h1”,“Random Gaussian”,100,-2,2);
root [23] h1->FillRandom(“gaus”,10000);
and that works fine.
However, I want to fill it with random nos. uniformly distributed between 0 and 1. I tried,
root [1] TH1F* h1 = new TH1F(“h1”,“flat”,100,-1,1);
root [27] h1->FillRandom(“rndm”,10000);
Error in : Unknown function: rndm
root [28] h1->FillRandom(“Rndm”,10000);
Error in : Unknown function: Rndm
I know how to do this from inside a macro.
Basically, I want to fill a 2-D histogram with a flat distribution, but I am kind fo stuck at the first stage.
vivek
p.s. I also tried using uniform instead of rndm, but no success.[/quote]
To call the TH1::FillRandom() method could exist a function with the same name, for a uniform distribution I think you can use the “pol0” function.