Document generated by Hector Alvarez Pol @ USC (hector.alvarez@usc.es), 24/08/2010 Last update by Hector Alvarez Pol @ USC (hector.alvarez@usc.es), 20/04/2011 ---------------------------------------------------------------------------------- THE FOLLOWING TEXT IS ONLY VALID FOR SVN VERSIONS ABOVE r11649 ---------------------------- HOW TO RUN CALIFA (short version) 1 - select a geometry, run the corresponding perl script with your favorite parameters. 2 - link or copy the output file of the perl script to a cal/perlScripts/CALIFA.geo file 3 - recompile the cal code 4 - run your macros, selecting the proper geometry version in the R3BCalo and R3BCaloHitFinder objects (function SelectGeometryVersion()) ---------------------------- How to run different CALIFA geometry versions (in three steps, longer version): 1- Select the geometry version from the existing models. There are many geometry versions available: 0- CALIFA 5.0, including BARREL and ENDCAP. 1- CALIFA 7.05, only BARREL 2- CALIFA 7.07, only BARREL 3- CALIFA 7.09, only BARREL (ongoing work) 4- CALIFA 7.17, only ENDCAP (in CsI[Tl]) 5- CALIFA 7.07+7.17, 6- CALIFA 7.09+7.17, (ongoing work) 10- CALIFA 8.00, (ongoing work) ... or alternatively create your own script for a user-defined geometry (quite complex). 2- There are many possibilities for introducing a CALIFA geometry: 0) OLD CALIFA 5.0: the code is included in R3BCalo.cxx. NOTE: THERE IS NO WARRANTY THAT THIS VERSION WORKS CORRECTLY IN R3BROOT - Select the geometry 0 in the simulation/analysis macro: R3BDetector* calo = new R3BCalo("Califa", kTRUE); //Selecting the geometry // 0 for CALIFA V5 (old) // 1 for CALIFA V7.05 ... // see full list in perlscripts/README ((R3BCalo *)calo)->SelectGeometryVersion(0); (see, for instance macros/r3b/califa/r3ball.C) 1) CALIFA 7.05 (ONLY BARREL): - Run the perl script cal/perlScripts/createGeometryCLF705.pl - Select the geometry 1 in the simulation/analysis macro: R3BDetector* calo = new R3BCalo("Califa", kTRUE); //Selecting the geometry // 0 for CALIFA V5 (old) // 1 for CALIFA V7.05 ... // see full list in perlscripts/README ((R3BCalo *)calo)->SelectGeometryVersion(1); (see, for instance macros/r3b/califa/r3ball.C) 2) CALIFA 7.07 (ONLY BARREL): - Run the perl script cal/perlScripts/createGeometryCLF707.pl - Select the geometry 2 in the simulation/analysis macro: R3BDetector* calo = new R3BCalo("Califa", kTRUE); //Selecting the geometry // 0 for CALIFA V5 (old) // 1 for CALIFA V7.05 ... // see full list in perlscripts/README ((R3BCalo *)calo)->SelectGeometryVersion(2); 3) [ONGOING WORK]CALIFA 7.09 (ONLY BARREL): - Run the perl script cal/perlScripts/createGeometryCLF709.pl - Select the geometry 3 in the simulation/analysis macro: R3BDetector* calo = new R3BCalo("Califa", kTRUE); //Selecting the geometry // 0 for CALIFA V5 (old) // 1 for CALIFA V7.05 ... // see full list in perlscripts/README ((R3BCalo *)calo)->SelectGeometryVersion(3); 4) CALIFA 7.17 (ONLY ENDCAP): - Run the perl script cal/perlScripts/createGeometryCLF717.pl - Select the geometry 4 in the simulation/analysis macro: R3BDetector* calo = new R3BCalo("Califa", kTRUE); //Selecting the geometry // 0 for CALIFA V5 (old) // 1 for CALIFA V7.05 ... // see full list in perlscripts/README ((R3BCalo *)calo)->SelectGeometryVersion(4); 5) CALIFA 7.07+7.17: - Run the perl script cal/perlScripts/createGeometryCLF707717.pl - Select the geometry 5 in the simulation/analysis macro: R3BDetector* calo = new R3BCalo("Califa", kTRUE); //Selecting the geometry // 0 for CALIFA V5 (old) // 1 for CALIFA V7.05 ... // see full list in perlscripts/README ((R3BCalo *)calo)->SelectGeometryVersion(5); 6) [ONGOING WORK]CALIFA 7.09+7.17: - Run the perl script cal/perlScripts/createGeometryCLF709717.pl - Select the geometry 6 in the simulation/analysis macro: R3BDetector* calo = new R3BCalo("Califa", kTRUE); //Selecting the geometry // 0 for CALIFA V5 (old) // 1 for CALIFA V7.05 ... // see full list in perlscripts/README ((R3BCalo *)calo)->SelectGeometryVersion(6); 10) [ONGOING WORK]CALIFA 8.00: - Run the perl script cal/perlScripts/createGeometryCLF800.pl - Select the geometry 10 in the simulation/analysis macro: R3BDetector* calo = new R3BCalo("Califa", kTRUE); //Selecting the geometry // 0 for CALIFA V5 (old) // 1 for CALIFA V7.05 ... // see full list in perlscripts/README ((R3BCalo *)calo)->SelectGeometryVersion(10); 3- The code is generated externally by a perl script cal/perlScripts/createGeometryCLF###.pl where ### is the CALIFA geometry version. The output of the macro (CLF###_Geometry.geo) must be renamed (or simbolically linked) to CALIFA.geo, which is included in the R3BCalo.cxx code. If the user modifies anything (like wrapping thicknes, …), the code in the directory cal should be recompiled. 4- Remember to compile the code after any geometrical modification! Further comments about each geometrical version are available in each perl script. // 0 - OLD CALIFA 5.0, including BARREL and ENDCAP: // NOTE: THERE IS NO WARRANTY THAT THIS VERSION WORKS CORRECTLY IN R3BROOT // Contains 30 different crystal types, repeated 64 times (64 copies) // // 1- CALIFA 7.05, only BARREL // Each ring is made of 40 alveoli of 4 crystals each. There are 24 alveoli along the polar angle // for a total of 40x24=960 alveoli or 3840 crystals. There are 12 different crystal shapes: // @alveoliType=(1,1,2,2,2,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,6,6,6); // // Volumes: Alveolus_[1,24] made of CrystalWithWrapping_[1,6][A,B] made of Crystal_[1,6][A,B] // // 2- CALIFA 7.07, only BARREL // Each ring is made of 32 alveoli of 4 crystals each. There are 20 alveoli along the polar angle // for a total of 32x20=640 alveoli or 2560 crystals. There are 16 different crystal shapes: // @alveoliType=(1,1,2,2,2,3,3,4,4,4,5,5,6,6,6,7,7,7,8,8); // // Volumes: Alveolus_[1,20] made of CrystalWithWrapping_[1,8][A,B] made of Crystal_[1,8][A,B] // // 3- CALIFA 7.09, only BARREL (ongoing work) // // // 4- CALIFA 7.17, only ENDCAP (in CsI[Tl]) // Each ring is made of 32 alveoli of 8, 8 and 7 crystals each. There are 3 alveoli along the polar angle // for a total of 32x3=96 alveoli or 736 crystals. There are 23 different crystal shapes: // @alveoliType=(8,8,7); // // Volumes: Alveolus_EC_[1,3] made of CrystalWithWrapping_[1,23] made of Crystal_[1,23] // // 5- CALIFA 7.07+7.17 // See above the two components // // 6- CALIFA 7.09+7.17, (ongoing work) // See above the two components // // 10- CALIFA 8.00, (ongoing work) ================================================================================== THE FOLLOWING TEXT IS ONLY VALID FOR SVN VERSIONS BELOW r11149 (???) How to run different CALIFA geometry versions: 1- Select the geometry version from the existing models. There are three geometry versions available: - CALIFA 5.0, including BARREL and ENDCAP. - CALIFA 7.05, only BARREL - CALIFA 7.07, only BARREL or alternatively create your own script for a user-defined geometry (quite complex, see below). 2- For each geometry, the procedure is different: CALIFA 5.0: the code is included in R3BCalo.cxx. So, simply select the geometry in the simulation/analysis macro: R3BDetector* calo = new R3BCalo("Califa", kTRUE); //Selecting the geometry // 0 CALIFA V5 (old), 1 CALIFA V7.05, 2 USER DEFINED ((R3BCalo *)calo)->SelectGeometryVersion(0); (see, for instance macros/r3b/califa/r3ball.C) CALIFA 7.05: it is also included as an option in R3BCalo.cxx, but the code is generated externally by the perl script cal/perlScripts/createGeometryCLF705.pl The output of the macro (CLF705_Geometry.geo) is included in the R3BCalo.cxx code, but if the user modifies anything (like wrapping thicknes, …), the code in the directory cal should be recompiled. In the simulation/analysis macro, you should select: R3BDetector* calo = new R3BCalo("Califa", kTRUE); //Selecting the geometry // 0 CALIFA V5 (old), 1 CALIFA V7.05, 2 USER DEFINED ((R3BCalo *)calo)->SelectGeometryVersion(1); CALIFA 7.07: it is NOT included as a separate option in R3BCalo.cxx, but has to be included as an user-defined version. The code is generated externally by the perl script cal/perlScripts/createGeometryCLF707.pl The output of the macro (CLF707_Geometry.geo) must be renamed to UserDefinedGeometry.geo, which is included in the R3BCalo.cxx code. If the user modifies anything (like wrapping thicknes, …), the code in the directory cal should be recompiled. R3BDetector* calo = new R3BCalo("Califa", kTRUE); //Selecting the geometry // 0 CALIFA V5 (old), 1 CALIFA V7.05, 2 USER DEFINED ((R3BCalo *)calo)->SelectGeometryVersion(2); 3- Remember to compile the code after any geometrical modification!