Commit 60971d7a authored by Pavel Sharov's avatar Pavel Sharov

* initial commit

parents
*~
*.o
G__*
*.d
#!/usr/bin/ksh
echo useranalysis startup script
echo $1
./$1 $2 $3 $4 $5 $6
echo "-----------------------------------------"
echo done ...
sleep 1
ifndef GO4SYS
GO4SYS = $(shell go4-config --go4sys)
endif
include $(GO4SYS)/Makefile.config
## normally should be like this for every module, but can be specific
ifdef GO4PACKAGE
EXAMP1STEP_DIR = Go4Example1Step
else
EXAMP1STEP_DIR = .
endif
EXAMP1STEP_LINKDEF = $(EXAMP1STEP_DIR)/NeLinkDef.$(HedSuf)
EXAMP1STEP_LIBNAME = $(GO4_USERLIBNAME)
## must be similar for every module
EXAMP1STEP_DICT = $(EXAMP1STEP_DIR)/$(DICT_PREFIX)Ne
EXAMP1STEP_DH = $(EXAMP1STEP_DICT).$(HedSuf)
EXAMP1STEP_DS = $(EXAMP1STEP_DICT).$(SrcSuf)
EXAMP1STEP_DO = $(EXAMP1STEP_DICT).$(ObjSuf)
EXAMP1STEP_H = $(filter-out $(EXAMP1STEP_DH) $(EXAMP1STEP_LINKDEF), $(wildcard $(EXAMP1STEP_DIR)/*.$(HedSuf)))
EXAMP1STEP_S = $(filter-out $(EXAMP1STEP_DS), $(wildcard $(EXAMP1STEP_DIR)/*.$(SrcSuf)))
EXAMP1STEP_O = $(EXAMP1STEP_S:.$(SrcSuf)=.$(ObjSuf))
EXAMP1STEP_DEP = $(EXAMP1STEP_O:.$(ObjSuf)=.$(DepSuf))
EXAMP1STEP_DDEP = $(EXAMP1STEP_DO:.$(ObjSuf)=.$(DepSuf))
EXAMP1STEP_LIB = $(EXAMP1STEP_DIR)/$(EXAMP1STEP_LIBNAME).$(DllSuf)
# used in the main Makefile
EXAMPDEPENDENCS += $(EXAMP1STEP_DEP) $(EXAMP1STEP_DDEP)
ifdef DOPACKAGE
DISTRFILES += $(EXAMP1STEP_S) $(EXAMP1STEP_H) $(EXAMP1STEP_LINKDEF)
DISTRFILES += $(EXAMP1STEP_DIR)/Readme.txt
DISTRFILES += $(wildcard $(EXAMP1STEP_DIR)/*.C)
endif
##### local rules #####
all:: $(EXAMP1STEP_LIB)
$(EXAMP1STEP_LIB): $(EXAMP1STEP_O) $(EXAMP1STEP_DO)
@$(MakeLibrary) $(EXAMP1STEP_LIBNAME) "$(EXAMP1STEP_O) $(EXAMP1STEP_DO)" $(EXAMP1STEP_DIR) $(EXAMP1STEP_LINKDEF) "$(ANAL_LIB_DEP)"
$(EXAMP1STEP_DS): $(EXAMP1STEP_H) $(EXAMP1STEP_LINKDEF)
@$(ROOTCINTGO4) $(EXAMP1STEP_H) $(EXAMP1STEP_LINKDEF)
clean-bin::
@rm -f $(EXAMP1STEP_O) $(EXAMP1STEP_DO)
@rm -f $(EXAMP1STEP_DEP) $(EXAMP1STEP_DDEP) $(EXAMP1STEP_DS) $(EXAMP1STEP_DH)
@rm -f
clean:: clean-bin
@$(CleanLib) $(EXAMP1STEP_LIBNAME) $(EXAMP1STEP_DIR)
include $(GO4SYS)/Makefile.rules
// $Id: NeLinkDef.h 478 2009-10-29 12:26:09Z linev $
//-----------------------------------------------------------------------
// The GSI Online Offline Object Oriented (Go4) Project
// Experiment Data Processing at EE department, GSI
//-----------------------------------------------------------------------
// Copyright (C) 2000- GSI Helmholtzzentrum fr Schwerionenforschung GmbH
// Planckstr. 1, 64291 Darmstadt, Germany
// Contact: http://go4.gsi.de
//-----------------------------------------------------------------------
// This software can be used under the license agreements as stated
// in Go4License.txt file which is part of the distribution.
//-----------------------------------------------------------------------
#ifdef __CINT__
#pragma link off all globals;
#pragma link off all classes;
#pragma link off all functions;
#pragma link C++ class TNeDet16+;
#pragma link C++ class TNeAnalysis+;
#pragma link C++ class TNeEvent+;
#pragma link C++ class TNeProc+;
#pragma link C++ class TNeMParms+;
#pragma link C++ class TNeSel+;
#endif
-2.34972 0.0114901 0
-2.30248 0.0119181 0
-1.90725 0.0113475 0
-2.31388 0.0132505 0
-1.56788 0.0105785 0
-1.82084 0.0112084 0
-2.06799 0.0116788 0
-1.56027 0.00843548 0
-1.82246 0.00983103 0
-1.3501 0.00820513 0
-2.19668 0.0109215 0
-2.01007 0.0105785 0
-0.76165 0.00399501 0
-1.08519 0.00468864 0
-1.42947 0.00569395 0
-0.761259 0.0037037 0
-0.923964 0.00615977 0
-1.03014 0.00600375 0
-0.669851 0.00334553 0
-0.600319 0.00336134 0
-0.489993 0.00551249 0
-0.601227 0.00588776 0
-0.368238 0.00473023 0
-0.903021 0.00594243 0
-0.944609 0.00869565 0
-1.20434 0.00935673 0
-1.27191 0.0109029 0
-1.42102 0.0104918 0
-1.87874 0.0122301 0
-1.11591 0.00869565 0
-1.62649 0.00950966 0
-1.25018 0.0092219 0
-0.71701 0.00429242 0
-0.782398 0.00490046 0
-0.792679 0.00443828 0
//===================================================================
//== TNeAnalysis.cxx: exp0211
//== Version: 2011-02-01
//===================================================================
using namespace std;
#include "TNeAnalysis.h"
#include <stdlib.h>
#include "Riostream.h"
#include "Go4EventServer.h"
#include "TGo4StepFactory.h"
#include "TGo4AnalysisStep.h"
#include "TNeDet16.h"
//#include "TNeH1Parms.h"
//#include "TNeH2Parms.h"
#include "TNeMParms.h"
#include "TNeSel.h"
#include "TGo4Version.h"
#include "TGo4MbsEventServer.h"
//***********************************************************
TNeAnalysis::TNeAnalysis()
:fMbsEvent(0)
,fEvents(0)
,fLastEvent(0)
,p_T1xa(0)
,p_T1ya(0)
{
}
//***********************************************************
// this constructor is called by go4analysis executable
TNeAnalysis::TNeAnalysis(int argc, char** argv)
:TGo4Analysis(argc, argv)
,fMbsEvent(0)
,fEvents(0)
,fLastEvent(0)
,p_T1xa(0)
,p_T1ya(0)
{
cout << "**** Create TNeAnalysis name: " << argv[0] << endl;
if (!TGo4Version::CheckVersion(__GO4BUILDVERSION__)) {
cout << "**** Go4 version mismatch" << endl;
exit(-1);
}
TGo4StepFactory* factory = new TGo4StepFactory("Factory");
factory->DefEventProcessor("NeProc","TNeProc");// object name, class name
factory->DefOutputEvent("NeEvent","TNeEvent"); // object name, class name
// TGo4EventSourceParameter* sourcepar = new TGo4MbsEventServerParameter("rio3");
TGo4EventSourceParameter* sourcepar = new TGo4MbsStreamParameter("rio3-2");
//TGo4EventSourceParameter* sourcepar = new TGo4MbsTransportParameter("rio3");
// TGo4EventSourceParameter* sourcepar =
// new TGo4MbsFileParameter("/LynxOS/RIO3_3.1/mbsusr/user1/mbsrun/flnr/wrk3a/aa*.lmd");
TGo4FileStoreParameter* storepar = new TGo4FileStoreParameter(Form("%sOutput", argv[0]),99,320000,5);
storepar->SetOverwriteMode(kTRUE);
TGo4AnalysisStep* step = new TGo4AnalysisStep("Analysis", factory, sourcepar, storepar);
step->SetSourceEnabled(kTRUE);
//step->SetStoreEnabled(kTRUE);
step->SetProcessEnabled(kTRUE);
step->SetErrorStopEnabled(kTRUE);
// Now the first analysis step is set up.
// Other steps could be created here
AddAnalysisStep(step);
// uncomment following line to define custom passwords for analysis server
// DefineServerPasswords("Neadmin", "Nectrl", "Neview");
DefineServerPasswords("Acu0La0", "Acu0La0", "go4view");
//////////////// Parameter //////////////////////////
// At this point, autosave file has not yet been read!
// Therefore parameter values set here will be overwritten
// if an autosave file is there.
p_T1xa = new TNeDet16("T1xa");
p_T1ya = new TNeDet16("T1ya");
AddParameter(p_T1xa);
AddParameter(p_T1ya);
// pMTracks = new TNeMParms("MTRACKS");
// AddParameter(pMTracks);
}
//***********************************************************
TNeAnalysis::~TNeAnalysis()
{
cout << "**** TNeAnalysis: Delete instance" << endl;
}
//-----------------------------------------------------------
Int_t TNeAnalysis::UserPreLoop()
{
// all this is optional:
cout << "**** TNeAnalysis: PreLoop" << endl;
// get pointer to input event (used in postloop and event function):
fMbsEvent = dynamic_cast<TGo4MbsEvent*> (GetInputEvent("Analysis")); // of step "Analysis"
if(fMbsEvent) {
// fileheader structure (lmd file only):
s_filhe* fileheader=fMbsEvent->GetMbsSourceHeader();
if(fileheader)
{
cout <<"\nInput file: "<<fileheader->filhe_file << endl;
cout <<"Tapelabel:\t" << fileheader->filhe_label<<endl;
cout <<"UserName:\t" << fileheader->filhe_user<<endl;
cout <<"RunID:\t" << fileheader->filhe_run<<endl;
cout <<"Explanation: "<<fileheader->filhe_exp <<endl;
cout <<"Comments: "<<endl;
Int_t numlines=fileheader->filhe_lines;
for(Int_t i=0; i<numlines;++i)
{
cout<<"\t"<<fileheader->s_strings[i].string << endl;
}
}
}
fEvents=0; // event counter
fLastEvent=0; // number of last event processed
p_T1xa->ReadData();
// p_T1ya->ReadData();>Z
return 0;
}
//-----------------------------------------------------------
Int_t TNeAnalysis::UserPostLoop()
{
// all this is optional:
cout << "**** TNeAnalysis: PostLoop" << endl;
cout << "Last event #: " << fLastEvent << " Total events: " << fEvents << endl;
fMbsEvent = 0; // reset to avoid invalid pointer if analysis is changed in between
fEvents=0;
return 0;
}
//-----------------------------------------------------------
Int_t TNeAnalysis::UserEventFunc()
{
// all this is optional:
// This function is called once for each event after all steps.
if(fMbsEvent) {
fEvents++;
fLastEvent=fMbsEvent->GetCount();
}
if(fEvents == 1 || IsNewInputFile()) {
cout << "First event #: " << fLastEvent << endl;
SetNewInputFile(kFALSE); // we have to reset the newfile flag
}
return 0;
}
//===================================================================
//== TNeAnalysis.h: exp1210
//== Version: 2010-11-12
//===================================================================
#ifndef TNeANALYSIS_H
#define TNeANALYSIS_H
#include "TGo4Analysis.h"
#include "TGo4WinCond.h"
class TGo4MbsEvent;
class TNeDet16;
class TNeMParms;
class TNeSel;
class TNeAnalysis : public TGo4Analysis
{
private:
TGo4MbsEvent* fMbsEvent;
Int_t fEvents;
Int_t fLastEvent;
public:
TNeAnalysis();
TNeAnalysis(int argc, char** argv);
virtual ~TNeAnalysis() ;
virtual Int_t UserPreLoop();
virtual Int_t UserEventFunc();
virtual Int_t UserPostLoop();
TNeDet16* p_T1xa;
TNeDet16* p_T1ya;
// TNeMParms* pMTracks;
ClassDef(TNeAnalysis,1)
};
#endif //TANALYSIS_H
//===================================================================
//== TNeDet16.cpp: exp0211
//== Version: 2011-02-01
//===================================================================
using namespace std;
#include "TNeDet16.h"
#include <stdio.h>
#include "Riostream.h"
const int mchan = 16;
const int m = 3;
//***********************************************************
TNeDet16::TNeDet16(const char* name)
:TGo4Parameter(name)
,kread(0)
,n(2)
,nchan(mchan)
{
for(int i = 0; i < mchan; ++i)
{
a[i][0] = 0.;
a[i][1] = 1.;
a[i][2] = 0.;
}
} //----------------------------------------------------------------
TNeDet16::~TNeDet16()
{
} //-----------------------------------------------------------------
Bool_t TNeDet16::UpdateFrom(TGo4Parameter *source)
{
cout << "**** TNeDet1 " << GetName()
<< " updated from auto save file" << endl;
TNeDet16 * from = dynamic_cast<TNeDet16 *>(source);
if(from==0)
{
cout << "Wrong parameter class: "
<< source->ClassName() << endl;
return kFALSE;
}
kread = from->kread;
switch(kread)
{
case 1:
kread = 0;
from->kread = 0;
ReadData();
from->n = n;
from->nchan = nchan;
for(int i = 0; i < mchan; ++i)
{
from->a[i][0] = a[i][0];
from->a[i][1] = a[i][1];
from->a[i][2] = a[i][2];
}
break;
default:
n = from->n;
nchan = from->n;
for(int i =0; i < mchan; ++i)
{
a[i][0] = from->a[i][0];
a[i][1] = from->a[i][1];
a[i][2] = from->a[i][2];
}
}
return kTRUE;
} //-----------------------------------------------------------------
void TNeDet16::ReadData()
{
TString xname = GetName();
xname.ToLower();
xname += ".clb";
xname = "clb/"+xname;
FILE* F = fopen(xname.Data(),"rt");
if(!F)
{
printf("\n\n!!! FILE: %s WAS NOT FOUND\n\n"
,xname.Data());
return;
}
fscanf(F,"%d%d",&n,&nchan);
for(int i=0; i<nchan; i++)
{
fscanf(F,"%lf%lf%lf",&a[i][0],&a[i][1],&a[i][2]);
}
printf("\n\nREAD DATA FROM FILE: %s\n\n",xname.Data());
fclose(F);
return;
} //-----------------------------------------------------------------
double TNeDet16::Energy(double value, int chan)
{
double res = a[chan][n-1];
for(int i = n-2; i >= 0 ; --i)
{
res = res * value + a[chan][i];
}
return res;
} //-----------------------------------------------------------------
//===================================================================
//== TNeDet1.h: exp0211
//== Version: 2011-02-01
//===================================================================
#ifndef TNeDet16_H
#define TNeDet16_H
#include "TGo4Parameter.h"
class TNeDet16 : public TGo4Parameter
{
public:
TNeDet16(const char* name = 0);
virtual ~TNeDet16();
virtual Bool_t UpdateFrom(TGo4Parameter *);
void ReadData();
double Energy(double value, int chan);
int kread;
int n;
int nchan;
double a[32][3];
ClassDef(TNeDet16,1)
};
#endif
//===================================================================
//== TNeEvent.cxx:
//== Version:
//===================================================================
using namespace std;
#include "TNeEvent.h"
#include "Riostream.h"
TNeEvent::TNeEvent()
:TGo4EventElement()
{
cout << "**** TNeEvent: Create instance" << endl;
} //-------------------------------------------------------------------
TNeEvent::TNeEvent(const char* name)
:TGo4EventElement(name)
{
cout << "**** TNeEvent: Create instance " << name << endl;
} //-------------------------------------------------------------------
TNeEvent::~TNeEvent()
{
cout << "**** TNeEvent: Delete instance " << endl;
} //-------------------------------------------------------------------
void TNeEvent::Clear(Option_t *t)
{
//==================================================================
//== all members should be cleared.
//== memset(fRawData,0, sizeof(fRawData));
//==================================================================
// SQ
memset(T1xa, 0, sizeof(T1xa));
memset(T1xa, 0, sizeof(T1xa));
// ToF
memset(F3, 0, sizeof(F3));
memset(tF3, 0, sizeof(tF3));
memset(F5, 0, sizeof(F5));
memset(tF5, 0, sizeof(tF5));
// MWPC
memset(tMWPC, 0, sizeof(tMWPC));
nevent = 0;
trigger = 0;
subevents = 0;
evsize = 0;
mtime = 0;
} //-------------------------------------------------------------------
//===================================================================
//== TNeEvent.h:
//== Version:
//===================================================================
#ifndef TNeEVENT_H
#define TNeEVENT_H
#include "TGo4EventElement.h"
class TNeEvent : public TGo4EventElement
{
public:
TNeEvent();
TNeEvent(const char* name);
virtual ~TNeEvent();
/** Method called by the framework to clear the event element. */
void Clear(Option_t *t="");
//-----SQ-----
unsigned short T1xa[16];
unsigned short T1xt[16];
unsigned short T1ya[16];
unsigned short T1yt[16];
unsigned short F3[4];
unsigned short tF3[4];
unsigned short F5[4];
unsigned short tF5[4];
unsigned short tMWPC[4];
unsigned int scaler[16];
/* unsigned short ADC[32];
unsigned short TDC[32];
unsigned short mQDC[32];
unsigned short mTDC[32];
*/
//-----WIRES-----
unsigned short nx1, ny1, nx2, ny2; // wires
unsigned short x1[32],y1[32],x2[32],y2[32]; // wires
unsigned int rx1, rx2, ry1, ry2;
int nevent;
int trigger;
int subevents;
int evsize;
unsigned int mtime;
// unsigned int time;
ClassDef(TNeEvent,1)
};
#endif //TEVENT_H
//===================================================================
//== TNe1HParms.cpp: exp1210
//== Version: 2010-11-26
//===================================================================
using namespace std;
#include "TNeMParms.h"
#include <stdio.h>
#include "Riostream.h"
//const int mchan = 32;
//const int m = 3;
//***********************************************************
TNeMParms::TNeMParms(const char* name)
:TGo4Parameter(name),
fill(kTRUE)
{
} //----------------------------------------------------------------
TNeMParms::~TNeMParms()
{
} //-----------------------------------------------------------------
Bool_t TNeMParms::UpdateFrom(TGo4Parameter *source)
{
cout << "**** TNeHParm " << GetName()
<< " updated from auto save file" << endl;
TNeMParms * from = dynamic_cast<TNeMParms *>(source);
if(from==0)
{
cout << "Wrong parameter class: "
<< source->ClassName() << endl;
return kFALSE;
}
fill = from->fill;
mtracksx = from->mtracksx;
mtracksy = from->mtracksy;
return kTRUE;
} //-----------------------------------------------------------------
//===================================================================
//== TNeMParms.h: exp1210
//== Version: 2010-11-1226
//===================================================================
#ifndef TNeMPARMS_H
#define TNeMPARMS_H
#include "TGo4Parameter.h"
class TNeMParms : public TGo4Parameter
{
public:
TNeMParms(const char* name = 0);
virtual ~TNeMParms();
virtual Bool_t UpdateFrom(TGo4Parameter *);
Bool_t fill;
int mtracksx,mtracksy;
ClassDef(TNeMParms,1)
};
#endif
This diff is collapsed.
This diff is collapsed.
#ifndef TUNPACKPROCESSOR_H
#define TUNPACKPROCESSOR_H
#include <TLine.h>
#include <TGraph.h>
#include <TGraphErrors.h>
#include "TGo4EventProcessor.h"
//-----class TNeParam-----;
extern int otl;
class TNeProc : public TGo4EventProcessor
{
public:
TNeProc() ;
TNeProc(const char* name);
virtual ~TNeProc() ;
Bool_t BuildEvent(TGo4EventElement* target); // event processing function
double GetClasters(unsigned short n, unsigned short *x);
static long bit[32];
private:
TH1 *fTrigger;
TH1 *fSubEvents;
TH1 *fEventsSizes;
//
//-----SQ-----
//-----raw-----
TH2 * hT1a;
TH2 * hT1t;
TH1 *d1T1xa[16];
TH1 *d1T1xt[16];
TH1 *d1T1xc[16];
TH1 *d1T1ya[16];
TH1 *d1T1yt[16];
TH1 *d1T1yc[16];
//-----clb-----
TH1 *d1sq1_x_c[16];
//-----ToF+MWPC-----
TH1 *d1F3[4];
TH1 *d1tF3[4];
TH1 *d1F5[4];
TH1 *d1tF5[4];
TH1 *d1tMWPC[4];
//
TH1 *d1ToF;
TH1 *d1aF3;
TH2 *d2ToFaF3;
TH2 *d2ToFaF3_cut;
TH1 *d1aF5;
TH2 *d2ToFaF5;
//-----CALIBRATED-----
//-----neutrons-----
//-----WIRES-----
TH1 *d1X1;
TH1 *d1Y1;
TH1 *d1X2;
TH1 *d1Y2;
TH1 *d1NX1;
TH1 *d1NY1;
TH1 *d1NX2;
TH1 *d1NY2;
TH2 *d2XY1;
TH2 *d2XY2;
TH1 *d1CX1;
TH1 *d1CY1;
TH1 *d1CX2;
TH1 *d1CY2;
ClassDef(TNeProc,1)
};
#endif //TUNPACKPROCESSOR_H
//===================================================================
//== TNeSel.cxx: exp0211
//== Version: 2011-03-01
//===================================================================
using namespace std;
#include "TNeSel.h"
#include <stdio.h>
#include "Riostream.h"
//***********************************************************
TNeSel::TNeSel(const char* name)
:TGo4Parameter(name)
,lval(0.)
,uval(4096.)
{
;
} //----------------------------------------------------------------
TNeSel::~TNeSel()
{
} //-----------------------------------------------------------------
Bool_t TNeSel::UpdateFrom(TGo4Parameter *source)
{
cout << "**** TNeDet1 " << GetName()
<< " updated from auto save file" << endl;
TNeSel * from = dynamic_cast<TNeSel *>(source);
if(from==0)
{
cout << "Wrong parameter class: "
<< source->ClassName() << endl;
return kFALSE;
}
lval = from->lval;
uval = from->uval;
return kTRUE;
} //-----------------------------------------------------------------
int TNeSel::CheckValue(double val)
{
if(val > lval && val < uval) return 1;
return 0;
} //-----------------------------------------------------------------
//===================================================================
//== TNeSel.h: exp0211
//== Version: 2011-03-01
//===================================================================
#ifndef TNeSEL_H
#define TNeSEL_H
#include "TGo4Parameter.h"
class TNeSel : public TGo4Parameter
{
public:
TNeSel(const char* name = 0);
virtual ~TNeSel();
virtual Bool_t UpdateFrom(TGo4Parameter *);
int CheckValue(double val);
double lval;
double uval;
ClassDef(TNeSel,1)
};
#endif
2
16
-0.08733 0.004911 0
-0.08709 0.004893 0
-0.08096 0.004951 0
-0.07999 0.004812 0
-0.08556 0.004968 0
-0.08162 0.004784 0
-0.08238 0.004891 0
-0.0817 0.004798 0
-0.09605 0.005018 0
-0.06971 0.004917 0
-0.09164 0.004982 0
-0.07341 0.005013 0
-0.08384 0.005046 0
-0.07682 0.004999 0
-0.08593 0.005024 0
-0.07198 0.004797 0
2
16
-0.08733 0.004911 0
-0.08709 0.004893 0
-0.08096 0.004951 0
-0.07999 0.004812 0
-0.08556 0.004968 0
-0.08162 0.004784 0
-0.08238 0.004891 0
-0.0817 0.004798 0
-0.09605 0.005018 0
-0.06971 0.004917 0
-0.09164 0.004982 0
-0.07341 0.005013 0
-0.08384 0.005046 0
-0.07682 0.004999 0
-0.08593 0.005024 0
-0.07198 0.004797 0
#dir_in=$1
dir_out=/media/analysis_nas/exp202003/data/clb/
#echo $dir_in $dir_out
for file in $(ls -tr $(find ../data/clb/ -type f -newermt '10/01/2020 0:00:00'))
do
fbname=$(basename "$file" .lmd)
go4analysis -file $file -store $dir_out$fbname.root
echo $file
done
../data/clb/crun_tdc_0001.lmd
../data/clb/crun_tdc_0002.lmd
2
16
-0.9015 0.045 0
-1.079 0.045 0
-0.8041 0.045 0
-1.068 0.045 0
-0.8626 0.045 0
-1.076 0.045 0
-0.9041 0.045 0
-1.051 0.045 0
-0.9148 0.045 0
-1.192 0.045 0
-0.9555 0.045 0
-1.137 0.045 0
-0.9097 0.045 0
-1.123 0.045 0
-0.9576 0.045 0
-1.124 0.045 0
2
16
-0.7645 0.01016 0
-0.7662 0.01012 0
-0.7496 0.01023 0
-0.8303 0.01048 0
-0.7535 0.01038 0
-0.7891 0.01036 0
-0.827 0.01012 0
-0.8044 0.01003 0
-0.7979 0.01001 0
-0.9127 0.01026 0
-0.7932 0.01036 0
-0.8673 0.0104 0
-0.7567 0.01003 0
-0.932 0.01052 0
-0.7518 0.01011 0
-0.8896 0.01044 0
find: `/root': Permission denied
find: `/run/udisks': Permission denied
find: `/run/samba/winbindd_privileged': Permission denied
find: `/run/exim4': Permission denied
find: `/run/gdm3': Permission denied
find: `/run/cups/certs': Permission denied
find: `/usr/NX/var/db/node/externalports': Permission denied
find: `/usr/NX/var/db/closed': Permission denied
find: `/usr/NX/var/db/running': Permission denied
find: `/usr/NX/var/db/failed': Permission denied
find: `/usr/NX/var/tmp/nx': Permission denied
find: `/usr/NX/var/nx': Permission denied
find: `/lost+found': Permission denied
find: `/tmp/mc-root': Permission denied
find: `/tmp/pulse-PKdhtXMmr18n': Permission denied
find: `/tmp/pulse-CcctT9RwKSB1': Permission denied
find: `/tmp/mc-aculina': Permission denied
find: `/media/data_nas/159.93.80.138/data1/lost+found': Permission denied
find: `/media/data_nas/159.93.80.138/data/lost+found': Permission denied
find: `/media/data_nas/159.93.80.106/data/exp0211': Permission denied
find: `/media/data_nas/159.93.80.106/data/exp0313': Permission denied
find: `/media/data_nas/159.93.80.106/data/exp0116': Permission denied
find: `/media/data_nas/159.93.80.106/data/exp0212': Permission denied
find: `/media/data_nas/159.93.80.106/data/neut': Permission denied
find: `/media/data_nas/159.93.80.106/data/clb1703': Permission denied
find: `/media/data_nas/159.93.80.106/data/exp0217': Permission denied
find: `/media/data_nas/159.93.80.106/data/clb0512': Permission denied
find: `/media/data_nas/159.93.80.106/data/ns': Permission denied
find: `/media/data_nas/159.93.80.106/data/japan': Permission denied
find: `/media/data_nas/159.93.80.106/data/stilbene': Permission denied
find: `/media/data_nas/159.93.80.106/data/clb0212': Permission denied
find: `/media/data_nas/159.93.80.106/data/clb0313': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/go4/go4-4.3.0/qt4': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/go4/go4-4.3.0/qt3': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/go4/go4-4.3.0/include': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/go4/go4-4.3.0/macros': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/go4/go4-4.3.0/icons': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/go4/go4-4.3.0/etc': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/go4/go4-4.3.0/build': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/go4/go4-4.3.0/docs': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/go4/go4-4.3.0/MbsAPIbase': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/go4/go4-4.3.0/RawAPI': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/gsl': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/root': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/qt': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/vme': Permission denied
find: `/media/data_nas/159.93.80.106/data/clb1016': Permission denied
find: `/media/data_nas/159.93.80.106/data/lost+found': Permission denied
find: `/media/data_nas/159.93.80.106/data/test': Permission denied
find: `/media/data_nas/159.93.80.106/data/.Trash-aculina': Permission denied
find: `/media/data_nas/159.93.80.106/data/exp1016': Permission denied
find: `/media/data_nas/159.93.80.106/data/clb1212': Permission denied
find: `/media/data_nas/159.93.80.106/data/exp1210': Permission denied
find: `/root': Permission denied
find: `/run/udisks': Permission denied
find: `/run/samba/winbindd_privileged': Permission denied
find: `/run/exim4': Permission denied
find: `/run/gdm3': Permission denied
find: `/run/cups/certs': Permission denied
find: `/usr/NX/var/db/node/externalports': Permission denied
find: `/usr/NX/var/db/closed': Permission denied
find: `/usr/NX/var/db/running': Permission denied
find: `/usr/NX/var/db/failed': Permission denied
find: `/usr/NX/var/tmp/nx': Permission denied
find: `/usr/NX/var/nx': Permission denied
find: `/lost+found': Permission denied
find: `/tmp/pulse-PKdhtXMmr18n': Permission denied
find: `/tmp/mc-aculina': Permission denied
find: `/media/data_nas/159.93.80.138/data1/lost+found': Permission denied
find: `/media/data_nas/159.93.80.138/data/lost+found': Permission denied
find: `/media/data_nas/159.93.80.106/data/exp0211': Permission denied
find: `/media/data_nas/159.93.80.106/data/exp0313': Permission denied
find: `/media/data_nas/159.93.80.106/data/exp0116': Permission denied
find: `/media/data_nas/159.93.80.106/data/exp0212': Permission denied
find: `/media/data_nas/159.93.80.106/data/neut': Permission denied
find: `/media/data_nas/159.93.80.106/data/clb1703': Permission denied
find: `/media/data_nas/159.93.80.106/data/exp0217': Permission denied
find: `/media/data_nas/159.93.80.106/data/clb0512': Permission denied
find: `/media/data_nas/159.93.80.106/data/ns': Permission denied
find: `/media/data_nas/159.93.80.106/data/japan': Permission denied
find: `/media/data_nas/159.93.80.106/data/stilbene': Permission denied
find: `/media/data_nas/159.93.80.106/data/clb0212': Permission denied
find: `/media/data_nas/159.93.80.106/data/clb0313': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/go4/go4-4.3.0/qt4': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/go4/go4-4.3.0/qt3': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/go4/go4-4.3.0/include': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/go4/go4-4.3.0/macros': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/go4/go4-4.3.0/icons': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/go4/go4-4.3.0/etc': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/go4/go4-4.3.0/build': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/go4/go4-4.3.0/docs': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/go4/go4-4.3.0/MbsAPIbase': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/go4/go4-4.3.0/RawAPI': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/gsl': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/root': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/qt': Permission denied
find: `/media/data_nas/159.93.80.106/data/Soft/vme': Permission denied
find: `/media/data_nas/159.93.80.106/data/clb1016': Permission denied
find: `/media/data_nas/159.93.80.106/data/lost+found': Permission denied
find: `/media/data_nas/159.93.80.106/data/test': Permission denied
find: `/media/data_nas/159.93.80.106/data/.Trash-aculina': Permission denied
find: `/media/data_nas/159.93.80.106/data/exp1016': Permission denied
find: `/media/data_nas/159.93.80.106/data/clb1212': Permission denied
find: `/media/data_nas/159.93.80.106/data/exp1210': Permission denied
This diff is collapsed.
void rcall(const char* name)
{
TNeDet1 *pDet
= (TNeDet1*)(TGo4Analysis::Instance())->GetParameter(name);
if(!pDet)
{
printf("OBJECT: %s WAS NOT FOUND \n",name);
return;
}
TString fname(name);
fname.ToLower();
fname += ".cal";
pDet->Read(fname.Data());
}
#! /bin/bash
# Replace Go4 demo analysis by user experiment names
# J.Adamczewski 18.03.2002
# H.Essel 30.7.2002: two args
# The GSI Online Offline Object Oriented (GO4) Project
# Experiment Data Processing at DVEE department, GSI
# usage: rename.sh old new
FILELIST='Makefile Module.mk *.cxx *.h *.C Readme.txt'
#echo $FILELIST
if [ $# -ne 2 ] ; then
echo 'args: "oldstring" "newstring"'
else
echo Replace $1 by $2 in
echo "Makefile Module.mk *.cxx *.cpp *.h Readme.txt"
for FILENAME in $FILELIST;
do
#echo $FILENAME;
cat $FILENAME | awk -v rep=$2 -v str=$1 '{ gsub(str,rep) ; print }' > temp.txt
mv temp.txt $FILENAME;
NEWNAME=`echo $FILENAME | awk -v rep=$2 -v str=$1 '{ gsub(str,rep) ; print }'`;
echo $NEWNAME;
mv $FILENAME $NEWNAME;
done
fi
#!/bin/bash
if [ -z ${GO4SYS+x} ]; then
echo "GO4SYS is unset. Aborting.";
exit;
else
echo "GO4SYS is set to '$GO4SYS'";
fi
# =============================================================================
# Please specify the path to a directory which contains _ONLY_ the files you want to analyse
# You should not put the trailing slash sign (but actually if you will, it should not affect the result...)
# You need to have write access to this directory
INPUTLMDDIR=/home/LynxOS/mbsusr/mbsdaq/mbsrun/exp202003/data/clb
if [ ! -d "${INPUTLMDDIR}" ]; then
echo -e "Directory ${INPUTLMDDIR} does not exist. Aborting."
exit;
fi
# Please specify the path to the output directory where the resulting root files will be written
OUTPUTROOTDIR=/media/analysis_nas/exp202003/clb/root
# TODO check that ${OUTPUTROOTDIR} exists ???
# Please specify the input XML configuration file
SETUPFILE=/media/analysis_nas/exp202003/raw2/conversion/setupEXP2003.xml
# TODO check that ${SETUPFILE} exists
# Please specify how many threads do you want to occupy
NTHREADS=1
# Please specify the prefix for the generated lml files
# In principle, there are no constraints, but you may want to keep it the same as the directory name
PREFIX=crun_0
FILES=${INPUTLMDDIR}/${PREFIX}*.lmd
# Remove textual output if it already exists from previous analysis runs
if [ -d ${OUTPUTROOTDIR}/textoutput/ ]; then
rm -fv ${OUTPUTROOTDIR}/textoutput/*.txt
else
mkdir ${OUTPUTROOTDIR}/textoutput
fi
# Remove asf output if it already exists from previous analysis runs
if ! [ -d ${OUTPUTROOTDIR}/autosave/ ]; then
mkdir ${OUTPUTROOTDIR}/autosave
fi
# =============================================================================
#NAMES=${FILES}-${INPUTLMDDIR}
# Count input data files
NFILES=`ls -1q ${FILES} | wc -l`
echo "nFiles=${NFILES}"
echo "nThreads=${NTHREADS}"
#let IBATCH=1
let iFile=0
for INPUTFILENAME in ${FILES}
do
NAME=$(basename "$INPUTFILENAME")
OUTPUTFILENAME=${NAME//lmd/root}
OUTPUTFILENAME=${OUTPUTROOTDIR}/${OUTPUTFILENAME}
TEXTERRFILE=${OUTPUTROOTDIR}/textoutput/${NAME}_err.txt # Default: textoutput/err.txt
TEXTOUTFILE=${OUTPUTROOTDIR}/textoutput/${NAME}_out.txt # Default: textoutput/out.txt # No reason to suppres
AUTOSAVEFILE=${OUTPUTROOTDIR}/autosave/${NAME}_asf.root
# Remove output file if it already exists from previous analysis runs
if [ -f $OUTPUTFILENAME ]; then
rm ${OUTPUTFILENAME}
fi
# Remove autosave file if it already exists from previous analysis runs
if [ -f $AUTOSAVEFILE ]; then
rm ${AUTOSAVEFILE}
fi
if [ $iFile -eq $NTHREADS ]; then
echo -e "\e[1;32;1mWaiting for all threads to finish\e[0m"
wait
let iFile=0
fi
if [ $iFile -lt $NTHREADS ]; then
ANARUNINFO="========================== ANALYSIS RUN INFO ===================================
Current date and time ${DATETIME}
Processing input file ${INPUTFILENAME}
into output file ${OUTPUTFILENAME}
Text output file: ${TEXTOUTFILE}
Text error file: ${TEXTERRFILE}
============================================================================================"
# Starting outoutfile with ANARUNINFO
cat > ${TEXTOUTFILE} << EOF
${ANARUNINFO}
EOF
echo -e "\e[1m\e[34m${ANARUNINFO}\e[0m"
echo -e "\e[1m\e[32m"`date` "Analysis started.\e[0m"
go4analysis -file ${INPUTFILENAME} -store ${OUTPUTFILENAME} >> ${TEXTOUTFILE} 2> ${TEXTERRFILE}
let iFile++
fi
done
echo -e "\e[1m\e[32m"`date` "Analysis finished.\e[0m"
go4analysis -file ../data/clb/dsd_r_01_0001.lmd -store /media/analysis_nas/exp201810/dsd_r_01_0001.root
go4analysis -file ../data/clb/dsd_20_r_02_0001.lmd -store /media/analysis_nas/exp201810/dsd_20_r_02_0001.root
go4analysis -file ../data/clb/dsd_20_r_02_0002.lmd -store /media/analysis_nas/exp201810/dsd_20_r_02_0002.root
go4analysis -file ../data/clb/dsd_20_r_02_0003.lmd -store /media/analysis_nas/exp201810/dsd_20_r_02_0003.root
go4analysis -file ../data/clb/dsd_20_r_02_0004.lmd -store /media/analysis_nas/exp201810/dsd_20_r_02_0004.root
go4analysis -file ../data/clb/dsd_20_r_02_0005.lmd -store /media/analysis_nas/exp201810/dsd_20_r_02_0005.root
go4analysis -file ../data/clb/dsd_20_r_03_0001.lmd -store /media/analysis_nas/exp201810/dsd_20_r_03_0001.root
go4analysis -file ../data/clb/tuning01.lml -store ../data/clb/tuning01.lml.root
go4analysis -file ../data/clb/tuning02.lml -store ../data/clb/tuning02.lml.root
go4analysis -file ../data/clb/tuning03.lml -store ../data/clb/tuning03.lml.root
go4analysis -file ../data/clb/tuning04.lml -store ../data/clb/tuning04.lml.root
go4analysis -file ../data/clb/tuning05.lml -store ../data/clb/tuning05.lml.root
go4analysis -file ../data/clb/tuning06.lml -store ../data/clb/tuning06.lml.root
go4analysis -file ../data/clb/tuning07.lml -store ../data/clb/tuning07.lml.root
go4analysis -file ../data/clb/tuning08.lml -store ../data/clb/tuning08.lml.root
go4analysis -file ../data/clb/tuning09.lml -store ../data/clb/tuning09.lml.root
go4analysis -file ../data/clb/tuning10.lml -store ../data/clb/tuning10.lml.root
go4analysis -file ../data/clb/tuning11.lml -store ../data/clb/tuning11.lml.root
go4analysis -file ../data/clb/tuning12.lml -store ../data/clb/tuning12.lml.root
go4analysis -file ../data/clb/tuning13.lml -store ../data/clb/tuning13.lml.root
go4analysis -file ../data/clb/tuning14.lml -store ../data/clb/tuning14.lml.root
go4analysis -file ../data/clb/tuning15.lml -store ../data/clb/tuning15.lml.root
go4analysis -file ../data/clb/tuning16.lml -store ../data/clb/tuning16.lml.root
go4analysis -file ../data/clb/tuning17.lml -store ../data/clb/tuning17.lml.root
go4analysis -file ../data/clb/tuning18.lml -store ../data/clb/tuning18.lml.root
go4analysis -file ../data/clb/tuning19.lml -store ../data/clb/tuning19.lml.root
go4analysis -file ../data/clb/tuning20.lml -store ../data/clb/tuning20.lml.root
go4analysis -file ../data/clb/tuning21.lml -store ../data/clb/tuning21.lml.root
go4analysis -file ../data/clb/tuning22.lml -store ../data/clb/tuning22.lml.root
go4analysis -file ../data/clb/tuning23.lml -store ../data/clb/tuning23.lml.root
go4analysis -file ../data/clb/tuning24.lml -store ../data/clb/tuning24.lml.root
go4analysis -file ../data/clb/tuning25.lml -store ../data/clb/tuning25.lml.root
go4analysis -file ../data/clb/tuning26.lml -store ../data/clb/tuning26.lml.root
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment