Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
a4bbded
ITS3: Add metalstack to geometry
f3sch Nov 27, 2024
be3c6c0
ITS3: correction to epitaxial layer
f3sch Jan 23, 2025
e0c0633
ITS3: small readme changes
f3sch Dec 18, 2024
6af64f3
ITS3: Fix metal stack geo
f3sch Jan 22, 2025
9a055bc
ITS3: change severity to debug
f3sch Jan 22, 2025
b9ae938
ITS3: modify layer geo
f3sch Jan 23, 2025
c27c43c
ITS3: make segmentation class header only
f3sch Jan 23, 2025
d3a120e
ITS3: move pixelarray to start at zero phi
f3sch Jan 23, 2025
212a000
ITS3: macro fixes
f3sch Jan 23, 2025
f293035
ITS3: double precision for geometry + z-shift
f3sch Jan 24, 2025
a7d0cf7
ITS3: Digitizer constness
f3sch Jan 24, 2025
2ce3be3
ITS3: macro include cluster eta, row, col
f3sch Jan 24, 2025
79732e3
ITS3: extend wrapvolZ to include outer edges
f3sch Jan 25, 2025
5a672de
ITS3: remove unused var
f3sch Jan 27, 2025
f8194f2
ITS3: cluster macro
f3sch Jan 27, 2025
a632080
ITS3: Add DigiParams
f3sch Feb 3, 2025
7ad18a7
ITS3: Digitizer option to pick response function
f3sch Jan 31, 2025
acd47bc
ITS3: build APTS response function
f3sch Jan 31, 2025
c70b15b
ITS3: renamed SuperAlpide to Mosaix
f3sch Jan 31, 2025
d2e060b
ITS3: digitizer pre-set response names
f3sch Feb 1, 2025
e97cf5d
ITS3: remove unneeded variables + make segmentation fully float
f3sch Feb 1, 2025
799f309
ITS3: scale pixel-resp + fix OB resp func
f3sch Feb 1, 2025
1e9006e
ITS3: digitizer offset for Alpide resp.
f3sch Feb 3, 2025
73853a8
ITS3: Segmenatation remove member prefix from vars
f3sch Feb 3, 2025
0cd2559
ITS3: shift back to nominal pos + proper metal stack position
f3sch Feb 4, 2025
214575e
ITS3: remove newline from digiparams
f3sch Feb 7, 2025
292abdc
ITS3: make segmentation mostly constexpr
f3sch Feb 10, 2025
cbaa5d4
ITS3: minor changes in Digitizer for float
f3sch Feb 10, 2025
2e0a53d
ITS3: move pixel specs down
f3sch Feb 11, 2025
f6161d3
ITS3: account in segmentation trans for nominal shift
f3sch Feb 11, 2025
882545b
ITS3: Digitizer flip row for IB for APTS
f3sch Feb 11, 2025
7ac713e
ITS3: Add explanation to SegmentationMosaix
f3sch Feb 14, 2025
9b9bf02
ITS3: split topo dict into IB and OB
f3sch Feb 27, 2025
ea84cf6
ITS3: add opt. sanitizer
f3sch Apr 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions Detectors/Upgrades/ITS3/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,13 @@
# granted to it by virtue of its status as an Intergovernmental Organization
# or submit itself to any jurisdiction.

#add_compile_options(-O0 -g -fPIC)
#add_compile_options(-O0 -g -fPIC -fsanitize=address)
#add_link_options(-fsanitize=address)

add_subdirectory(macros)
add_subdirectory(data)
add_subdirectory(simulation)
add_subdirectory(alignment)
add_subdirectory(base)
add_subdirectory(workflow)
add_subdirectory(reconstruction)
add_subdirectory(macros)
105 changes: 101 additions & 4 deletions Detectors/Upgrades/ITS3/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ export ALICEO2_CCDB_LOCALCACHE=${PWD}/ccdb

Simulate diamond

``` bash
```bash
# append to o2-sim
--configKeyValues="Diamond.width[2]=6.;""
```
Expand Down Expand Up @@ -86,13 +86,27 @@ TODO

```bash
# Create Full Geometry
o2-sim -g pythia8pp -j10 --detectorList ALICE2.1 --run 303901 -n0
o2-sim --detectorList ALICE2.1 --run 303901 -n0
cp o2sim_geometry.root ${ALICEO2_CCDB_LOCALCACHE}/GLO/Config/Geometry/snapshot.root
o2-create-aligned-geometry-workflow -b --configKeyValues "HBFUtils.startTime=1547978230000" --condition-remap="file://${ALICEO2_CCDB_LOCALCACHE}=GLO/Config/Geometry"
cp o2sim_geometry-aligned.root ${ALICEO2_CCDB_LOCALCACHE}/GLO/Config/GeometryAligned/snapshot.root
cp its_GeometryTGeo.root ${ALICEO2_CCDB_LOCALCACHE}/ITS/Config/Geometry/snapshot.root
```

or copying the ideal geometry to the aligned one and:

```cpp
{
o2::base::GeometryManager::loadGeometry("");
auto itsTGeo = o2::its::GeometryTGeo::Instance();
itsTGeo->fillMatrixCache(o2::math_utils::bit2Mask(o2::math_utils::TransformType::T2L, o2::math_utils::TransformType::L2G, o2::math_utils::TransformType::T2GRot));
TFile outF("its_GeometryTGeo.root", "recreate");
outF.WriteObjectAny(itsTGeo, "o2::its::GeometryTGeo", "ccdb_object");
outF.Close();
itsTGeo->destroy();
}
```

### Regenerating the TopologyDictionary

1. Clusterization w/o tracking
Expand Down Expand Up @@ -158,7 +172,7 @@ The file `hijing.C` can be found [here](https://alice.its.cern.ch/jira/browse/AO
2. (optional) Run the macro `CreateITS3StaticDeadMap.C` and/or visualize with `CheckTileNumbering.C`
3. Move the ccdb object into `${ALICEO2_CCDB_LOCALCACHE}/IT3/Calib/DeadMap`, this is not optional since there is no default object uploaded
4. Run digitizer with `ITS3Params.useDeadChannelMap=true;`, e.g.:
``` bash
```bash
o2-sim-digitizer-workflow --configKeyValues="ITS3Params.useDeadChannelMap=true;"
```

Expand All @@ -168,6 +182,89 @@ o2-sim-digitizer-workflow --configKeyValues="ITS3Params.useDeadChannelMap=true;"
1. Create misalignment parameters with `CreateMisalignmentITS3.C`
2. Visualize with `ShowCoefficients.C`
3. Run digitizer
``` bash
```bash
o2-sim-digitizer-workflow -b --configKeyValues="ITS3Params.applyMisalignmentHits=true;ITS3Params.misalignmentHitsParams=misparams.root"
```


### Misc
#### Setup to run SIM+DIGIT+TRACKING
```bash

#!/bin/bash

export IGNORE_VALIDITYCHECK_OF_CCDB_LOCALCACHE=1
export ALICEO2_CCDB_LOCALCACHE=$PWD/ccdb

BASE_DIR="batch_"
TOTAL_DIRS=4
SIM_CMD="o2-sim -g pythia8pp --detectorList ALICE2.1 -m IT3 --run 303901 -n2000 --field ccdb -j8"
DIGIT_CMD="o2-sim-digitizer-workflow -b --interactionRate 675000 --run --configKeyValues=\"HBFUtils.runNumber=303901;HBFUtils.nHBFPerTF=32;ITSAlpideParam.roFrameLengthInBC=198\""
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"

for ((i = 1; i <= TOTAL_DIRS; i++)); do
DIR="${BASE_DIR}${i}"

if [ ! -d "$DIR" ]; then
mkdir "$DIR"
fi

if [ -f "${DIR}/sim_done" ]; then
echo "Skipping SIM ${DIR} because _done exists."
continue
fi

cd "$DIR"

echo "Executing SIM command in ${DIR}..."
eval $SIM_CMD >sim.log

touch sim_done

cd ..
done

for ((i = 1; i <= TOTAL_DIRS; i++)); do
DIR="${BASE_DIR}${i}"

if [ ! -d "$DIR" ]; then
mkdir "$DIR"
fi

if [ -f "${DIR}/digit_done" ]; then
echo "Skipping DIGIT ${DIR} because _done exists."
continue
fi

cd "$DIR"

echo "Executing DIGIT command in ${DIR}..."
eval $DIGIT_CMD >digit.log

touch digit_done

cd ..
done

for ((i = 1; i <= TOTAL_DIRS; i++)); do
DIR="${BASE_DIR}${i}"

if [ ! -d "$DIR" ]; then
mkdir "$DIR"
fi

if [ -f "${DIR}/reco_done" ]; then
echo "Skipping RECO ${DIR} because _done exists."
continue
fi

cd "$DIR"

echo "Executing RECO command in ${DIR}..."
eval $RECO_CMD >reco.log

touch reco_done

cd ..
done
```
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
// or submit itself to any jurisdiction.

#include "ITS3Align/MisalignmentHits.h"
#include "ITS3Base/SegmentationSuperAlpide.h"
#include "ITS3Base/ITS3Params.h"
#include "SimConfig/DigiParams.h"
#include "DetectorsBase/Propagator.h"
Expand Down
12 changes: 5 additions & 7 deletions Detectors/Upgrades/ITS3/base/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,9 @@
# granted to it by virtue of its status as an Intergovernmental Organization
# or submit itself to any jurisdiction.

o2_add_library(ITS3Base
SOURCES src/SegmentationSuperAlpide.cxx
src/ITS3Params.cxx
PUBLIC_LINK_LIBRARIES O2::CommonConstants O2::MathUtils O2::DetectorsBase)
o2_add_library(
ITS3Base
SOURCES src/ITS3Params.cxx
PUBLIC_LINK_LIBRARIES O2::CommonConstants O2::MathUtils O2::DetectorsBase)

o2_target_root_dictionary(ITS3Base
HEADERS include/ITS3Base/SegmentationSuperAlpide.h
include/ITS3Base/ITS3Params.h)
o2_target_root_dictionary(ITS3Base HEADERS include/ITS3Base/ITS3Params.h)
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ struct ITS3Params : public o2::conf::ConfigurableParamHelper<ITS3Params> {
bool misalignmentHitsUseProp{false}; // Use propagtor for mis-alignment
std::string globalGeoMisAlignerMacro{"${O2_ROOT}/share/macro/MisAlignGeoITS3.C"}; // Path to macro for global geometry mis-alignment
// Chip studies
bool useDeadChannelMap{false}; // Query for a dead channel map to study disabling individual tiles
bool useDeadChannelMap{false}; // Query for a dead channel map to study disabling individual tiles
std::string chipResponseFunction{"APTS"}; // Chip response function one of "Alpide", "APTS" or "Mosaix" (not yet available)

O2ParamDef(ITS3Params, "ITS3Params");
};
Expand Down
Loading