Back to home page

sPhenix code displayed by LXR

 
 

    


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.