/[PAMELA software]/PamelaLevel2/src/PamLevel2.cpp
ViewVC logotype

Diff of /PamelaLevel2/src/PamLevel2.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.104 by mocchiut, Fri Oct 17 16:21:50 2014 UTC revision 1.112 by pam-fi, Mon Nov 2 09:59:54 2015 UTC
# Line 315  PamTrack::PamTrack(TrkTrack* t, CaloTrkV Line 315  PamTrack::PamTrack(TrkTrack* t, CaloTrkV
315    
316  //   candeleteobj = 0;  //   candeleteobj = 0;
317    
318    //  cout << t<<"--"<<c<<"--"<<o<<"--"<<r<<"--"<< endl;
319    
320    if (t){    if (t){
321        trk_track = new TrkTrack(*t);        trk_track = new TrkTrack(*t);
322        trk_ext_track = new ExtTrack(*t);//NB!! ha dimensione 6 invece che 8        trk_ext_track = new ExtTrack(*t);//NB!! ha dimensione 6 invece che 8
323      }else{
324          trk_track = new TrkTrack();
325          trk_ext_track = new ExtTrack();
326          
327    }    }
328    
329    if (c)    if (c)
330      calo_track = new CaloTrkVar(*c);      calo_track = new CaloTrkVar(*c);
331      else
332        calo_track = new CaloTrkVar();
333      
334    if (o)    if (o)
335      tof_track = new ToFTrkVar(*o);      tof_track = new ToFTrkVar(*o);
336      else
337        tof_track = new ToFTrkVar();
338    
339    if (r)    if (r)
340      orb_track = new OrbitalInfoTrkVar(*r);      orb_track = new OrbitalInfoTrkVar(*r);
341      else
342        orb_track = new OrbitalInfoTrkVar();
343    
344    //  cout << trk_track<<"--"<< calo_track <<"--"<<tof_track<<"--"<<orb_track<<"--"<< endl;
345    
346    candeleteobj = 1;    candeleteobj = 1;
347    
348  }  }
# Line 335  PamTrack::PamTrack(TrkTrack* t, CaloTrkV Line 352  PamTrack::PamTrack(TrkTrack* t, CaloTrkV
352   */   */
353  PamTrack::PamTrack(ExtTrack* t, CaloTrkVar* c, ToFTrkVar* o, OrbitalInfoTrkVar *r) {  PamTrack::PamTrack(ExtTrack* t, CaloTrkVar* c, ToFTrkVar* o, OrbitalInfoTrkVar *r) {
354    
355        
356    
357    trk_ext_track = 0;    trk_ext_track = 0;
358    trk_track = 0;    trk_track = 0;
359    calo_track = 0;    calo_track = 0;
# Line 354  PamTrack::PamTrack(ExtTrack* t, CaloTrkV Line 373  PamTrack::PamTrack(ExtTrack* t, CaloTrkV
373    
374  //   candeleteobj = 0;  //   candeleteobj = 0;
375    
376    //  cout << t<<"--"<<c<<"--"<<o<<"--"<<r<<"--"<< endl;
377    
378    
379    if (t){    if (t){
380  ////      trk_track = new TrkTrack(*t);//in this case TrkTrack object remains null  ////      trk_track = new TrkTrack(*t);//in this case TrkTrack object remains null
381        trk_ext_track = new ExtTrack(*t);        trk_ext_track = new ExtTrack(*t);
382      }else{
383          trk_ext_track = new ExtTrack();
384    }    }
385    if (c)    if (c)
386      calo_track = new CaloTrkVar(*c);      calo_track = new CaloTrkVar(*c);
387      else
388          calo_track = new CaloTrkVar();
389    
390    if (o)    if (o)
391      tof_track = new ToFTrkVar(*o);      tof_track = new ToFTrkVar(*o);
392      else
393        tof_track = new ToFTrkVar();
394    
395    if (r)    if (r)
396      orb_track = new OrbitalInfoTrkVar(*r);      orb_track = new OrbitalInfoTrkVar(*r);
397      else
398        orb_track = new OrbitalInfoTrkVar();
399    
400    //  cout << trk_track<<"--"<< calo_track <<"--"<<tof_track<<"--"<<orb_track<<"--"<< endl;
401    
402    candeleteobj = 1;    candeleteobj = 1;
403    pscore = 0;    pscore = 0;
404    iscore = 0;    iscore = 0;
405    
406  }  }
407  ;  ;
408    
409  PamTrack::PamTrack(const PamTrack& track) {  PamTrack::PamTrack(const PamTrack& track) {
410    
411    TrkTrack *t = track.trk_track;    TrkTrack *t = track.trk_track;
# Line 400  PamTrack::PamTrack(const PamTrack& track Line 435  PamTrack::PamTrack(const PamTrack& track
435    iscore = 0;    iscore = 0;
436    
437  }  }
438    
439    void PamTrack::Copy( PamTrack& track) const {
440    
441        track.trk_track = trk_track;
442        track.trk_ext_track = trk_ext_track;
443        track.calo_track = calo_track;
444        track.tof_track = tof_track;
445        track.orb_track = orb_track;
446        
447        track.candeleteobj = candeleteobj;
448        track.pscore = pscore;
449        track.iscore = iscore;
450        
451    }
452    
453    
454    
455  void PamTrack::Clear(Option_t *option) {  void PamTrack::Clear(Option_t *option) {
456    
457  //    cout << "PamTrack::Clear( "<<option<<" ) "<<candeleteobj<<endl;  //    cout << "PamTrack::Clear( "<<option<<" ) "<<candeleteobj<<endl;
# Line 431  void PamTrack::Delete() { Line 483  void PamTrack::Delete() {
483    //    cout << "PamTrack::Delete() "<<candeleteobj<<endl;    //    cout << "PamTrack::Delete() "<<candeleteobj<<endl;
484    if (candeleteobj) {    if (candeleteobj) {
485      if (trk_ext_track) {      if (trk_ext_track) {
486        trk_ext_track->ExtTrack::Clear("C");  //      trk_ext_track->ExtTrack::Clear("C");//Clear is called for all the array elements
487            trk_ext_track->ExtTrack::Clear("C+C");//Clear is called for all the array elements passing option 'C'
488        delete trk_ext_track;        delete trk_ext_track;
489      }      }
490      if (trk_track) {      if (trk_track) {
# Line 628  void PamLevel2::Initialize() { Line 681  void PamLevel2::Initialize() {
681    if (strcmp(pamdbpsw, ""))    if (strcmp(pamdbpsw, ""))
682      psw = pamdbpsw;      psw = pamdbpsw;
683    
684      customString = "";
685    
686    //    sorted_tracks = 0;//new TRefArray();    //    sorted_tracks = 0;//new TRefArray();
687    
688    CAL0 = false;    CAL0 = false;
# Line 1228  CaloTrkVar *PamLevel2::GetCaloStoredTrac Line 1283  CaloTrkVar *PamLevel2::GetCaloStoredTrac
1283      return 0;      return 0;
1284    
1285    if (calo2_obj->CaloLevel2::ntrk() == 0) {    if (calo2_obj->CaloLevel2::ntrk() == 0) {
1286      cout << "PamLevel2::GetCaloStoredTrack(int) : requested tracker SeqNo " << seqno        if( seqno >=0 ){
1287          << " but no Calorimeter tracks are stored" << endl;            cout << "PamLevel2::GetCaloStoredTrack(int) : requested tracker SeqNo " << seqno;
1288      return NULL;            cout << " but no Calorimeter tracks are stored" << endl;
1289          }
1290          return NULL;
1291    };    };
1292    
1293    CaloTrkVar *c = 0;    CaloTrkVar *c = 0;
# Line 1243  CaloTrkVar *PamLevel2::GetCaloStoredTrac Line 1300  CaloTrkVar *PamLevel2::GetCaloStoredTrac
1300    
1301    if (!c || seqno != c->trkseqno) {    if (!c || seqno != c->trkseqno) {
1302      c = 0;      c = 0;
1303      if (seqno != -1)      if (seqno != -1 && seqno>=0)
1304        cout << "PamLevel2::GetCaloStoredTrack(int) : requested tracker SeqNo " << seqno        cout << "PamLevel2::GetCaloStoredTrack(int) : requested tracker SeqNo " << seqno
1305            << " does not match Calorimeter stored tracks" << endl;            << " does not match Calorimeter stored tracks" << endl;
1306    };    };
# Line 1362  OrbitalInfoTrkVar *PamLevel2::GetOrbital Line 1419  OrbitalInfoTrkVar *PamLevel2::GetOrbital
1419  //  //
1420  //  //
1421  //--------------------------------------  //--------------------------------------
1422  /**  // /**
1423   * Give the pamela track associated to a tracker track, retrieving related calorimeter, orbitalinfo and tof track information.  //  * Give the pamela track associated to a tracker track, retrieving related calorimeter, orbitalinfo and tof track information.
1424   */  //  */
1425  PamTrack* PamLevel2::GetPamTrackAlong(TrkTrack* t) {  // PamTrack* PamLevel2::GetPamTrackAlong(TrkTrack* t) {
1426    
1427    cout << "PamLevel2::GetPamTrackAlong(TrkTrack* t) **obsolete** " << endl;  //   cout << "PamLevel2::GetPamTrackAlong(TrkTrack* t) **obsolete** " << endl;
1428    cout << "(if you use it, remember to delete the PamTrack object)" << endl;  //   cout << "(if you use it, remember to delete the PamTrack object)" << endl;
1429    
1430    //   CaloTrkVar *c = 0;
1431    //   ToFTrkVar *o = 0;
1432    //   OrbitalInfoTrkVar *r = 0;
1433    
1434    //   if (CAL2)
1435    //     c = GetCaloStoredTrack(t->GetSeqNo());
1436    //   if (TOF)
1437    //     o = GetToFStoredTrack(t->GetSeqNo());
1438    //   if (ORB)
1439    //     r = GetOrbitalInfoStoredTrack(t->GetSeqNo());
1440    
1441    CaloTrkVar *c = 0;  //   //    if(t && c && o)track = new PamTrack(t,c,o);
1442    ToFTrkVar *o = 0;  //   PamTrack *track = new PamTrack(t, c, o, r);
   OrbitalInfoTrkVar *r = 0;  
   
   if (CAL2)  
     c = GetCaloStoredTrack(t->GetSeqNo());  
   if (TOF)  
     o = GetToFStoredTrack(t->GetSeqNo());  
   if (ORB)  
     r = GetOrbitalInfoStoredTrack(t->GetSeqNo());  
1443    
1444    //    if(t && c && o)track = new PamTrack(t,c,o);  //   return track;
   PamTrack *track = new PamTrack(t, c, o, r);  
1445    
1446    return track;  // }
1447    // ;
 }  
 ;  
1448  //--------------------------------------  //--------------------------------------
1449  //  //
1450  //  //
1451  //--------------------------------------  //--------------------------------------
1452  /**  // /**
1453   * Retrieves the it-th stored track.  //  * Retrieves the it-th stored track.
1454   * It override TrkLevel2::GetTrack(int it).  //  * It override TrkLevel2::GetTrack(int it).
1455   * @param itrk Track number, ranging from 0 to GetNTracks().  //  * @param itrk Track number, ranging from 0 to GetNTracks().
1456   */  //  */
1457    
1458  PamTrack* PamLevel2::GetStoredTrack(Int_t itrk) {  // PamTrack* PamLevel2::GetStoredTrack(Int_t itrk) {
1459    
1460    //   cout << "PamLevel2::GetStoredTrack(Int_t itrk) **to-be-updated** " << endl;
1461    //   cout
1462    //       << "for the moment, better use separately the methods: TrkLevel2::GetStoredTrack(seqno) CaloLevel2::GetCaloTrkVar(Int_t notrack) ToFLevel2::GetToFTrkVar(Int_t notrack) OrbitalInfo::GetOrbitalInfoTrkVar(Int_t notrack)"
1463    //       << endl;
1464    //   cout << "(if you use it, remember to delete the PamTrack object)" << endl;
1465    //   PamTrack *track = 0;
1466    
1467    cout << "PamLevel2::GetStoredTrack(Int_t itrk) **to-be-updated** " << endl;  //   if (itrk >= 0 && itrk < trk2_obj->TrkLevel2::ntrk()) {
   cout  
       << "for the moment, better use separately the methods: TrkLevel2::GetStoredTrack(seqno) CaloLevel2::GetCaloTrkVar(Int_t notrack) ToFLevel2::GetToFTrkVar(Int_t notrack) OrbitalInfo::GetOrbitalInfoTrkVar(Int_t notrack)"  
       << endl;  
   cout << "(if you use it, remember to delete the PamTrack object)" << endl;  
   PamTrack *track = 0;  
1468    
1469    if (itrk >= 0 && itrk < trk2_obj->TrkLevel2::ntrk()) {  //     TrkTrack *t = trk2_obj->TrkLevel2::GetStoredTrack(itrk);
1470    //     track = GetPamTrackAlong(t);
1471    
1472      TrkTrack *t = trk2_obj->TrkLevel2::GetStoredTrack(itrk);  //   }
1473      track = GetPamTrackAlong(t);  //   else {
1474    //     cout << "PamLevel2::GetStoredTrack(int) : tracker track SeqNo " << itrk << " does not exist (GetNTracks() = "
1475    }  //         << trk2_obj->TrkLevel2::GetNTracks() << ")" << endl;
1476    else {  //   };
     cout << "PamLevel2::GetStoredTrack(int) : tracker track SeqNo " << itrk << " does not exist (GetNTracks() = "  
         << trk2_obj->TrkLevel2::GetNTracks() << ")" << endl;  
   };  
1477    
1478    return track;  //   return track;
1479    
1480  }  // }
1481  //--------------------------------------  //--------------------------------------
1482  //  //
1483    
# Line 1474  void PamLevel2::SortTracks() { Line 1531  void PamLevel2::SortTracks() {
1531    Int_t ObjectNumber = TProcessID::GetObjectCount();    Int_t ObjectNumber = TProcessID::GetObjectCount();
1532    
1533    // create TCloneArrays to store tracks and its images    // create TCloneArrays to store tracks and its images
1534    if (!tsorted)  //   if (!tsorted)
1535      tsorted = new TClonesArray("PamTrack", trk2_obj->GetNTracks());  //     tsorted = new TClonesArray("PamTrack", trk2_obj->GetNTracks());
1536    tsorted->Clear("C+C");//Delete();  //   tsorted->Clear("C+C");//Delete();
1537    TClonesArray &ttsorted = *tsorted;  //   if (!timage)
1538    //     timage = new TClonesArray("PamTrack", trk2_obj->GetNTracks());
1539    //   timage->Clear("C+C");//Delete();
1540    
1541    if (!timage)    if(tsorted)delete tsorted;
1542      timage = new TClonesArray("PamTrack", trk2_obj->GetNTracks());    if(timage) delete timage;
1543    timage->Clear("C+C");//Delete();    tsorted = new TClonesArray("PamTrack", trk2_obj->GetNTracks());
1544      timage = new TClonesArray("PamTrack", trk2_obj->GetNTracks());
1545    
1546    
1547      TClonesArray &ttsorted = *tsorted;
1548    TClonesArray &ttimage = *timage;    TClonesArray &ttimage = *timage;
1549    
1550    
# Line 1923  void PamLevel2::SortTracks() { Line 1986  void PamLevel2::SortTracks() {
1986      //  cout<<"o "<<cp<<endl;      //  cout<<"o "<<cp<<endl;
1987      //  cout<<"o "<<op<<endl;      //  cout<<"o "<<op<<endl;
1988    
1989    //     cout <<"old p:"<< tp<<"--"<<cp<<"--"<<op<<"--"<<rp<<"--"<< endl;
1990    //     cout <<"old i:"<< ti<<"--"<<ci<<"--"<<oi<<"--"<<ri<<"--"<< endl;
1991    
1992      new (ttsorted[i]) PamTrack(tp, cp, op, rp);      new (ttsorted[i]) PamTrack(tp, cp, op, rp);
1993      new (ttimage[i]) PamTrack(ti, ci, oi, ri);      new (ttimage[i]) PamTrack(ti, ci, oi, ri);
1994    
# Line 1950  void PamLevel2::SortTracks() { Line 2016  void PamLevel2::SortTracks() {
2016    issorted = true;    issorted = true;
2017    lastsorted = GetReadEntry();    lastsorted = GetReadEntry();
2018    
2019    //  cout <<" SortTracks() -- end"<<endl;
2020    
2021  }  }
2022  ;  ;
2023  //  //
# Line 2113  void PamLevel2::SortTracksNew() { Line 2181  void PamLevel2::SortTracksNew() {
2181    
2182        if(doit == 0){        if(doit == 0){
2183    
2184            trk2  = trk2_obj;            trk2  = (TRK2 ? trk2_obj: NULL);;
2185            calo2 = calo2_obj;            calo2 = (CAL2 ? calo2_obj: NULL);;
2186            tof2  = tof2_obj;            tof2  = (TOF  ?tof2_obj: NULL);;
2187            orb2  = orb2_obj;            orb2  = (ORB ? orb2_obj: NULL);;
         
           trkext = trk_ext_obj;  
           caloext = calo_ext_obj;  
           tofext = tof_ext_obj;  
           orbext = orb_ext_obj;  
       
         
         
2188                
2189              trkext = (TRK2 ? trk_ext_obj: NULL);;
2190              caloext = (CAL2 ? calo_ext_obj: NULL);;
2191              tofext = (TOF  ?tof_ext_obj: NULL);;
2192              orbext = (ORB ? orb_ext_obj: NULL);;
2193    
2194        }else if (doit == 1){        }else if (doit == 1){
2195    
2196            if(!NUC)break;            if(!NUC)break;
2197    
2198                
2199            trk2  = trk2_nuc_obj;            trk2  = (TRK2 ?trk2_nuc_obj: NULL);;
2200            calo2 = calo2_nuc_obj;            calo2 = (CAL2 ? calo2_nuc_obj: NULL);;
2201            tof2  = tof2_nuc_obj;            tof2  = (TOF  ?tof2_nuc_obj: NULL);;
2202            orb2  = orb2_nuc_obj;            orb2  = (ORB ? orb2_nuc_obj: NULL);;
2203                
2204            trkext = trk_ext_nuc_obj;            trkext = (TRK2 ?trk_ext_nuc_obj: NULL);;
2205            caloext = calo_ext_nuc_obj;            caloext = (CAL2 ? calo_ext_nuc_obj: NULL);;
2206            tofext = tof_ext_nuc_obj;            tofext = (TOF  ?tof_ext_nuc_obj: NULL);;
2207            orbext = orb_ext_nuc_obj;            orbext = (ORB ? orb_ext_nuc_obj: NULL);;
2208                
2209                
2210                
# Line 2173  void PamLevel2::SortTracksNew() { Line 2237  void PamLevel2::SortTracksNew() {
2237            OrbitalInfoTrkVar *rs = 0;            OrbitalInfoTrkVar *rs = 0;
2238    
2239            // get tracker tracks            // get tracker tracks
2240            TrkTrack *tp = trk2->GetTrack(i); //tracker            TrkTrack *tp          = (TRK2 ? trk2->GetTrack(i): NULL); //tracker
2241            CaloTrkVar *cp = calo2->GetCaloStoredTrack(tp->GetSeqNo());            CaloTrkVar *cp        = (CAL2 ? calo2->GetCaloStoredTrack(tp->GetSeqNo()) : NULL);
2242            ToFTrkVar *op = tof2->GetToFStoredTrack(tp->GetSeqNo());            ToFTrkVar *op         = (TOF  ? tof2->GetToFStoredTrack(tp->GetSeqNo())   : NULL);
2243            OrbitalInfoTrkVar *rp = orb2->GetOrbitalInfoStoredTrack(tp->GetSeqNo());            OrbitalInfoTrkVar *rp = (ORB ? orb2->GetOrbitalInfoStoredTrack(tp->GetSeqNo()) : NULL);
2244    
2245    //        cout << "ORB="<<ORB<<" rp="<<rp<<endl;
2246    
2247            TrkTrack *ti = 0; //tracker (image)            TrkTrack *ti = 0; //tracker (image)
2248            CaloTrkVar *ci = 0;            CaloTrkVar *ci = 0;
# Line 2192  void PamLevel2::SortTracksNew() { Line 2258  void PamLevel2::SortTracksNew() {
2258    
2259            if (tp->HasImage()) {            if (tp->HasImage()) {
2260    
2261                ti = trk2->GetTrackImage(i); //tracker (image)                ti = (TRK2 ? trk2->GetTrackImage(i) : NULL); //tracker (image)
2262                ci = calo2->GetCaloStoredTrack(ti->GetSeqNo());                ci = (CAL2 ? calo2->GetCaloStoredTrack(ti->GetSeqNo()): NULL);
2263                oi = tof2->GetToFStoredTrack(ti->GetSeqNo());                oi = (TOF  ? tof2->GetToFStoredTrack(ti->GetSeqNo()): NULL);
2264                ri = orb2->GetOrbitalInfoStoredTrack(ti->GetSeqNo());                ri = (ORB ? orb2->GetOrbitalInfoStoredTrack(ti->GetSeqNo()): NULL);
2265    
2266                //            cout << "its image "<<i << " "<<hex<< ti <<dec<< endl;                //            cout << "its image "<<i << " "<<hex<< ti <<dec<< endl;
2267    
# Line 2563  void PamLevel2::SortTracksNew() { Line 2629  void PamLevel2::SortTracksNew() {
2629            //    cout<<"o "<<cp<<endl;            //    cout<<"o "<<cp<<endl;
2630            //    cout<<"o "<<op<<endl;            //    cout<<"o "<<op<<endl;
2631    
2632    //        cout <<"p:"<< tp<<"--"<<cp<<"--"<<op<<"--"<<rp<<"--"<< endl;
2633    //        cout <<"i:"<< ti<<"--"<<ci<<"--"<<oi<<"--"<<ri<<"--"<< endl;
2634    
2635    
2636    
2637            new (ttsorted[i]) PamTrack(tp, cp, op, rp);            new (ttsorted[i]) PamTrack(tp, cp, op, rp);
2638            new (ttimage[i]) PamTrack(ti, ci, oi, ri);            new (ttimage[i]) PamTrack(ti, ci, oi, ri);
2639    
# Line 2586  void PamLevel2::SortTracksNew() { Line 2657  void PamLevel2::SortTracksNew() {
2657  //   }  //   }
2658    
2659    
2660  //       cout << "text "<<doit<<endl;        //      cout << "text "<<orbext<<endl;
2661    
2662    
2663        //--------------------------------------------------        //--------------------------------------------------
# Line 2595  void PamLevel2::SortTracksNew() { Line 2666  void PamLevel2::SortTracksNew() {
2666        if(EXT){        if(EXT){
2667            for(int it=0; it<trkext->GetEntries(); it++){            for(int it=0; it<trkext->GetEntries(); it++){
2668                                
2669                new (ttext[it]) PamTrack((ExtTrack*)(*trkext)[it], (CaloTrkVar*)(*caloext)[it], (ToFTrkVar*)(*tofext)[it], (OrbitalInfoTrkVar*)(*orbext)[it]);  //            if(
2670    //                it < caloext->GetEntries() &&
2671    //                it < tofext->GetEntries() &&
2672    //                it < orbext->GetEntries() &&
2673    //                true){
2674                  
2675                  ExtTrack *t = (trkext ?(ExtTrack*)(*trkext)[it]:NULL );
2676                  CaloTrkVar *c =(caloext ?(CaloTrkVar*)(*caloext)[it]:NULL );
2677                  ToFTrkVar *o = (tofext ?(ToFTrkVar*)(*tofext)[it]:NULL );
2678                  OrbitalInfoTrkVar *r =(orbext ?(OrbitalInfoTrkVar*)(*orbext)[it]:NULL );
2679    //            cout <<"ext:"<< t<<"--"<<c<<"--"<<o<<"--"<<r<<"--"<< endl;
2680                                
2681                  new (ttext[it]) PamTrack(t, c, o, r);
2682    //            }else{
2683    //                cout << " PamLevel2::SortTracksNew() --> ORRORE E RACCAPRICCIO!!!"<<endl;
2684    //                cout << " trk  ext-tracks = "<<trkext->GetEntries()<<endl;
2685    //                cout << " calo ext-tracks = "<<caloext->GetEntries()<<endl;
2686    //                cout << " tof  ext-tracks = "<<tofext->GetEntries()<<endl;
2687    //                cout << " orb  ext-tracks = "<<orbext->GetEntries()<<endl;
2688    //            }
2689            }            }
2690        }        }
2691                
2692    //  cout <<" SortTracksNew() -- end"<<endl;
2693    
2694    
2695    };    };
# Line 2660  PamTrack *PamLevel2::GetTrackOld(int it) Line 2750  PamTrack *PamLevel2::GetTrackOld(int it)
2750    //  *-*-*-*-*-*-*-*-*-*-*-*-*    //  *-*-*-*-*-*-*-*-*-*-*-*-*
2751    if (!tsorted)    if (!tsorted)
2752      return track;      return track;
2753    if (!tsorted->GetEntries())  //   if (!tsorted->GetEntries())
2754    //     return track;
2755      if (tsorted->GetEntries()==0)
2756      return track;      return track;
2757    
2758    
2759    if (it >= 0 && it < trk2_obj->TrkLevel2::GetNTracks()) {    if (
2760      track = (PamTrack*)((*tsorted)[it]);        tsorted &&
2761          it >= 0 &&
2762          it < trk2_obj->TrkLevel2::GetNTracks() &&
2763          it < tsorted->GetEntries() &&
2764          true) {
2765          track = (PamTrack*)((*tsorted)[it]);
2766    }    }
2767    else {    else {
2768      cout << "PamLevel2::GetTrackOld(int) : tracker track SeqNo " << it << " does not exist (GetNTracks() = "      cout << "PamLevel2::GetTrackOld(int) : tracker track SeqNo " << it << " does not exist (GetNTracks() = "
# Line 2866  PamTrack *PamLevel2::GetTrackImage(int i Line 2963  PamTrack *PamLevel2::GetTrackImage(int i
2963    
2964      }      }
2965    
2966      cout << "PamTrack *PamLevel2::GetTrackImage("<<it<<","<<alg<<") -- wrong track number or unrecognised algorithm"<<endl;  //    cout << "PamTrack *PamLevel2::GetTrackImage("<<it<<","<<alg<<") -- wrong track number or unrecognised algorithm"<<endl;
2967                
2968      return NULL;      return NULL;
2969    
# Line 3509  TChain *PamLevel2::GetPamTree(TList *fl, Line 3606  TChain *PamLevel2::GetPamTree(TList *fl,
3606      //  L->SetBranchAddress("RunEntry",&irun);      //  L->SetBranchAddress("RunEntry",&irun);
3607      P->SetBranchAddress("ProcInfo", &proc_obj);//NEWNEW      P->SetBranchAddress("ProcInfo", &proc_obj);//NEWNEW
3608      proc_tree = P;      proc_tree = P;
3609      } else {
3610        //    proc_tree = new TChain("ProcessingInfo","Log of data processing");
3611        //    proc_tree->Branch("ProcInfo", "ProcInfo", &proc_obj);
3612        cout << "----------------------------------------------------" << endl;
3613        cout << ">>> ProcessingInfo not found, PROC set to false and continue (not 10RED files?)<<<" << endl;
3614        PROC = false;
3615    }    }
3616    //  --------------------------------------------    //  --------------------------------------------
3617    //  return the pamela chain with all the friends    //  return the pamela chain with all the friends
# Line 4024  Bool_t PamLevel2::UpdateRunInfo(Long64_t Line 4127  Bool_t PamLevel2::UpdateRunInfo(Long64_t
4127      isFragment = false;      isFragment = false;
4128      run_tree->GetEntry(irun);      run_tree->GetEntry(irun);
4129      if (!GetOrbitalInfo())      if (!GetOrbitalInfo())
4130        cout << "** WARNING ** missing OrbitalInfo ---> run info might be not correctly updated " << endl;          cout << "PamLevel2::UpdateRunInfo(Long64_t "<<iev<<") ** WARNING ** missing OrbitalInfo    ORB="<<ORB << endl;
4131      if ( fUseDBinRunInfo ){      if ( fUseDBinRunInfo ){
4132        if (gltsync)        if (gltsync)
4133          delete gltsync; //Emiliano          delete gltsync; //Emiliano
# Line 5226  void PamLevel2::CreateCloneTrees(TFile * Line 5329  void PamLevel2::CreateCloneTrees(TFile *
5329      //    cout << "irun\t | RUN\t NEVENTS\t absolute time"<<endl;      //    cout << "irun\t | RUN\t NEVENTS\t absolute time"<<endl;
5330      for (Int_t i = 0; i < proc_tree->GetEntries(); i++) {      for (Int_t i = 0; i < proc_tree->GetEntries(); i++) {
5331        proc_tree->GetEntry(i);        proc_tree->GetEntry(i);
5332        cout << i<< "\t | "<<endl;        //      cout << i<< "\t | "<<endl;
5333        proc_tree_clone->Fill();        proc_tree_clone->Fill();
5334      }      }
5335      if ( SELLI != 2 || true ){            if ( SELLI != 2 ){      
       cout << "|| "<<endl;  
5336        proc_obj->runID = 0;        proc_obj->runID = 0;
       cout << "|||d "<<endl;  
5337        TTimeStamp *dt = new TTimeStamp();        TTimeStamp *dt = new TTimeStamp();
5338        proc_obj->date = dt->AsString();        proc_obj->date = dt->AsString();
5339        delete dt;        delete dt;
5340        cout << "|||f "<<endl;        proc_obj->commandLine = Form("PamelaLevel2 was called: CAL2 %i CAL1 %i CAL0 %i TRK2 %i TRK1 %i TRKh %i TRK0 %i TOF %i TOF0 %i TRG %i \n                                            S4 %i ND %i AC %i ORB %i GP %i EXT %i NUC %i RUN %i ISGP %i SELLI %i \n Custom string   = %s",CAL2,CAL1,CAL0,TRK2,TRK1,TRKh,TRK0,TOF,TOF0,TRG,S4,ND,AC,ORB,GP,EXT,NUC,RUN,ISGP,SELLI,customString.Data());
5341        proc_obj->commandLine = Form("PamelaLevel2 was called");        proc_obj->outputFilename = ofile->GetName();
       cout << "|||g "<<endl;  
       proc_obj->outputFilename = "";  
       cout << "|||h "<<endl;  
5342        proc_obj->localDir = gSystem->WorkingDirectory();        proc_obj->localDir = gSystem->WorkingDirectory();
       cout << "|||j "<<endl;  
5343        proc_obj->uname = gSystem->GetFromPipe("uname -a");        proc_obj->uname = gSystem->GetFromPipe("uname -a");
5344        cout << "|||s "<<endl;        if (!dbc || (dbc && !dbc->IsConnected())) SetDBConnection();
5345        proc_obj->DB = Form("mysql://%s/%s",dbc->GetHost(),dbc->GetDB());        proc_obj->DB = Form("mysql://%s/%s",dbc->GetHost(),dbc->GetDB());
5346        cout << "||| "<<endl;        dbc->Close();
5347        proc_tree_clone->Fill();        proc_tree_clone->Fill();
5348      }      }
5349      cout << "----------------------------------------------------" << endl;      cout << "----------------------------------------------------" << endl;
# Line 5469  void PamLevel2::WriteCloneTrees() { Line 5566  void PamLevel2::WriteCloneTrees() {
5566      };      };
5567    }    }
5568        
5569    if ( PROC && false ){//EMEMEMEM    if ( PROC ){//EMEMEMEM
5570      proc_tree_clone->Write("ProcessingInfo",TObject::kOverwrite);      proc_tree_clone->Write("ProcessingInfo",TObject::kOverwrite);
5571    }    }
5572    cout << "+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+" << endl;    cout << "+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+" << endl;

Legend:
Removed from v.1.104  
changed lines
  Added in v.1.112

  ViewVC Help
Powered by ViewVC 1.1.23