/[PAMELA software]/DarthVader/ToFLevel2/src/ToFLevel2.cpp
ViewVC logotype

Diff of /DarthVader/ToFLevel2/src/ToFLevel2.cpp

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

revision 1.44 by mocchiut, Thu Feb 26 14:35:01 2015 UTC revision 1.47 by pam-fi, Tue May 19 13:46:46 2015 UTC
# Line 147  void ToFLevel2::Delete(Option_t *t){ //E Line 147  void ToFLevel2::Delete(Option_t *t){ //E
147    //    //
148  }; //ELENA  }; //ELENA
149    
150    /**
151     * Retrieves the itrk-th tof track stored in the array
152     * @param itrk Array index (min 0, max ToFLevel2::ntrk())
153     *
154     */
155  ToFTrkVar *ToFLevel2::GetToFTrkVar(Int_t itrk){  ToFTrkVar *ToFLevel2::GetToFTrkVar(Int_t itrk){
156    //        //    
157    if(itrk >= ntrk()){    if(itrk >= ntrk()){
# Line 163  ToFTrkVar *ToFLevel2::GetToFTrkVar(Int_t Line 168  ToFTrkVar *ToFLevel2::GetToFTrkVar(Int_t
168    
169  /**  /**
170   * Retrieves the tof track matching the seqno-th tracker stored track.   * Retrieves the tof track matching the seqno-th tracker stored track.
171     * @param seqno Track sequential number
172     * (seqno = -1 for standalone tof track, seqno=0-TrkLevel2::ntrk() for tof tracks associated to a tracker track)
173   *   *
174   */   */
175  ToFTrkVar *ToFLevel2::GetToFStoredTrack(int seqno){  ToFTrkVar *ToFLevel2::GetToFStoredTrack(int seqno){
# Line 304  Int_t ToFLevel2::GetTrueNHitPaddles(Int_ Line 311  Int_t ToFLevel2::GetTrueNHitPaddles(Int_
311   * @param adcflag in the plane (100<-> independent of the adcflag; !=0&&!=100 <-> at least one PMT with adcflag!=0; )   * @param adcflag in the plane (100<-> independent of the adcflag; !=0&&!=100 <-> at least one PMT with adcflag!=0; )
312   */   */
313  Float_t ToFLevel2::GetdEdx(Int_t notrack, Int_t plane, Int_t adcfl){  Float_t ToFLevel2::GetdEdx(Int_t notrack, Int_t plane, Int_t adcfl){
314    ToFTrkVar *trk = GetToFTrkVar(notrack);  //  ToFTrkVar *trk = GetToFTrkVar(notrack);
315        ToFTrkVar *trk = GetToFStoredTrack(notrack);//Elena 2015
316    return this->GetdEdx(trk, plane, adcfl);    return this->GetdEdx(trk, plane, adcfl);
317  }  }
318    
# Line 319  Float_t ToFLevel2::GetdEdx(Int_t notrack Line 327  Float_t ToFLevel2::GetdEdx(Int_t notrack
327   * The method was modified for the "ToF-standalone" part in february 2015   * The method was modified for the "ToF-standalone" part in february 2015
328   * The "adcfl" option is not very useful (an artificial dEdx is per   * The "adcfl" option is not very useful (an artificial dEdx is per
329   * definition= 1 mip and not a real measurement), anyway left in the code   * definition= 1 mip and not a real measurement), anyway left in the code
330   * @param trk Pointer to TofTrkVar class   * @param trk Pointer to TofTrkVar object
331   * @param plane Plane index (0,1,2,3,4,5)   * @param plane Plane index (0,1,2,3,4,5)
332   * @param adcflag in the plane (100<-> independent of the adcflag; !=0&&!=100 <-> at least one PMT with adcflag!=0; )   * @param adcflag in the plane (100<-> independent of the adcflag; !=0&&!=100 <-> at least one PMT with adcflag!=0; )
333   */   */
# Line 330  Float_t ToFLevel2::GetdEdx(ToFTrkVar *tr Line 338  Float_t ToFLevel2::GetdEdx(ToFTrkVar *tr
338    Int_t SatWarning;    Int_t SatWarning;
339    Int_t pad=-1;    Int_t pad=-1;
340    //    //
341      if(!trk) cout << "ToFLevel2::GetdEdx(...) ---> NULL ToFTrkVar obj "<<endl;
342    if(!trk) return 0; //ELENA    if(!trk) return 0; //ELENA
343    //    //
344    // ToF standalone part    // ToF standalone part
# Line 453  Int_t ToFLevel2::GetPlaneIndex(Int_t pmt Line 462  Int_t ToFLevel2::GetPlaneIndex(Int_t pmt
462   */   */
463  Int_t ToFLevel2::GetPMTid(Int_t hh, Int_t kk){  Int_t ToFLevel2::GetPMTid(Int_t hh, Int_t kk){
464    //    //
465    short tof[4][24] = {    static const short tof[4][24] = {
466      {4, 4,  4,  4,  1,  1, 2, 2,  3,  3, 3, 3,  3,  3, 1, 1,  1,  1, 2, 3,  3, 3, 3,  4},      {4, 4,  4,  4,  1,  1, 2, 2,  3,  3, 3, 3,  3,  3, 1, 1,  1,  1, 2, 3,  3, 3, 3,  4},
467      {1, 3,  5,  7, 10, 12, 2, 4,  2,  4, 6, 8, 10, 12, 1, 5,  3,  9, 7, 9, 11, 1, 5,  9},      {1, 3,  5,  7, 10, 12, 2, 4,  2,  4, 6, 8, 10, 12, 1, 5,  3,  9, 7, 9, 11, 1, 5,  9},
468      {2, 2,  2,  2,  1,  1, 1, 1,  4,  4, 4, 4,  4,  4, 2, 1,  2,  1, 2, 2,  2, 3, 3,  4},      {2, 2,  2,  2,  1,  1, 1, 1,  4,  4, 4, 4,  4,  4, 2, 1,  2,  1, 2, 2,  2, 3, 3,  4},
# Line 489  Int_t ToFLevel2::GetPMTid(Int_t hh, Int_ Line 498  Int_t ToFLevel2::GetPMTid(Int_t hh, Int_
498   */   */
499  void ToFLevel2::GetPMTIndex(Int_t ind, Int_t &hb, Int_t &ch){  void ToFLevel2::GetPMTIndex(Int_t ind, Int_t &hb, Int_t &ch){
500    //    //
501    short tof[4][24] = {    static const short tof[4][24] = {
502      {4, 4,  4,  4,  1,  1, 2, 2,  3,  3, 3, 3,  3,  3, 1, 1,  1,  1, 2, 3,  3, 3, 3,  4},      {4, 4,  4,  4,  1,  1, 2, 2,  3,  3, 3, 3,  3,  3, 1, 1,  1,  1, 2, 3,  3, 3, 3,  4},
503      {1, 3,  5,  7, 10, 12, 2, 4,  2,  4, 6, 8, 10, 12, 1, 5,  3,  9, 7, 9, 11, 1, 5,  9},      {1, 3,  5,  7, 10, 12, 2, 4,  2,  4, 6, 8, 10, 12, 1, 5,  3,  9, 7, 9, 11, 1, 5,  9},
504      {2, 2,  2,  2,  1,  1, 1, 1,  4,  4, 4, 4,  4,  4, 2, 1,  2,  1, 2, 2,  2, 3, 3,  4},      {2, 2,  2,  2,  1,  1, 1, 1,  4,  4, 4, 4,  4,  4, 2, 1,  2,  1, 2, 2,  2, 3, 3,  4},
# Line 529  void ToFLevel2::GetPMTIndex(Int_t ind, I Line 538  void ToFLevel2::GetPMTIndex(Int_t ind, I
538   */   */
539  void ToFLevel2::GetdEdxPaddle(Int_t notrack, Int_t paddleid, Int_t adcfl, Float_t &PadEdx, Int_t &SatWarning){  void ToFLevel2::GetdEdxPaddle(Int_t notrack, Int_t paddleid, Int_t adcfl, Float_t &PadEdx, Int_t &SatWarning){
540    
541    ToFTrkVar *trk = GetToFTrkVar(notrack);  //  ToFTrkVar *trk = GetToFTrkVar(notrack);
542        ToFTrkVar *trk = GetToFStoredTrack(notrack); //Elena 2015
543    this->GetdEdxPaddle(trk, paddleid, adcfl, PadEdx, SatWarning);    this->GetdEdxPaddle(trk, paddleid, adcfl, PadEdx, SatWarning);
544        
545  };  };
# Line 579  void ToFLevel2::GetdEdxPaddle(ToFTrkVar Line 589  void ToFLevel2::GetdEdxPaddle(ToFTrkVar
589    Int_t pmt_id = -1;    Int_t pmt_id = -1;
590    Float_t adcraw[48];    Float_t adcraw[48];
591    //    //
592      if(!trk)cout << "ToFLevel2::GetdEdxPaddle(...) ---> NULL ToFTrkVar obj "<<endl;
593    if(!trk) return; //ELENA    if(!trk) return; //ELENA
594    //    //
595    
# Line 649  TString ToFLevel2::GetPMTName(Int_t ind, Line 660  TString ToFLevel2::GetPMTName(Int_t ind,
660        
661    TString pmtname = " ";    TString pmtname = " ";
662        
663    TString photoS[48] = {    static const TString photoS[48] = {
664      "S11_1A", "S11_1B", "S11_2A", "S11_2B", "S11_3A", "S11_3B", "S11_4A",      "S11_1A", "S11_1B", "S11_2A", "S11_2B", "S11_3A", "S11_3B", "S11_4A",
665      "S11_4B",      "S11_4B",
666      "S11_5A", "S11_5B", "S11_6A", "S11_6B", "S11_7A", "S11_7B", "S11_8A",      "S11_5A", "S11_5B", "S11_6A", "S11_6B", "S11_7A", "S11_7B", "S11_8A",
# Line 1109  Int_t ToFLevel2::GetNPaddle(Int_t plane) Line 1120  Int_t ToFLevel2::GetNPaddle(Int_t plane)
1120   * @param cut on chi2   * @param cut on chi2
1121   */   */
1122    
 Float_t ToFLevel2::CalcBeta(Int_t notrack, Float_t resmax, Float_t qualitycut, Float_t chi2cut){  
1123    
1124  //  cout<<" in CalcBeta "<<resmax<<" "<<chi2cut<<" "<<qualitycut<<endl;  Float_t ToFTrkVar::CalcBeta( Float_t resmax, Float_t qualitycut, Float_t chi2cut){
1125    
1126    
1127    Float_t bxx = 100.;    Float_t bxx = 100.;
1128    //    //
1129    ToFTrkVar *trk = GetToFTrkVar(notrack);    ToFTrkVar *trk = this;
   if(!trk) return 0; //ELENA  
1130    
1131    
1132    Float_t chi2,xhelp,beta_mean;    Float_t chi2,xhelp,beta_mean;
# Line 1143  Float_t  w_il[6]; Line 1153  Float_t  w_il[6];
1153    for (Int_t i=0; i<trk->npmttdc; i++){    for (Int_t i=0; i<trk->npmttdc; i++){
1154      //      //
1155      pmt_id = (trk->pmttdc).At(i);      pmt_id = (trk->pmttdc).At(i);
1156      pmt_plane = GetPlaneIndex(pmt_id);      pmt_plane = ToFLevel2::GetPlaneIndex(pmt_id);
1157      tdcfl = (trk->tdcflag).At(i);      tdcfl = (trk->tdcflag).At(i);
1158      if (w_il[pmt_plane] != 1.) w_il[pmt_plane] = tdcfl; //tdcflag      if (w_il[pmt_plane] != 1.) w_il[pmt_plane] = tdcfl; //tdcflag
1159                                       };                                       };
# Line 1230  Int_t ibot[12] = {4,5,4,5,4,5,4,5,2,3,2, Line 1240  Int_t ibot[12] = {4,5,4,5,4,5,4,5,2,3,2,
1240    //    //
1241    return(bxx);    return(bxx);
1242  };  };
1243    ////////////////////////////////////////////////////
1244    ////////////////////////////////////////////////////
1245    /**
1246     * See ToFTrkVar::CalcBeta(Float_t,Float_t, Float_t).
1247     */
1248    Float_t ToFLevel2::CalcBeta(Int_t notrack, Float_t resmax, Float_t qualitycut, Float_t chi2cut){
1249    
1250    //  cout<<" in CalcBeta "<<resmax<<" "<<chi2cut<<" "<<qualitycut<<endl;
1251    
1252    //  ToFTrkVar *trk = GetToFTrkVar(notrack); //wrong!
1253        ToFTrkVar *trk = GetToFStoredTrack(notrack);//Elena Apr 2015
1254      if(!trk) return 0; //ELENA
1255    
1256      return trk->CalcBeta(resmax,qualitycut,chi2cut);
1257    
1258    };
1259    
1260    
1261  ////////////////////////////////////////////////////  ////////////////////////////////////////////////////

Legend:
Removed from v.1.44  
changed lines
  Added in v.1.47

  ViewVC Help
Powered by ViewVC 1.1.23