How to run ORCA on the Filter Farm during Test-Beams
The following instructions refer to the release COSINE_1_0_0_pre5, which is based on ORCA_8_3_0, COBRA_7_8_6 and the XDAQ version at /afs/cern.ch/cms/Releases/XDAQ/XDAQ_2_1. They assume that the machine you are working on is the lxplus cluster or is part of the cms cluster.
*****Installation and Building****
-Install COSINE_1_0_0_pre5 as a standard scram project
>scram project COSINE COSINE_1_0_0_pre5
-Get the head version of FUTrackerTBApplication/test
>project COSINE or cmscvsroot COSINE; cvs login (answer with 98passwd)
And then
>cvs co EventFilterApplication/FUTrackerTBApplication/test
-Set environmental variables
>eval `scram runtime -csh` or eval `scram runtime -sh` according to your shell
-execute the scripts getORCANew and getOrcaFed9U that can be found at
http://cms-btau-datahandling.web.cern.ch/cms-btau-datahandling/TestBeam/SoftwareCorrections.html-execute from anywhere the script EventFilterApplication/FUTrackerTBApplication/test/installX5.csh to install all the required COSINE, and COBRA specific software. The application that is built by default is a simple one that does no reconstruction and only outputs the crude FED byte buffers in a POOL DB.
The relevant BuildFile is EventFilterApplication/FUTrackerTBApplication/BuildFile.
WARNING: At the moment there is no committed code to read back such data in an offline application. (unless written in ROOT format ?)
Alternatively you can run a more complex application, which does cluster reconstruction online and saves StripRawDigi on a POOL DB. Such DB can then be accessed with a standard ORCA offline RecApplication. The relevant BuildFile is
EventFilterApplication/FUTrackerTBApplication/BuildFile_TkAppl (of course you have to rename it "BuildFile" to use it..)
If you make any change in EventFilterApplication/FUTrackerTBApplication/
then you should give the following commands in the src area of this directory to rebuild your COSINE application
>scram b clean;
>scram b
>mv ../../../../lib/Linux__2.4/libFUTrackerTBApplication.so
../../../../lib/Linux__2.4/libi2oFU.so
libi2oFU.so is indeed the library that is loaded by XDAQ upon a
configure command of the node where the FU runs
*****running*****
At the moment the only possible way to test the FUTrackerTBApplication is in a real setup (Dets+DAQ). Currently a FED emulator is being developed.
Alternatively one could use a COSINE fake BuilderUnit that reads raw data from files. However, in this case the working BU-FU protocol is not the one used at present in the Tracker online software, so the FUTrackerTBApplication would fail. The two protocols will be the same in the 2005 release of the Tracker online software as agreed with L. Mirabito.
The following steps have to be performed:
-you must create a SimHit POOL DB containing one a only one event of any kind. This is needed because at the moment the population of a Digi/Recobjects POOL DB is only possible if a SimHit DB is already present and used as input. To this aim, you can use the standard ORCA application under Examples/ExProduction. It's better to keep this simhit DB separated from the one that will be populated during the run.
-you can now launch the XDAQ executive running on the FU with the script
EventFilterApplication/FUTrackerTBApplication/test/xdaqLauncher -p portnumber
When the FU application is configured (with the command configure from XDAQWIN, for instance ) the script
Indicated by the xml configuration parameter "createDirFile" (you have to give the full path) is executed. An example of such file can be found at EventFilterApplication/FUTrackerTBApplication/test/createTkRecDirs. This scripts create the .orcarc that is used by the ORCA part of the application. The script creates the directory where the output DB will be found at the end of the run. Its path must be specified with the xml configuration parameter "dataDirPath" while the name of the directory is obtained with the system date command. Its name is therefore always different for different runs. Finally one must specify the path of the SimHit DB in the xml configuration parameter "hitDBPath".