Skip to content

Commit 23c5b9a

Browse files
committed
ITS3: small readme changes
Signed-off-by: Felix Schlepper <[email protected]>
1 parent 627a3d3 commit 23c5b9a

File tree

1 file changed

+101
-4
lines changed

1 file changed

+101
-4
lines changed

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+
```

0 commit comments

Comments
 (0)