Skip to content

Commit

Permalink
temp webdav support (for admproject only)
Browse files Browse the repository at this point in the history
  • Loading branch information
wavewave committed Sep 12, 2012
1 parent 65a0ba1 commit 583acf2
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 21 deletions.
2 changes: 1 addition & 1 deletion exe/evchain.hs
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ map_multijet =


main :: IO ()
main = evchainGen map_multijet p_multijet 100
main = putStrLn "dummy" -- evchainGen map_multijet p_multijet 100

{-
Expand Down
25 changes: 20 additions & 5 deletions lib/HEP/Automation/EventChain/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@ import System.FilePath
import System.IO
--
import HEP.Parser.LHEParser.Type
import HEP.Storage.WebDAV
import HEP.Automation.MadGraph.Model
import HEP.Automation.MadGraph.Model.ADMXUDD
--
import HEP.Automation.EventChain.LHEConn
import HEP.Automation.EventChain.FileDriver
Expand All @@ -46,11 +49,11 @@ dummyEvInfo :: EventInfo
dummyEvInfo = EvInfo 0 0 0 0 0 0

-- |
evchainGen :: ProcSpecMap -> DCross -> Int -> IO ()
evchainGen pmap cross n = do
evchainGen :: ModelParam ADMXUDD -> FilePath -> String -> FilePath -> ProcSpecMap -> DCross -> Int -> IO ()
evchainGen pset tempdirbase urlbase remotedir pmap cross n = do
let idxcross = (mkCrossIDIdx . mkDICross) cross
print idxcross
rm <- createProcessX (generateX pmap) (generateD pmap)
rm <- createProcessX (generateX pset pmap) (generateD pset pmap)
lheCntX lheCntD idxcross n
let fp = fromJust (HM.lookup [] rm)
(_,fn) = splitFileName fp
Expand All @@ -65,10 +68,22 @@ evchainGen pmap cross n = do
let r = runState (runErrorT (foldM action id lst)) rm2
case fst r of
Left err -> putStrLn err
Right builder -> do putStrLn (builder [])
setCurrentDirectory "/home/wavewave"
Right builder -> do -- putStrLn (builder [])
createDirectory tempdirbase
setCurrentDirectory tempdirbase
print fb
writeFile fb (builder [])
uploadFile (webdavconfig urlbase)
(WebDAVRemoteDir remotedir) fb
return ()
return ()


webdavconfig urlbase = WebDAVConfig { webdav_path_wget = "/usr/bin/wget"
, webdav_path_cadaver = "/usr/bin/cadaver"
, webdav_baseurl = urlbase }





37 changes: 22 additions & 15 deletions lib/HEP/Automation/EventChain/Process/Generator.hs
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,11 @@ processSetup pname wname = PS { model = ADMXUDD
, workname = wname
}

{-
-- |
pset :: ModelParam ADMXUDD
pset = ADMXUDDParam 750 1500 100
-}

-- |
ucut :: UserCut
Expand All @@ -89,8 +91,9 @@ ucut = UserCut {


-- |
getRSetup :: Int -> RunSetup ADMXUDD
getRSetup n = RS { param = pset
getRSetup :: ModelParam ADMXUDD -> Int -> RunSetup ADMXUDD
getRSetup pset n =
RS { param = pset
, numevent = n
, machine = LHC7 ATLAS
, rgrun = Fixed
Expand All @@ -107,20 +110,21 @@ getRSetup n = RS { param = pset
}

-- |
getWSetup :: String -> String -> Int -> IO (WorkSetup ADMXUDD)
getWSetup str wname n =
getWSetup :: ModelParam ADMXUDD
-> String -> String -> Int -> IO (WorkSetup ADMXUDD)
getWSetup pset str wname n =
WS <$> getScriptSetup
<*> pure (processSetup str wname)
<*> pure (getRSetup n)
<*> pure (getRSetup pset n)
<*> pure (CS NoParallel)
<*> pure (WebDAVRemoteDir "")


-- |
work :: String -> String -> Int -> IO String
work str wname n = do
work :: ModelParam ADMXUDD -> String -> String -> Int -> IO String
work pset str wname n = do
putStrLn "models : admxudd "
wsetup <- getWSetup str wname n
wsetup <- getWSetup pset str wname n
r <- flip runReaderT wsetup . runErrorT $ do
WS ssetup psetup rsetup _ _ <- ask
createWorkDir ssetup psetup
Expand Down Expand Up @@ -202,20 +206,22 @@ cnt1EvtD i decay (Counter incomingm outgoingm) ev@LHEvent {..} = do


-- |
generateX :: ProcSpecMap -> CrossID ProcSmplIdx -> Int -> IO FilePath
generateX pm MkC {..} n = do
generateX :: ModelParam ADMXUDD
-> ProcSpecMap -> CrossID ProcSmplIdx -> Int -> IO FilePath
generateX pset pm MkC {..} n = do
case HM.lookup Nothing pm of
Nothing -> fail "what? no root process in map?"
Just str -> do
let nwname = "Test"++ show (hash (str,[] :: ProcSmplIdx))
print nwname
r <- work str nwname n
r <- work pset str nwname n
threadDelay 1000000
return r

-- | Single PDGID in dnode is assumed.
generateD :: ProcSpecMap -> DecayID ProcSmplIdx -> Int -> IO FilePath
generateD pm MkD {..} n = do
generateD :: ModelParam ADMXUDD -> ProcSpecMap -> DecayID ProcSmplIdx
-> Int -> IO FilePath
generateD pset pm MkD {..} n = do
let psidx = (proc_procid . head . ptl_procs) dnode
pdgid' = (proc_pdgid . head . ptl_procs ) dnode
pmidx = mkPMIdx psidx pdgid'
Expand All @@ -224,7 +230,7 @@ generateD pm MkD {..} n = do
Just str -> do
let nwname = "Test"++ show (hash (str,pmidx))
print nwname
r <- work str nwname n
r <- work pset str nwname n
threadDelay 1000000
return r

Expand All @@ -233,7 +239,7 @@ generateD pm MkD {..} n = do
---------



{-
testmadgraphX :: CrossID ProcessInfo -> Int -> IO FilePath
testmadgraphX MkC {..} n = do str <- work xnode "TestMadGraph" n
putStrLn str
Expand All @@ -243,3 +249,4 @@ testmadgraphX MkC {..} n = do str <- work xnode "TestMadGraph" n
testmadgraphD :: DecayID ProcessInfo -> Int -> IO FilePath
testmadgraphD = error "not implemented"
-}

0 comments on commit 583acf2

Please sign in to comment.