File indexing completed on 2025-08-06 08:12:44
0001 float ClusAdcCut_toy()
0002 {
0003 std::vector<int> inner_cluster_phi; inner_cluster_phi.clear();
0004 std::vector<int> outer_cluster_phi; outer_cluster_phi.clear();
0005
0006 TRandom3 * r = new TRandom3(0);
0007
0008 int number_of_tracks = 50000;
0009 double clus_drop_ratio = 0.05;
0010
0011 for (int i = 0; i < number_of_tracks; i++)
0012 {
0013 inner_cluster_phi.push_back(i);
0014 outer_cluster_phi.push_back(i);
0015 }
0016
0017
0018 std::cout<<"set number_of_tracks = "<<number_of_tracks<<std::endl;
0019 std::cout<<"drop fraction: "<<clus_drop_ratio<<std::endl;
0020 std::cout<<"before hit dropping, inner_cluster_phi.size(): "<<inner_cluster_phi.size()<<", outer_cluster_phi.size(): "<<outer_cluster_phi.size()<<std::endl;
0021
0022 for (int i = 0; i < inner_cluster_phi.size(); i++)
0023 {
0024 if (r -> Uniform(0,1) < clus_drop_ratio)
0025 {
0026 inner_cluster_phi.erase(inner_cluster_phi.begin() + i);
0027 i--;
0028 }
0029 }
0030
0031 for (int i = 0; i < outer_cluster_phi.size(); i++)
0032 {
0033 if (r -> Uniform(0,1) < clus_drop_ratio)
0034 {
0035 outer_cluster_phi.erase(outer_cluster_phi.begin() + i);
0036 i--;
0037 }
0038 }
0039
0040 std::cout<<"post hit dropping, inner_cluster_phi.size() = "<<inner_cluster_phi.size()<<std::endl;
0041 std::cout<<"post hit dropping, outer_cluster_phi.size() = "<<outer_cluster_phi.size()<<std::endl;
0042
0043 int remaining_track_count = 0;
0044 for (auto clu_inner : inner_cluster_phi)
0045 {
0046 for (auto clu_outer : outer_cluster_phi)
0047 {
0048
0049 if (clu_inner == clu_outer)
0050 {
0051 remaining_track_count++;
0052 }
0053 }
0054 }
0055
0056 std::cout<<"remaining_track_count = "<<remaining_track_count<<std::endl;
0057 std::cout<<"ratio: "<<(double)remaining_track_count/(double)number_of_tracks<<std::endl;
0058
0059
0060 return 0;
0061 }