HROOT-0.6.6: example/project1d.hs
module Main where
import Control.Monad
import HROOT
main :: IO ()
main = do
tcanvas <- newTCanvas "Test" "Test" 640 480
h2 <- newTH2F "test" "test" 100 (-5.0) 5.0 100 (-5.0) 5.0
tRandom <- newTRandom 65535
let generator1 = gaus tRandom 0 2
generator2 = gaus tRandom 1 0.5
let go n | n <= 0 = return ()
| otherwise = do
histfill generator1 generator1 h2
histfill generator2 generator2 h2
go (n-1)
go 1000000
{- draw h2 "lego"
saveAs tcanvas "random2d.pdf" ""
saveAs tcanvas "random2d.jpg" ""
saveAs tcanvas "random2d.png" "" -}
h1 <- tH2ProjectionX (upcastTH2 h2) "tdk" 0 (-1) ""
draw h1 ""
saveAs tcanvas "projection.pdf" ""
delete h1
delete h2
delete tcanvas
histfill :: IO Double -> IO Double-> TH2F -> IO ()
histfill dist1 dist2 hist = do
x <- dist1
y <- dist2
fill2 hist x y
return ()