Locked History Actions

attachment:FDC2Hist.C of ANAROOT/Macros

Attachment 'FDC2Hist.C'

Download

// Example for SAMURAI FDC2
void FDC2Hist(){

  // set raw data file
  TArtEventStore *eventstore = new TArtEventStore;
  const char* filename = "ridf/sdaq02/dayone0080.ridf";//22C+C run
  if(!eventstore->Open(filename)){
    std::cout << "cannot open " << filename << std::endl;
    return;
  }

  // calibration parameters
  TArtSAMURAIParameters *smprm = TArtSAMURAIParameters::Instance();
  smprm->LoadParameter("db/SAMURAIFDC2.xml");

  // TArtStoreManager is a class for accessing calibrated data
  TArtStoreManager *sman = TArtStoreManager::Instance();

  // calibration classes
  TArtCalibFDC2Hit *calibfdc2hit = new TArtCalibFDC2Hit;
  Int_t fdc2_int_drift_tdc = 1495-1090;
  Int_t fdc2_tzero = 1495;
  TArtCalibFDC2Track *calibfdc2track 
    = new TArtCalibFDC2Track(fdc2_int_drift_tdc, fdc2_tzero);

  // define histograms
  TH1* hid = new TH1I("hid", "FDC2 ID", 1568, 0.5, 1568.5);
  TH1* hlayertdc  = new TH2D("hlayertdc", "FDC2 Layer-TDC", 14,-0.5,13.5, 4100, 0, 4100);

  TH1* hchi2 = new TH1D("hchi2","FDC2 track chi2", 200,0,2000000);
  TH1* hnhitlayer = new TH1D("hnhitlayer","FDC2 Num of Hit Layers", 15, -0.5,14.5);
  TH1* hxy   = new TH2D("hxy", "FDC2 X-Y", 200, -1200, 1200, 200,-500,500);
  TH1* hxa   = new TH2D("hxa", "FDC2 X-A", 200, -1200, 1200, 200,-0.5,0.5);
  TH1* hyb   = new TH2D("hyb", "FDC2 Y-B", 200, -500, 500, 200,-0.5,0.5);

  // event loop
  int nevent = 0;
  while(eventstore->GetNextEvent() && nevent<1000){
    calibfdc2hit->ReconstructData();
    calibfdc2track->ReconstructData();

    //--------------------------------------------------------
    // Get FDC2 hit information
    TClonesArray *fdc2hits = 
      (TClonesArray *)sman->FindDataContainer("SAMURAIFDC2Hit");

    if (fdc2hits!=0){
      Int_t nhit = fdc2hits->GetEntries();
      for (Int_t i=0; i<nhit; i++){
        TArtDCHit *hit = (TArtDCHit*)fdc2hits->At(i);
        hid->Fill( hit->GetID() );
        hlayertdc->Fill( hit->GetLayer(), hit->GetTDC() );
      }
    }

    //--------------------------------------------------------
    // Get FDC2 track information
    TClonesArray *fdc2trks =
      (TClonesArray*)sman->FindDataContainer("SAMURAIFDC2Track");

    if ( 0 != fdc2trks ){
      if ( 0 < fdc2trks->GetEntries() ){
        TArtDCTrack *trk = (TArtDCTrack*)fdc2trks->At(0);//best track
        hchi2->Fill( trk->GetChi2() );
        hnhitlayer->Fill( trk->GetNumHitLayer() );
        hxy->Fill( trk->GetPosition(0), trk->GetPosition(1) );
        hxa->Fill( trk->GetPosition(0), trk->GetAngle(0) );
        hyb->Fill( trk->GetPosition(1), trk->GetAngle(1) );
      }
    }

    // clear
    calibfdc2hit->ClearData();
    calibfdc2track->ClearData();
    eventstore->ClearData();
    ++nevent;
  }

  return;
}

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.
  • [get | view] (2012-11-02 05:21:15, 1.6 KB) [[attachment:BPCHist.C]]
  • [get | view] (2013-02-27 09:18:59, 0.8 KB) [[attachment:CoinHist.C]]
  • [get | view] (2012-11-02 05:10:49, 2.6 KB) [[attachment:FDC2Hist.C]]
  • [get | view] (2012-11-02 04:31:49, 2.1 KB) [[attachment:HODHist.C]]
  • [get | view] (2012-11-02 04:31:32, 1.6 KB) [[attachment:ICBHist.C]]
  • [get | view] (2014-12-31 11:41:13, 19.5 KB) [[attachment:OnlineMonitor.cc]]
  • [get | view] (2014-12-31 11:41:02, 2.6 KB) [[attachment:OnlineMonitor.hh]]
  • [get | view] (2012-11-02 05:25:41, 1.7 KB) [[attachment:PlaHist.C]]
  • [get | view] (2012-02-15 09:14:24, 3.2 KB) [[attachment:ch2ns.C]]
  • [get | view] (2012-02-15 10:05:13, 3.0 KB) [[attachment:getlandaupeak.C]]
  • [get | view] (2012-02-15 09:14:53, 2.7 KB) [[attachment:getped.C]]
  • [get | view] (2012-02-13 09:49:04, 2.6 KB) [[attachment:makevsta.C]]
  • [get | view] (2012-02-19 14:44:04, 0.5 KB) [[attachment:slew.C]]

You are not allowed to attach a file to this page.