Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-07 08:12:24

0001 #include "INTTReadTree.h"
0002 #include "INTTXYvtx.h"
0003 
0004 void mem_test()
0005 {
0006     string input_directory = "/sphenix/user/ChengWei/INTT/INTT_commissioning/ZeroField/20869";
0007     string file_name = "beam_inttall-00020869-0000_event_base_ana_cluster_full_survey_3.32_excludeR1500_20kEvent_3HotCut";
0008     string out_folder_directory = input_directory + "/" + "folder_beam_inttall-00020869-0000_event_base_ana_cluster_full_survey_3.32_excludeR1500_20kEvent_3HotCut_VTXxy_geo1";
0009     string tree_name = "tree_clu";
0010     
0011     // pair<double, double> beam_origin = {-0.015, 0.012};
0012     // pair<double, double> beam_origin = {-0.0, 0.0};
0013     pair<double, double> beam_origin = {0.,-2.};
0014     pair<double, double> DCA_cut ={-0.5, 0.5};
0015     // pair<double, double> zvtx_QA_width = {35, 70}; 
0016     // double zvtx_QA_ratio = 0.00005;
0017     double phi_diff_cut = 5.72;
0018     int clu_sum_adc_cut = 31;
0019     int clu_size_cut = 4;
0020     int N_clu_cut = 350;
0021     int N_clu_cutl = 20;
0022     
0023     bool draw_event_display = false;
0024     double peek = 3.324;
0025     int data_type = 3; // note : data with geometry study
0026     int geo_mode_id = 1; // note : 0 -> perfect geo
0027     int zvtx_cal_require = 15;
0028     int random_seed;
0029     // int random_seed = 65539;
0030     int N_ladder = 14;
0031     double offset_range = 0.2;
0032 
0033     vector<string> included_ladder_vec = {
0034         "B0L000S","B0L002S","B0L003S", "B0L005S", "B0L006S", "B0L008S", "B0L009S", 
0035         "B1L000S","B1L003S","B1L004S", "B1L007S", "B1L008S", "B1L011S", "B1L012S"
0036     };
0037 
0038     // TFile * file_out = new TFile((out_folder_directory + "/geo_scan.root").c_str(), "recreate");
0039     // TTree * tree_out = new TTree("tree_geo_scan", "tree_geo_scan");
0040     // vector<double> offset_x_vec;
0041     // vector<double> offset_y_vec;
0042     // double DCA_inner_fitE;
0043     // double angle_diff_fitE;
0044 
0045     // tree_out -> Branch("offset_x_vec", &offset_x_vec);
0046     // tree_out -> Branch("offset_y_vec", &offset_y_vec);
0047     // tree_out -> Branch("DCA_inner_fitE", &DCA_inner_fitE);
0048     // tree_out -> Branch("angle_diff_fitE", &angle_diff_fitE);
0049 
0050     for (int trial_i = 0; trial_i < 10000; trial_i++)
0051     {
0052 
0053         if (trial_i % 500 == 0) 
0054         {   
0055             cout<<" start trial : "<<trial_i<<"-------------------- -------------------- -------------------- --------------------"<<endl;
0056             sleep(3);
0057         }
0058 
0059         // cout<<" start trial : "<<trial_i<<"-------------------- -------------------- -------------------- --------------------"<<endl;
0060         random_seed = trial_i;
0061 
0062         INTTReadTree * INTTClu = new INTTReadTree(data_type, input_directory, file_name, tree_name, clu_size_cut, clu_sum_adc_cut, random_seed, N_ladder, offset_range, included_ladder_vec);
0063         // map<string, pair<double,double>> ladder_offset_map = INTTClu -> GetLadderOffsetMap();
0064         // for (int ladder_i = 0; ladder_i < N_ladder; ladder_i++)
0065         // {
0066         //     offset_x_vec.push_back( ladder_offset_map[ included_ladder_vec[ladder_i].c_str() ].first );
0067         //     offset_y_vec.push_back( ladder_offset_map[ included_ladder_vec[ladder_i].c_str() ].second);
0068         // }
0069 
0070         // INTTXYvtx    * MCxy    = new INTTXYvtx(INTTClu -> GetRunType(), out_folder_directory, beam_origin, geo_mode_id, phi_diff_cut, DCA_cut, N_clu_cutl, N_clu_cut, draw_event_display, peek, 0, 3, false);
0071         // cout<<"Total event : "<<INTTClu -> GetNEvt()<<endl;
0072 
0073 
0074         // for (int event_i = 0; event_i < 20000; event_i ++)
0075         // {
0076         //     INTTClu -> EvtInit(event_i);
0077         //     INTTClu -> EvtSetCluGroup();
0078 
0079         //     MCxy     -> ProcessEvt(
0080         //         event_i, 
0081         //         INTTClu -> temp_sPH_inner_nocolumn_vec, INTTClu -> temp_sPH_outer_nocolumn_vec, 
0082         //         INTTClu -> temp_sPH_nocolumn_vec, INTTClu -> temp_sPH_nocolumn_rz_vec, 
0083         //         INTTClu -> GetNvtxMC(), INTTClu -> GetTrigZvtxMC(), INTTClu -> GetPhiCheckTag(), INTTClu -> GetBCOFull()
0084         //     );
0085 
0086         //     MCxy -> ClearEvt();
0087         //     INTTClu -> EvtClear();
0088         // }
0089         // MCxy -> PrintPlots();
0090 
0091         // vector<pair<double,double>> out_vtx = MCxy -> MacroVTXSquare(3,9, false);
0092         // cout<<"The best vertex throughout the scan: "<<out_vtx[0].first<<" "<<out_vtx[0].second<<endl;
0093         // cout<<"The origin during that scan: "<<out_vtx[1].first<<" "<<out_vtx[1].second<<endl;
0094 
0095         // DCA_inner_fitE = out_vtx[2].first;
0096         // angle_diff_fitE = out_vtx[2].second;
0097 
0098         // TH2F * DCA_distance_inner_phi_peak_final = MCxy -> GetHistFinal()[0];
0099         // TH2F * angle_diff_inner_phi_peak_final   = MCxy -> GetHistFinal()[1];
0100         
0101         // file_out -> cd();
0102         // // tree_out->SetDirectory(file_out);
0103         // DCA_distance_inner_phi_peak_final -> Write(Form("DCA_distance_inner_phi_peak_final_%d", trial_i));
0104         // angle_diff_inner_phi_peak_final   -> Write(Form("angle_diff_inner_phi_peak_final_%d", trial_i));
0105         // tree_out -> Fill();
0106 
0107         // MCxy -> EndRun();
0108         INTTClu -> EndRun();
0109 
0110         delete INTTClu;
0111         // delete MCxy;
0112 
0113         // offset_x_vec.clear();
0114         // offset_y_vec.clear();
0115 
0116         // DCA_distance_inner_phi_peak_final -> Delete();
0117         // angle_diff_inner_phi_peak_final   -> Delete();
0118     }
0119 
0120     // cout<<"test : "<<endl;
0121 
0122     // file_out -> cd();
0123     // // tree_out->SetDirectory(file_out);
0124     // tree_out -> Write("", TObject::kOverwrite);
0125 
0126     
0127     // MCxy -> MacroVTXxyCorrection(0,1,2,0.,360.); // note : no phi correction, calculate vertexXY
0128     // MCxy -> MacroVTXxyCorrection(0,1,2,0.,360.);
0129     
0130     // MCxy -> MacroVTXxyCorrection_new(50, 250, 21);
0131     
0132 }
0133 
0134 
0135         // cout<< INTTClu -> temp_sPH_inner_nocolumn_vec.size()<<" "
0136         //     << INTTClu -> temp_sPH_outer_nocolumn_vec.size()<<" "
0137         //     << INTTClu -> temp_sPH_nocolumn_vec.size()<<" "
0138         //     << INTTClu -> temp_sPH_nocolumn_rz_vec.size()<<" "
0139         //     << INTTClu -> GetNvtxMC()<<" "
0140         //     << INTTClu -> GetTrigZvtxMC()<<" "
0141         //     << INTTClu -> GetPhiCheckTag()<<" "<<endl;