Warning, /analysis/INTTvtxZTrapezoidal/readme.md is written in an unsupported language. File is not indexed.
0001 # Module of INTT vertex Z reconstruction
0002 * The algorithm has been introduced in the [analysis note](https://sphenix-invenio.sdcc.bnl.gov/communities/sphenixcommunity/requests/717c5d51-65dc-4a5b-877b-bc19789f21f7)
0003 * The performance of the INTT vertex Z can be found in page 11 of [the slide on indico](https://indico.bnl.gov/event/25508/contributions/99232/attachments/58441/100349/INTT_2024_11_07_SimulationFix.pdf)
0004 * You will need to compile the module.
0005
0006 # The status of the module
0007 * The module has been tested with run 54280 (AuAu run taken in zero-field in run2024)
0008 * Should be in principle able to handle the p+p data (can simply be mimiced as the low-multiplicity AuAu data)
0009 * Should have the capability to handle even the field-on data
0010 * Will have to provide two delta phi selections (simply because of the particle bending due the magnetic field)
0011
0012 # The input of the module
0013 * All are with the unit of \[cm\]
0014 * This module is in principle designed to be inclusive in the sense of requiring some inputs in the first place, such as the `vertexXY`, `delta_phi cut`, `dca_cut`. Please see the following.
0015 ``` C++
0016
0017 InttZVertexFinderTrapezoidal(
0018 const std::string &name = "InttZVertexFinderTrapezoidal",
0019 std::pair<double, double> vertexXYIncm_in = {0, 0}, // note : in cm
0020 bool IsFieldOn_in = false,
0021 bool IsDCACutApplied_in = true,
0022 std::pair<std::pair<double,double>,std::pair<double,double>> DeltaPhiCutInDegree_in = {{-1,1},{-1000.,1000.}}, // note : in degree
0023 std::pair<std::pair<double,double>,std::pair<double,double>> DCAcutIncm_in = {{-1,1},{-1000.,1000.}}, // note : in cm
0024 int ClusAdcCut_in = 35,
0025 int ClusPhiSizeCut_in = 8,
0026 bool PrintRecoDetails_in = false
0027 );
0028
0029 ```
0030
0031 * For the run 54280, you can simply following the setting below in your macro
0032 ``` C++
0033
0034 pair<double, double> vertexXYIncm = {-0.0215087, 0.223197};
0035 bool IsFieldOn = false;
0036 bool IsDCACutApplied = true;
0037 std::pair<std::pair<double,double>,std::pair<double,double>> DeltaPhiCutInDegree = {{-0.5, 0.5},{-1000.,1000.}}; // note : in degree
0038 std::pair<std::pair<double,double>,std::pair<double,double>> DCAcutIncm = {{-0.1,0.1},{-1000.,1000.}}; // note : in cm
0039 int ClusAdcCut = 35;
0040 int ClusPhiSizeCut = 5;
0041 bool PrintRecoDetails = true;
0042
0043 ```
0044
0045 # Data object
0046 * At this moment, it's very simple, it just saves some of the information as the outcome of the INTT vertex Z reconstruction. Please see the followings.
0047 ``` C++
0048 class INTTvtxZF4AObj : public PHObject
0049 {
0050 public:
0051 INTTvtxZF4AObj();
0052
0053 // void identify(std::ostream& os = std::cout) const override;
0054 void Reset() override;
0055 int isValid() const override;
0056
0057 double INTTvtxZ;
0058 double INTTvtxZError;
0059 double NgroupTrapezoidal;
0060 double NgroupCoarse;
0061 double TrapezoidalFitWidth;
0062 double TrapezoidalFWHM;
0063 long long NClusAll;
0064 long long NClusAllInner;
0065 private:
0066 ClassDefOverride(INTTvtxZF4AObj, 1);
0067 };
0068
0069 ```
0070
0071 # Future
0072 * We possibly have to improve the module to make it capable of handling two things
0073 * Multiple vertices for each bunch crossing in one INTT F4A event (one strobe length) (basically necessary)
0074 * Multiple collisions in single bunch crossing
0075 * We will have to update the data object as well accordingly.