30         std::cout << 
fHits.size() << 
" hits Found. " << std::endl;
 
   42         for(
int i=12;
i<16;
i++)
 
   45         for(
int i=16;
i<20;
i++)
 
   48         for(
int i=20;
i<24;
i++)
 
   53         map<Int_t, PndTrackCand> tracks = 
FindTracklets(splittedHits[layer]);
 
   54         typedef map<Int_t, PndTrackCand>::iterator iterator;
 
   55         for(iterator it = tracks.begin();it!=tracks.end();it++){
 
   61                 vector<PndFtsHit*> 
hits) {
 
   62         map<Int_t, vector<PndFtsHit*>> 
map;
 
   63         for (
size_t i = 0; 
i < hits.size(); 
i++) {
 
   71                 vector<PndFtsHit*> 
hits) {
 
   73         typedef std::map<Int_t, Int_t>::iterator it_type2;
 
   74         map<Int_t, Int_t> states;
 
   75         map<Int_t, PndFtsHit*> hitMap;
 
   76         map<Int_t, vector<Int_t> > neighbors = 
getNeighbors(hits);
 
   78         for (
size_t i = 0; 
i < hits.size(); 
i++) {
 
   89                 for (it_type2 it = states.begin(); it != states.end(); it++) {
 
   91                         vector<int> hitNeighbors = neighbors[it->second];
 
   92                         for (
size_t i = 0; 
i < hitNeighbors.size(); 
i++) {
 
   93                                 Int_t state1 = states[it->first];
 
   94                                 Int_t state2 = states[hitNeighbors[
i]];
 
   95                                 if (state1 != state2) {
 
   98                                         states[it->first] = 
min;
 
   99                                         states[hitNeighbors[
i]] = 
min;
 
  106         map<Int_t, PndTrackCand> result;
 
  107         for (it_type2 it = states.begin(); it != states.end(); it++) {
 
  108                 Int_t hitNumber = result[it->second].GetNHits()+1;
 
  109                 result[it->second].AddHit(hitMap[it->first]->GetEntryNr(),hitNumber);
 
  116                 vector<PndFtsHit*> 
hits) {
 
  117         map<Int_t, vector<Int_t> > neighbors;
 
  118         for (
size_t i = 0; 
i < hits.size(); 
i++) {
 
  121                 for (
size_t j = 
i + 1; j < hits.size(); j++) {
 
  128                         TVector3 diff = p1 - 
p2;
 
  159         if(((hit->
GetLayerID() - 1) / 2)%4==1) angle = -5;
 
  160         if(((hit->
GetLayerID() - 1) / 2)%4==2) angle = 5;
 
  162         if(!transToNewSystem) angle*=-1;
 
  165         hitMat[0][0] = hit->GetX();
 
  166         hitMat[1][0] = hit->GetY();
 
  167         hitMat[2][0] = hit->GetZ();
 
  168         TMatrix newPos = rotMat*hitMat;
 
  169         hit->SetXYZ(newPos[0][0],newPos[1][0],newPos[2][0]);
 
void setHits(std::vector< PndFtsHit * > hits)
map< Int_t, PndTrackCand > FindTracklets(vector< PndFtsHit * > hits)
static T Sqrt(const T &x)
map< Int_t, std::vector< Int_t > > getNeighbors(vector< PndFtsHit * > hits)
labels push_back("electron")
map< Int_t, vector< PndTrackCand > > fTracklets
friend F32vec4 min(const F32vec4 &a, const F32vec4 &b)
virtual ~PndFtsCellTrackletGenerator()
TMatrix getRotationMatrix(Double_t angle)
map< Int_t, vector< PndFtsHit * > > splitLayers(vector< PndFtsHit * > hits)
std::vector< PndFtsHit * > fHits
PndFtsCellTrackletGenerator()
void transform(Bool_t transToNewSystem, PndFtsHit *hit)