Skip to content

Commit 4be2de6

Browse files
authored
ITS3: add metal layer + fix macros (#13894)
1 parent 206d9ab commit 4be2de6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+1197
-709
lines changed

Detectors/Upgrades/ITS3/CMakeLists.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@
99
# granted to it by virtue of its status as an Intergovernmental Organization
1010
# or submit itself to any jurisdiction.
1111

12-
#add_compile_options(-O0 -g -fPIC)
12+
#add_compile_options(-O0 -g -fPIC -fsanitize=address)
13+
#add_link_options(-fsanitize=address)
1314

14-
add_subdirectory(macros)
15+
add_subdirectory(data)
1516
add_subdirectory(simulation)
1617
add_subdirectory(alignment)
1718
add_subdirectory(base)
1819
add_subdirectory(workflow)
1920
add_subdirectory(reconstruction)
21+
add_subdirectory(macros)

Detectors/Upgrades/ITS3/README.md

Lines changed: 101 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export ALICEO2_CCDB_LOCALCACHE=${PWD}/ccdb
3535

3636
Simulate diamond
3737

38-
``` bash
38+
```bash
3939
# append to o2-sim
4040
--configKeyValues="Diamond.width[2]=6.;""
4141
```
@@ -86,13 +86,27 @@ TODO
8686
8787
```bash
8888
# Create Full Geometry
89-
o2-sim -g pythia8pp -j10 --detectorList ALICE2.1 --run 303901 -n0
89+
o2-sim --detectorList ALICE2.1 --run 303901 -n0
9090
cp o2sim_geometry.root ${ALICEO2_CCDB_LOCALCACHE}/GLO/Config/Geometry/snapshot.root
9191
o2-create-aligned-geometry-workflow -b --configKeyValues "HBFUtils.startTime=1547978230000" --condition-remap="file://${ALICEO2_CCDB_LOCALCACHE}=GLO/Config/Geometry"
9292
cp o2sim_geometry-aligned.root ${ALICEO2_CCDB_LOCALCACHE}/GLO/Config/GeometryAligned/snapshot.root
9393
cp its_GeometryTGeo.root ${ALICEO2_CCDB_LOCALCACHE}/ITS/Config/Geometry/snapshot.root
9494
```
9595
96+
or copying the ideal geometry to the aligned one and:
97+
98+
```cpp
99+
{
100+
o2::base::GeometryManager::loadGeometry("");
101+
auto itsTGeo = o2::its::GeometryTGeo::Instance();
102+
itsTGeo->fillMatrixCache(o2::math_utils::bit2Mask(o2::math_utils::TransformType::T2L, o2::math_utils::TransformType::L2G, o2::math_utils::TransformType::T2GRot));
103+
TFile outF("its_GeometryTGeo.root", "recreate");
104+
outF.WriteObjectAny(itsTGeo, "o2::its::GeometryTGeo", "ccdb_object");
105+
outF.Close();
106+
itsTGeo->destroy();
107+
}
108+
```
109+
96110
### Regenerating the TopologyDictionary
97111
98112
1. Clusterization w/o tracking
@@ -158,7 +172,7 @@ The file `hijing.C` can be found [here](https://alice.its.cern.ch/jira/browse/AO
158172
2. (optional) Run the macro `CreateITS3StaticDeadMap.C` and/or visualize with `CheckTileNumbering.C`
159173
3. Move the ccdb object into `${ALICEO2_CCDB_LOCALCACHE}/IT3/Calib/DeadMap`, this is not optional since there is no default object uploaded
160174
4. Run digitizer with `ITS3Params.useDeadChannelMap=true;`, e.g.:
161-
``` bash
175+
```bash
162176
o2-sim-digitizer-workflow --configKeyValues="ITS3Params.useDeadChannelMap=true;"
163177
```
164178
@@ -168,6 +182,89 @@ o2-sim-digitizer-workflow --configKeyValues="ITS3Params.useDeadChannelMap=true;"
168182
1. Create misalignment parameters with `CreateMisalignmentITS3.C`
169183
2. Visualize with `ShowCoefficients.C`
170184
3. Run digitizer
171-
``` bash
185+
```bash
172186
o2-sim-digitizer-workflow -b --configKeyValues="ITS3Params.applyMisalignmentHits=true;ITS3Params.misalignmentHitsParams=misparams.root"
173187
```
188+
189+
190+
### Misc
191+
#### Setup to run SIM+DIGIT+TRACKING
192+
```bash
193+
194+
#!/bin/bash
195+
196+
export IGNORE_VALIDITYCHECK_OF_CCDB_LOCALCACHE=1
197+
export ALICEO2_CCDB_LOCALCACHE=$PWD/ccdb
198+
199+
BASE_DIR="batch_"
200+
TOTAL_DIRS=4
201+
SIM_CMD="o2-sim -g pythia8pp --detectorList ALICE2.1 -m IT3 --run 303901 -n2000 --field ccdb -j8"
202+
DIGIT_CMD="o2-sim-digitizer-workflow -b --interactionRate 675000 --run --configKeyValues=\"HBFUtils.runNumber=303901;HBFUtils.nHBFPerTF=32;ITSAlpideParam.roFrameLengthInBC=198\""
203+
RECO_CMD="o2-its3-reco-workflow -b --run --configKeyValues=\"ITSVertexerParam.phiCut=0.5;ITSVertexerParam.clusterContributorsCut=3;ITSVertexerParam.tanLambdaCut=0.2;ITSCATrackerParam.useTrackFollower=0;ITSCATrackerParam.findShortTracks=1;HBFUtils.runNumber=303901;HBFUtils.nHBFPerTF=32;ITSAlpideParam.roFrameLengthInBC=198\" --tracking-mode async"
204+
205+
for ((i = 1; i <= TOTAL_DIRS; i++)); do
206+
DIR="${BASE_DIR}${i}"
207+
208+
if [ ! -d "$DIR" ]; then
209+
mkdir "$DIR"
210+
fi
211+
212+
if [ -f "${DIR}/sim_done" ]; then
213+
echo "Skipping SIM ${DIR} because _done exists."
214+
continue
215+
fi
216+
217+
cd "$DIR"
218+
219+
echo "Executing SIM command in ${DIR}..."
220+
eval $SIM_CMD >sim.log
221+
222+
touch sim_done
223+
224+
cd ..
225+
done
226+
227+
for ((i = 1; i <= TOTAL_DIRS; i++)); do
228+
DIR="${BASE_DIR}${i}"
229+
230+
if [ ! -d "$DIR" ]; then
231+
mkdir "$DIR"
232+
fi
233+
234+
if [ -f "${DIR}/digit_done" ]; then
235+
echo "Skipping DIGIT ${DIR} because _done exists."
236+
continue
237+
fi
238+
239+
cd "$DIR"
240+
241+
echo "Executing DIGIT command in ${DIR}..."
242+
eval $DIGIT_CMD >digit.log
243+
244+
touch digit_done
245+
246+
cd ..
247+
done
248+
249+
for ((i = 1; i <= TOTAL_DIRS; i++)); do
250+
DIR="${BASE_DIR}${i}"
251+
252+
if [ ! -d "$DIR" ]; then
253+
mkdir "$DIR"
254+
fi
255+
256+
if [ -f "${DIR}/reco_done" ]; then
257+
echo "Skipping RECO ${DIR} because _done exists."
258+
continue
259+
fi
260+
261+
cd "$DIR"
262+
263+
echo "Executing RECO command in ${DIR}..."
264+
eval $RECO_CMD >reco.log
265+
266+
touch reco_done
267+
268+
cd ..
269+
done
270+
```

Detectors/Upgrades/ITS3/alignment/src/MisalignmentHits.cxx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
// or submit itself to any jurisdiction.
1111

1212
#include "ITS3Align/MisalignmentHits.h"
13-
#include "ITS3Base/SegmentationSuperAlpide.h"
1413
#include "ITS3Base/ITS3Params.h"
1514
#include "SimConfig/DigiParams.h"
1615
#include "DetectorsBase/Propagator.h"

Detectors/Upgrades/ITS3/base/CMakeLists.txt

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,9 @@
99
# granted to it by virtue of its status as an Intergovernmental Organization
1010
# or submit itself to any jurisdiction.
1111

12-
o2_add_library(ITS3Base
13-
SOURCES src/SegmentationSuperAlpide.cxx
14-
src/ITS3Params.cxx
15-
PUBLIC_LINK_LIBRARIES O2::CommonConstants O2::MathUtils O2::DetectorsBase)
12+
o2_add_library(
13+
ITS3Base
14+
SOURCES src/ITS3Params.cxx
15+
PUBLIC_LINK_LIBRARIES O2::CommonConstants O2::MathUtils O2::DetectorsBase)
1616

17-
o2_target_root_dictionary(ITS3Base
18-
HEADERS include/ITS3Base/SegmentationSuperAlpide.h
19-
include/ITS3Base/ITS3Params.h)
17+
o2_target_root_dictionary(ITS3Base HEADERS include/ITS3Base/ITS3Params.h)

Detectors/Upgrades/ITS3/base/include/ITS3Base/ITS3Params.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ struct ITS3Params : public o2::conf::ConfigurableParamHelper<ITS3Params> {
2525
bool misalignmentHitsUseProp{false}; // Use propagtor for mis-alignment
2626
std::string globalGeoMisAlignerMacro{"${O2_ROOT}/share/macro/MisAlignGeoITS3.C"}; // Path to macro for global geometry mis-alignment
2727
// Chip studies
28-
bool useDeadChannelMap{false}; // Query for a dead channel map to study disabling individual tiles
28+
bool useDeadChannelMap{false}; // Query for a dead channel map to study disabling individual tiles
29+
std::string chipResponseFunction{"APTS"}; // Chip response function one of "Alpide", "APTS" or "Mosaix" (not yet available)
2930

3031
O2ParamDef(ITS3Params, "ITS3Params");
3132
};

0 commit comments

Comments
 (0)