本文整理汇总了C++中TLorentzVector::GetXYZT方法的典型用法代码示例。如果您正苦于以下问题:C++ TLorentzVector::GetXYZT方法的具体用法?C++ TLorentzVector::GetXYZT怎么用?C++ TLorentzVector::GetXYZT使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TLorentzVector
的用法示例。
在下文中一共展示了TLorentzVector::GetXYZT方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: process_event
//.........这里部分代码省略.........
}
/***********************************************
GET THE EMCAL CLUSTERS
************************************************/
RawClusterContainer::ConstRange begin_end = clusters->getClusters();
RawClusterContainer::ConstIterator clusiter;
for(clusiter = begin_end.first; clusiter!=begin_end.second; ++clusiter){
RawCluster *cluster = clusiter->second;
clus_energy = cluster->get_energy();
clus_eta = cluster->get_eta();
clus_theta = 2.*TMath::ATan((TMath::Exp(-1.*clus_eta)));
clus_pt = clus_energy*TMath::Sin(clus_theta);
clus_phi = cluster->get_phi();
if(clus_pt<0.5)
continue;
TLorentzVector *clus = new TLorentzVector();
clus->SetPtEtaPhiE(clus_pt,clus_eta,clus_phi,clus_energy);
float dumarray[4];
clus->GetXYZT(dumarray);
clus_x = dumarray[0];
clus_y = dumarray[1];
clus_z = dumarray[2];
clus_t = dumarray[3];
clus_px = clus_pt*TMath::Cos(clus_phi);
clus_py = clus_pt*TMath::Sin(clus_phi);
clus_pz = sqrt(clus_energy*clus_energy-clus_px*clus_px-clus_py*clus_py);
cluster_tree->Fill();
//only interested in high pt photons to be isolated
if(clus_pt<mincluspt)
continue;
if(fabs(clus_eta)>(1.0-isoconeradius))
continue;
float energysum = ConeSum(cluster,clusters,trackmap,isoconeradius);
bool conecut = energysum > 0.1*clus_energy;
if(conecut)
continue;
isolated_clusters->Fill();
GetRecoHadronsAndJets(cluster, trackmap, reco_jets,recoeval);
}
/***********************************************