GSI Forum - RDF feed
type: channel
description: GSI Helmholtzzentrum für Schwerionenforschung
items: PROOF in FairRoot
items: Re: PROOF in FairRoot

PROOF in FairRoot
type: item
description: As of yesterday, 08th March 2012, users have possibility to execute their reconstruction macros on the PROOF clusters. Please check the website for more instructions and details.
creator: Radoslaw Karabowicz
date: 2012-03-09T21:55:23-00:00

Re: PROOF in FairRoot
type: item
description: Hi radek, I have tried to run some amcro with proof. First of all, if I have understood well proof does not work with simulation but only with reconstruction. I produced a sim file with standard macro/pid/run_sim_sttcombi_pgun.C"(100)", everything fine. Then I have tried to run the macro/digi/run_digi_sttcombi.C using only the first task putting FairRunAna("proof"), using only the PndSttHitProducerRealFast task. This is the output: Toggle Spoiler spataro@briareos:~/jan12/pandaroot/macro/proof$ rt run_digi_sttcombi.C root [0] Processing run_digi_sttcombi.C... FairRootManager::OpenOutFile("digi_sttcombi.root") [INFO ] The input consists out of the following trees and files: [INFO ] - cbmsim [INFO ] - points_sttcombi.root FairRunAna::RunOnProof(0,0): running FairAnaSelector on proof server: "" with PAR file name = "$VMCWORKDIR/gconfig/libFairRoot.par". +++++++ T P R O O F +++++++++++++++++++++++++++++++++ creating TProof* proof = TProof::Open(""); +++ Starting PROOF-Lite with 8 workers +++ Opening connections to workers: OK (8 workers) Setting up worker servers: OK (8 workers) PROOF set to parallel mode (8 workers) +++++++ C R E A T E D +++++++++++++++++++++++++++++++ EXECUTING libFairRoot.par/SETUP.C without includes Function SETUP_c7827247() busy. loaded after "/home/spataro/jan12/pandaroot/gconfig/rootlogon.C" Error: G__unloadfile() Can not unload "/home/spataro/jan12/pandaroot/gconfig/rootlogon.C", file busy /tmp/SETUP_c7827247.C:20: Note: File "/home/spataro/jan12/pandaroot/gconfig/rootlogon.C" already loaded *** Interpreter error recovered *** DONT MIND THE ERRORS HERE, ITS EXECUTED. *** Package cache client:/home/spataro/.proof/packages *** totale 4 drwxr-x--- 3 spataro spataro 4096 2011-10-31 13:34 libFairRoot lrwxrwxrwx 1 spataro spataro 53 2012-03-31 13:04 libFairRoot.par -> /home/spataro/jan12/pandaroot/gconfig/libFairRoot.par FairRunAna::RunOnProof(): The chain seems to have 100 entries. FairRunAna::RunOnProof(): There are 1 files in the chain. FairRunAna::…
creator: StefanoSpataro
date: 2012-03-31T12:16:55-00:00

Re: PROOF in FairRoot
type: item
description: Dear Stefano, Sorry for late answer. The first problem is already solved in the current trunk. The problem was connected with your calling of fRun->Run(0,nEvents) in the macro, where nEvents = 0, which resulted in: FairRunAna::RunOnProof(): The chain seems to have 100 entries. FairRunAna::RunOnProof(): There are 1 files in the chain. FairRunAna::RunOnProof(): Starting inChain->Process("FairAnaSelector","",0,0) I have fixed it to take the whole chain if the user does not specify number of events to analyze. The second problem: I guess the code crashes because of problems in MVD/SDS. The thing is I did not fix the classes. I will commit the changes I have implemented there in order to make it running. Sorry for that. The last question: "Trying to use different tasks I had several errors, which I have solved simply putting //! for the private objects of the tasks, which however should not be streamed. But reading your comment on the site I have not well understood if this is safe or no. And if it is not, how to fix it properly?" I also do it sometimes. There may be only one problem: assume you have some steering variable in your task, like fVerbose. You normally set it in the macro either with a setter or in a dedicated constructor. You would like to have this fVerbose also set in your tasks running on PROOF with the value you specify in the macro. But if you use //!, this value will not be streamed and the default value from the default constructor will be taken. Now fVerbose is not very crucial for running of the tasks but for example in my PndBarrelTrackFinder I have members to choose which detectors to use to search for tracks. I set them in macro and it is very important to pass this information to the tasks on the PROOF nodes. Because of that I cannot just do //! on these members. yours radek
creator: Radoslaw Karabowicz
date: 2012-04-03T10:28:52-00:00

Re: PROOF in FairRoot
type: item
description: Now it is also worse, it is crashing: Toggle Spoiler spataro@briareos:~/jan12/pandaroot/macro/global$ root -l -q 'tracks_BARREL_1000.C("proof",10);' root [0] Processing tracks_BARREL_1000.C("proof",10);... FairRootManager::OpenOutFile("tracks_22Part_n10000.root") Info in (PndGeoHandling::Instance): Making a new instance using the framework. Info in <PndSdsHybridHitProducer::PndSdsHybridHitProducer>: MVD Hybrid Hit Producer created, Parameters will be taken from RTDB [INFO ] The input consists out of the following trees and files: [INFO ] - cbmsim [INFO ] - /home/spataro/jan12/pandaroot/macro/global/points_22Part_n1000_f0.root [INFO ] - file:///home/spataro/jan12/pandaroot/macro/global/points_22Part_n1000_f1 .root [INFO ] - file:///home/spataro/jan12/pandaroot/macro/global/points_22Part_n1000_f2 .root [INFO ] - file:///home/spataro/jan12/pandaroot/macro/global/points_22Part_n1000_f3 .root [INFO ] - file:///home/spataro/jan12/pandaroot/macro/global/points_22Part_n1000_f4 .root [INFO ] - file:///home/spataro/jan12/pandaroot/macro/global/points_22Part_n1000_f5 .root [INFO ] - file:///home/spataro/jan12/pandaroot/macro/global/points_22Part_n1000_f6 .root [INFO ] - file:///home/spataro/jan12/pandaroot/macro/global/points_22Part_n1000_f7 .root [INFO ] - file:///home/spataro/jan12/pandaroot/macro/global/points_22Part_n1000_f8 .root [INFO ] - file:///home/spataro/jan12/pandaroot/macro/global/points_22Part_n1000_f9 .root FairRunAna::RunOnProof(0,10000): running FairAnaSelector on proof server: "" with PAR file name = "$VMCWORKDIR/gconfig/libFairRoot.par". +++++++ T P R O O F +++++++++++++++++++++++++++++++++ creating TProof* proof = TProof::Open(""); +++ Starting PROOF-Lite with 8 workers +++ Opening connections to workers: OK (8 workers) Setting up worker servers: OK (8 workers) PROOF set to parallel mode (8 workers) +++++++ C R E A T E D +++++++++++++++++++++++++++++++ 0309: ClearPackages 0309: UploadPackages 0309: EnablePackages EXECUTING libFairRoot.par/SETUP.C without in…
creator: StefanoSpataro
date: 2012-04-04T15:50:07-00:00

Re: PROOF in FairRoot
type: item
description: Dear Stefano, As I said before the tasks have to be properly initialized or their members be switched off for streaming ( //! ). This I did not commit to SVN yet. I will do it probably tomorrow when I find some time to do it properly. I've just got the plain pandaroot trunk and can see the same errors that you have when running with MVD and STT. From my experience I think it is the MVD that causes most of the problems. However when I switch them off, the PROOF does what it should. So, can you just make a quick check and comment out all the tasks, leaving only GEM digitizer and hit finder? Below you can see the running with only GEM: Quote: karabowi@lxi047::~/pandaroot_15235/trunk/macro/global$ root -l -q 'tracks_BARREL_1000.C("proof",4)' root [0] Processing tracks_BARREL_1000.C("proof",4)... FairRootManager::OpenOutFile("tracks_22Part_n4000.root") [INFO ] The input consists out of the following trees and files: [INFO ] - cbmsim [INFO ] - /misc/karabowi/pandaroot_15235/trunk/macro/global/points_22Part_n1000_f0 .root [INFO ] - file:///misc/karabowi/pandaroot_15235/trunk/macro/global/points_22Part_n 1000_f1.root [INFO ] - file:///misc/karabowi/pandaroot_15235/trunk/macro/global/points_22Part_n 1000_f2.root [INFO ] - file:///misc/karabowi/pandaroot_15235/trunk/macro/global/points_22Part_n 1000_f3.root FairRunAna::RunOnProof(0,4000): running FairAnaSelector on proof server: "" with PAR file name = "$VMCWORKDIR/gconfig/libFairRoot.par". +++++++ T P R O O F +++++++++++++++++++++++++++++++++ creating TProof* proof = TProof::Open(""); +++ Starting PROOF-Lite with 8 workers +++ Opening connections to workers: OK (8 workers) Setting up worker servers: OK (8 workers) PROOF set to parallel mode (8 workers) +++++++ C R E A T E D +++++++++++++++++++++++++++++++ 0309: ClearPackages 0309: UploadPackages 0309: EnablePackages EXECUTING libFairRoot.par/SETUP.C without includes Function SETUP_c7827247() busy. loaded after "/misc/karabowi/pandaroot_15235/trunk/gconfig/rootlogon.C" Error:…
creator: Radoslaw Karabowicz
date: 2012-04-04T19:22:24-00:00

Re: PROOF in FairRoot
type: item
description: Hi, I have just tried the new "sep" macros. I have used only 1 input file, I had to modify the parameter part because it was searching for 4 parameter files while I had only one. It seems it is running: Toggle Spoiler spataro@briareos:~/jan12/pandaroot/macro/global$ rt tracks_BARREL_1000sep.C root [0] Processing tracks_BARREL_1000sep.C... FairRootManager::OpenOutFile("tracks_22Part_n1000.root") [TFile::Cp] Total 2.30 MB |====================| 100.00 % [861.6 MB/s] Info in <TGeoNavigator::BuildCache>: --- Maximum geometry depth set to 100 Info in <TGeoManager::CloseGeometry>: Geometry loaded from file... Info in <TGeoManager::SetTopVolume>: Top volume is cave. Master volume is cave Info in <TGeoManager::Voxelize>: Voxelizing... Info in <TGeoManager::CloseGeometry>: 125176 nodes/ 4346 volume UID's in FAIR geometry Info in <TGeoManager::CloseGeometry>: ----------------modeler ready---------------- **** merged file = " /home/spataro/jan12/pandaroot/macro/global/allParams_20120412_92051.root " [INFO ] The input consists out of the following trees and files: [INFO ] - cbmsim [INFO ] - /home/spataro/jan12/pandaroot/macro/global/points_22Part_n1000_f0_sep.ro ot FairRunAna::RunOnProof(0,0): running FairAnaSelector on proof server: "" with PAR file name = "$VMCWORKDIR/gconfig/libFairRoot.par". +++++++ T P R O O F +++++++++++++++++++++++++++++++++ creating TProof* proof = TProof::Open(""); +++ Starting PROOF-Lite with 8 workers +++ Opening connections to workers: OK (8 workers) Setting up worker servers: OK (8 workers) PROOF set to parallel mode (8 workers) +++++++ C R E A T E D +++++++++++++++++++++++++++++++ 0309: ClearPackages 0309: UploadPackages 0309: EnablePackages EXECUTING libFairRoot.par/SETUP.C without includes Function SETUP_c7827247() busy. loaded after "/home/spataro/jan12/pandaroot/gconfig/rootlogon.C" Error: G__unloadfile() Can not unload "/home/spataro/jan12/pandaroot/gconfig/rootlogon.C", file busy /tmp/SETUP_c7827247.C:20: Note: File "/home/spataro/jan12/pand…
creator: StefanoSpataro
date: 2012-04-12T07:50:45-00:00

Re: PROOF in FairRoot
type: item
description: Dear Stefano, Again it took me long time to answer, but: a/ on GSI Debian the merging was working without any problems b/ on my MAC the merging was crashing badly with no clue as to where the crash happens. After few days of trying to find the problem, I've used my original idea of merging the files by myself. With the current changes (rev. 15330) the merging works both on MAC and Debian, but it's slower than the original ROOT TFlieMerger. Anyways, can you try now? yours radek ps. The "merging" somehow worker for 1 file, that's why it was analyzed. Apparently only on one worker. The standard output file (like "tracks_22Part_n1000.root") is empty, sorry for that. It is created when the master FairRunAna is created. Originally I though of using it for creating a merged file, but since file merging crashes, it just stays empty. I know it's a bit annoying. If you really think it should not be created, please let me know.
creator: Radoslaw Karabowicz
date: 2012-04-19T14:23:41-00:00

Re: PROOF in FairRoot
type: item
description: I had the time to check the new updates. Now it seems the system runs, with 10 files and also with a single file. In the latter case I hope all the workers are used, considering that at the end I have only one final root file (worker_0.1) and not 8 as I would expect. Now it would be good to have it running also for detectors different from GEM. In this sense we could "program" updates in the code, made by the package responsible, so that all the classes are "clean" and running. Who could take care?
creator: StefanoSpataro
date: 2012-05-03T08:17:39-00:00

Re: PROOF in FairRoot
type: item
description: Dear Stefano, Thank you for again testing PROOF. I have two comments to your last message: - the "one input tree per one worker" seems to be a part of the adaptive PacketizerStrategy. When changing the strategy to the old one, 1 file is analyzed on several workers (but I had to introduce some sleep in exec to see it). I have reorganized slightly the FairRunAna, so that one can set proof parameters from the outside as well. Please update the trunk and add the following line to your macro, somewhere between new FairRunAna and fRun->Run(): fRun->GetProof()->SetParameter("PROOF_PacketizerStrategy", (Int_t)0); - another tasks - I am working on it. Currently I am testing the changes implemented on linux debian before last PandaCM on my MAC. I hope to be ready tomorrow - after commit will let you know. yours radek
creator: Radoslaw Karabowicz
date: 2012-05-03T22:11:26-00:00

Re: PROOF in FairRoot
type: item
description: Dear Stefano et al, I have just committed the changes necessary to run my proof macros (macro/global/{sim,tracks}_BARREL_1000sep.C) with MVD, STT, GEM and my track finding. The changes are located in files: M mvd/MvdReco/PndMvdStripClusterTask.cxx M mvd/MvdDigi/PndMvdNoiseProducer.cxx M sds/SdsReco/PndSdsStripClusterTask.cxx M sds/SdsReco/PndSdsChargeWeightingAlgorithms.cxx M sds/SdsReco/PndSdsPixelClusterTask.cxx M sds/SdsReco/PndSdsStripClusterTask.h M sds/SdsReco/PndSdsChargeWeightingAlgorithms.h M sds/SdsReco/PndSdsPixelClusterTask.h M sds/SdsDigi/PndSdsHybridHitProducer.h M sds/SdsDigi/PndSdsStripHitProducer.cxx M sds/SdsDigi/PndSdsNoiseProducer.cxx M sds/SdsDigi/PndSdsHybridHitProducer.cxx M sds/SdsDigi/PndSdsStripHitProducer.h M PndTools/generalTools/PndGeoHandling.cxx M PndTools/generalTools/PndGeoHandling.h M stt/PndSttHitProducerIdeal.cxx M macro/global/tracks_BARREL_1000sep.C Sometimes it's more, sometimes less. Usually it's only member initialization in the class constructors, but I've also had some fun with PndGeoHandling* fGeoH and PndSttMapCreator* mapper. If any of the people responsible for the classes read this message, please do have a look at the changes, so that I do not destroy anything. BTW, In the file attached to this message, I've tried to summarize my thought processes, when dealing with the PROOF crashes, and the changes I had to introduce to MVD/STT/Global. How you will find it useful. yours radek
creator: Radoslaw Karabowicz
date: 2012-05-05T10:07:22-00:00

Re: PROOF in FairRoot
type: item
description: Hi Radek, one month ago I had already a discussion with Tobias about PndGeoHandling public constructor, and it should be private as long as PndGeoHandling is a singleton. Otherwise it could happen that it is called by a different subprocess. No idea on how to solve this point.
creator: StefanoSpataro
date: 2012-05-07T11:54:25-00:00

Re: PROOF in FairRoot
type: item
description: Is it possible to check in the constructor for the existence of the PndGeoHandling and crash in the positive case? yours radek
creator: Radoslaw Karabowicz
date: 2012-05-22T14:49:24-00:00