Logo Coherent WaveBurst  
Reference Guide
Logo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
cwb_dump_events.C
Go to the documentation of this file.
1 // dump/view the event parameters : used by the cwb_dump events
2 
3 {
5 
6  TB.checkFile(gSystem->Getenv("CWB_ROOTLOGON_FILE"));
7 
9  if(gSystem->Getenv("CWB_DUMP_EVT_FILE_NAME")==NULL) {
10  cout << "Error : environment CWB_DUMP_EVT_FILE_NAME is not defined!!!" << endl;exit(1);
11  } else {
12  cwb_dump_evt_file_name=TString(gSystem->Getenv("CWB_DUMP_EVT_FILE_NAME"));
13  }
14  if(cwb_dump_evt_file_name.Contains(".root")==0) {
15  cout << "Error : " << cwb_dump_evt_file_name.Data() << " is not a root file!!!" << endl;exit(1);
16  }
17 
19  if(gSystem->Getenv("CWB_DUMP_EVT_MODE")!=NULL) {
20  cwb_dump_evt_mode=TString(gSystem->Getenv("CWB_DUMP_EVT_MODE"));
21  }
22 
23  TFile *ifile = TFile::Open(cwb_dump_evt_file_name);
24  if(ifile==NULL) {cout << "Failed to open " << cwb_dump_evt_file_name.Data() << endl;exit(-1);}
25 
26  // get waveburst tree
27  TTree* itree = (TTree *) ifile->Get("waveburst");
28  if(itree==NULL) {cout << "Error : tree waveburst not present !!!" << endl;exit(1);}
29 
30  // get detector list
31  TList* list = itree->GetUserInfo();
32  int nifo=list->GetSize();
33  if (nifo==0) {cout << "Error : no ifo present in the tree" << endl;exit(1);}
34  detector** pD = new detector*[nifo];
35  for (int n=0;n<nifo;n++) {
36  pD[n] = (detector*)list->At(n);
37  detectorParams dParams = pD[n]->getDetectorParams();
38  //pD[n]->print();
39  }
40 
41  netevent EVT(itree,nifo);
42  for (int n=0;n<nifo;n++) EVT.ifoList.push_back(pD[n]);
43 
44  // build dump file name
45  char evtFile[512];
46  TObjArray* token = TString(cwb_dump_evt_file_name).Tokenize(TString("/"));
47  sprintf(evtFile,"%s/%s",dump_dir,
48  TString(((TObjString*)token->At(token->GetEntries()-1))->GetString()).ReplaceAll(".root",".evt").Data());
49 
50  // dump header
51  if(cwb_dump_evt_mode.CompareTo("view")!=0) {
52  cout << "Write : " << evtFile << endl;
53  EVT.dopen(evtFile,const_cast<char*>("w"),true);
54  EVT.dclose();
55  }
56  // dump events
57  int nEVT = EVT.GetEntries();
58  for(int i=0;i<nEVT;i++) {
59 
60  EVT.GetEntry(i);
61 
62  if(cwb_dump_evt_mode.CompareTo("view")==0) EVT.fP = stdout;
63  else EVT.dopen(evtFile,const_cast<char*>("a"),false);
64  EVT.Dump();
65  if(cwb_dump_evt_mode.CompareTo("view")!=0) EVT.dclose();
66  }
67 
68  exit(0);
69 }
detectorParams getDetectorParams()
Definition: detector.cc:201
int n
Definition: cwb_net.C:10
cout<< "skymap size : "<< L<< endl;for(int l=0;l< L;l++) sm.set(l, l);sm > const_cast< char * >("skymap.dat")
TString("c")
Int_t GetEntry(Int_t)
Definition: netevent.cc:387
i drho i
TList * list
static bool checkFile(TString fName, bool question=false, TString message="")
Definition: Toolbox.cc:3956
CWB::Toolbox TB
Definition: ComputeSNR.C:5
int nEVT
void dopen(const char *fname, char *mode, bool header=true)
Definition: netevent.hh:291
exit(0)
void Dump(TString analysis="2G")
Definition: netevent.hh:306
std::vector< detector * > ifoList
dump file
Definition: netevent.hh:124
TObjArray * token
TString cwb_dump_evt_mode
int nifo
FILE * fP
injected reconstructed xcor waveform
Definition: netevent.hh:122
netevent EVT(itree, nifo)
condor_log_dir ReplaceAll("X_HOME", uhome.Data())
void dclose()
Definition: netevent.hh:300
TFile * ifile
char dump_dir[512]
Definition: test_config1.C:156
TString cwb_dump_evt_file_name
sprintf(tfres,"(1/%g)x(%g) (sec)x(Hz)", 2 *df, df)
TTree * itree
Int_t GetEntries()
Definition: netevent.cc:381
detector ** pD