/[PAMELA software]/PamelaLevel2/doc/examples/example1.C
ViewVC logotype

Diff of /PamelaLevel2/doc/examples/example1.C

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

revision 1.1 by pam-fi, Fri Jun 16 16:43:55 2006 UTC revision 1.2 by pam-fi, Mon Oct 9 12:37:52 2006 UTC
# Line 22  void example1(TString file){ Line 22  void example1(TString file){
22      //      //
23      TFile f(file);      TFile f(file);
24      //      //
25      TTree *T = pam_event->LoadPamTrees(&f);         // << load Pamela trees from file f      TTree *T = pam_event->GetPamTree(&f);          // << get Pamela trees from file f
26      Int_t nevent = T->GetEntries();      Int_t nevent = T->GetEntries();
27      //      //
28      cout << endl<<" Start loop over events   ";      cout << endl<<" Start loop over events   ";
29      for (Int_t i=0; i<nevent;i++){      for (Int_t i=0; i<nevent;i++){
         //  
         T->GetEntry(i);  
         //================================================================================  
         // some general quantities  
         //================================================================================  
         // tracker  
         ntrack->Fill( pam_event->GetNTracks());  
         // calorimeter  
         qtot->Fill(pam_event->qtot);  
         // ToF  
         Int_t npa=0;  
         for(Int_t ipa=0; ipa<6; ipa++)npa = npa + pam_event->GetNHitPaddles(ipa);  
         npaddle->Fill(npa);  
         //================================================================================  
         // track related variables  
         //================================================================================  
         for(Int_t it=0; it<pam_event->GetNTracks(); it++){     // << loop over the "physical" tracks (no track images)  
             //  
             // << get the it-th physical pamela track  
             // << PamTrack combines the tracker, calorimeter and ToF track-related variables  
             // << (in case of image, choose the best track by means of calorimeter and ToF data)  
             //  
             PamTrack *track = pam_event->GetTrack(it);  
             //  
             // << if the track fit is good, fill some histos  
             //  
             if( track->chi2 > 0 && track->chi2 < 100){  
                 //  
                 // << spatial residuals on the first calorimeter plane for the sorted track  
30                  //                  //
31                  Float_t rxs = track->tbar[0][0] - pam_event->cbar[0][0];                  T->GetEntry(i);
32                  Float_t rys = track->tbar[0][1] - pam_event->cbar[0][1];                  //================================================================================
33                  resxs->Fill(rxs);                  // some general quantities
34                  resys->Fill(rys);                  //================================================================================
35                  //                  // tracker
36                  rig->Fill( track->GetRigidity() );                  ntrack->Fill( pam_event->GetNTracks() );                                                                        //<<
37                  //                  // calorimeter
38                  // << spatial residuals on the first calorimeter plane for the image track                  qtot->Fill( pam_event->qtot );                                                                                          //<<
39                  //                  // ToF
40                  if(track->HasImage()){                                // << if the sorted track has an image...                  Int_t npa=0;
41                      //                  for(Int_t ipa=0; ipa<6; ipa++)npa = npa + pam_event->GetNHitPaddles(ipa);       //<<
42                      PamTrack *image = pam_event->GetTrackImage(it);   // << ...get the image track                  npaddle->Fill(npa);
43                      //                  //================================================================================
44                      Float_t rxi = image->tbar[0][0] - pam_event->cbar[0][0];                  // track related variables
45                      Float_t ryi = image->tbar[0][1] - pam_event->cbar[0][1];                  //================================================================================
46                      resxi->Fill(rxi);                  for(Int_t it=0; it<pam_event->GetNTracks(); it++){     // << loop over the "physical" tracks (no track images)
47                      resyi->Fill(ryi);                          //
48                  };                          // << get the it-th physical pamela track
49              };                          // << PamTrack combines the tracker, calorimeter and ToF track-related variables
50          };  // end loop over tracks                          // << (in case of image, choose the best track by means of calorimeter and ToF data)
51          //================================================================================                          //
52                            PamTrack *track = pam_event->GetTrack(it);                                                              //<<
53                            //
54                            // << if the track fit is good, fill some histos
55                            //
56                            if( track->chi2 > 0 && track->chi2 < 100){
57                            //
58                            // << spatial residuals on the first calorimeter plane for the sorted track
59                            //
60                            Float_t rxs = track->tbar[0][0] - pam_event->cbar[0][0];
61                            Float_t rys = track->tbar[0][1] - pam_event->cbar[0][1];
62                            resxs->Fill(rxs);
63                            resys->Fill(rys);
64                            //
65                            rig->Fill( track->GetRigidity() );
66                            //
67                            // << spatial residuals on the first calorimeter plane for the image track
68                            //
69                            if(track->HasImage()){                                // << if the sorted track has an image...
70                                    //
71                                    PamTrack *image = pam_event->GetTrackImage(it);   // << ...get the image track
72                                    //
73                                    Float_t rxi = image->tbar[0][0] - pam_event->cbar[0][0];
74                                    Float_t ryi = image->tbar[0][1] - pam_event->cbar[0][1];
75                                    resxi->Fill(rxi);
76                                    resyi->Fill(ryi);
77                            };
78                                    };
79                    };  // end loop over tracks
80                            //================================================================================
81    
82      };                                       // end loop over the events      };                                       // end loop over the events
83      cout << endl << endl << " Done "<< endl<<endl;      cout << endl << endl << " Done "<< endl<<endl;

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.23