Untitled

mail@pastecode.io avatar
unknown
python
a year ago
2.2 kB
2
Indexable
def findNeighboursV3(self,data):
            data_tmp = data.query("DET == {0} and SAM == {1} ".format(self.DET,self.SAM))
            ieta_iphi_list = []

            if self.DET == 0:
                n_phi = self.layer.GetNPhiBins

                phi_max = self.iphi + 1
                phi_min = self.iphi - 1
                eta_max = self.ieta + 1
                eta_min = self.ieta - 1
                
                if self.iphi + 1 == n_phi: phi_max = 0
                elif self.iphi == 0: phi_min = n_phi - 1      
                
                # сейчас это работает только для ячеек которые находятся полностью с своими соседям внутри определенной части детектора
                # и/или находятся в середине барраля
                # ЭТА ФУНКЦИЯ НЕ РАБОТАЕТ В СЛУЧАЕ ЕСЛИ У НАС СОСЕДНИЙ СЛОЙ С ДРУГИМ РАЗМЕРОМ ЯЧЕЕК!!!!!!!!11111111
                if self.ieta != 0:
                    #data_tmp = data_tmp.query("AC == {0}".format(self.AC))
                    ieta_iphi_list = [[eta_min, self.iphi],[eta_max, self.iphi], [self.ieta, phi_min],
                                      [self.ieta, phi_max],[eta_max, phi_max],[eta_max, phi_min],
                                      [eta_min, phi_min],[eta_min, phi_max ]]
                    
                    ieta_iphi_list = [ieta_iphi_list]
                    
            
                elif self.ieta == 0:
                    data_AC1 = data_tmp.query("AC == {0}".format(self.AC))
                    data_AC2 = data_tmp.query("AC == {0}".format(-1*self.AC))

                    ieta_iphi_list_AC1 = [[eta_max, self.iphi], [eta_max, phi_max], [eta_max, phi_min],
                                          [self.ieta, phi_max], [self.ieta, phi_min]]         
             
                    ieta_iphi_list_AC2 = [[self.ieta, abs(self.iphi-63)], [self.ieta, abs(phi_max-63)],[self.ieta, abs(phi_min-63)]]
                    
                    ieta_iphi_list = [ieta_iphi_list_AC1, ieta_iphi_list_AC2]