...
 
Commits (5)
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
#pragma link C++ class TNeProc+; #pragma link C++ class TNeProc+;
#pragma link C++ class TNeMParms+; #pragma link C++ class TNeMParms+;
#pragma link C++ class TNeSel+; #pragma link C++ class TNeSel+;
#pragma link C++ class TDSSD16+;
#endif #endif
......
# Go4 library for ACCULINNA2 experiments
## 24e01
### Naming conventions
- prefix L is for left shoulder R for right
- By default channel 1--16 for X-strips 16--32 for Y.
### TDSSD16
`TDSSD16` is container for double-side 1mm telescope.
Members:
- multx,multy --- multiplicity on each side
- sx,sy --- strip number
- depx,depy --- Edep in MeV
- posx,posy --- local position in mm
now only left 1mm detector added to `TNeEvent` (it named as `L1`).
...@@ -27,8 +27,17 @@ TNeAnalysis::TNeAnalysis() ...@@ -27,8 +27,17 @@ TNeAnalysis::TNeAnalysis()
:fMbsEvent(0) :fMbsEvent(0)
,fEvents(0) ,fEvents(0)
,fLastEvent(0) ,fLastEvent(0)
,p_T1xa(0) ,p_Lxa(0)
,p_T1ya(0) ,p_Lya(0)
,p_Rxa(0)
,p_Rya(0)
,p_Rva(0)
,p_R20a(0)
,p_AnSa(0)
,p_AnRa(0)
,p_AnVa(0)
,p_Rcsa(0)
,p_Lcsa(0)
{ {
} }
//*********************************************************** //***********************************************************
...@@ -39,8 +48,17 @@ TNeAnalysis::TNeAnalysis(int argc, char** argv) ...@@ -39,8 +48,17 @@ TNeAnalysis::TNeAnalysis(int argc, char** argv)
,fMbsEvent(0) ,fMbsEvent(0)
,fEvents(0) ,fEvents(0)
,fLastEvent(0) ,fLastEvent(0)
,p_T1xa(0) ,p_Lxa(0)
,p_T1ya(0) ,p_Lya(0)
,p_Rxa(0)
,p_Rya(0)
,p_Rva(0)
,p_R20a(0)
,p_AnSa(0)
,p_AnRa(0)
,p_AnVa(0)
,p_Rcsa(0)
,p_Lcsa(0)
{ {
cout << "**** Create TNeAnalysis name: " << argv[0] << endl; cout << "**** Create TNeAnalysis name: " << argv[0] << endl;
...@@ -84,10 +102,28 @@ TNeAnalysis::TNeAnalysis(int argc, char** argv) ...@@ -84,10 +102,28 @@ TNeAnalysis::TNeAnalysis(int argc, char** argv)
// At this point, autosave file has not yet been read! // At this point, autosave file has not yet been read!
// Therefore parameter values set here will be overwritten // Therefore parameter values set here will be overwritten
// if an autosave file is there. // if an autosave file is there.
p_T1xa = new TNeDet16("T1xa"); p_Lxa = new TNeDet16("Lxa");
p_T1ya = new TNeDet16("T1ya"); p_Lya = new TNeDet16("Lya");
AddParameter(p_T1xa); p_Rxa = new TNeDet16("Rxa");
AddParameter(p_T1ya); p_Rya = new TNeDet16("Rya");
p_Rva = new TNeDet16("Rva");
p_R20a = new TNeDet16("R20a");
p_AnSa = new TNeDet16("AnSa");
p_AnRa = new TNeDet16("AnRa");
p_AnVa = new TNeDet16("AnVa");
p_Rcsa = new TNeDet16("Rcsa");
p_Lcsa = new TNeDet16("Lcsa");
AddParameter(p_Lxa);
AddParameter(p_Lya);
AddParameter(p_Rxa);
AddParameter(p_Rya);
AddParameter(p_Rva);
AddParameter(p_R20a);
AddParameter(p_AnSa);
AddParameter(p_AnRa);
AddParameter(p_AnVa);
AddParameter(p_Rcsa);
AddParameter(p_Lcsa);
// pMTracks = new TNeMParms("MTRACKS"); // pMTracks = new TNeMParms("MTRACKS");
// AddParameter(pMTracks); // AddParameter(pMTracks);
...@@ -126,8 +162,17 @@ Int_t TNeAnalysis::UserPreLoop() ...@@ -126,8 +162,17 @@ Int_t TNeAnalysis::UserPreLoop()
} }
fEvents=0; // event counter fEvents=0; // event counter
fLastEvent=0; // number of last event processed fLastEvent=0; // number of last event processed
p_T1xa->ReadData(); p_Lxa->ReadData();
// p_T1ya->ReadData();>Z p_Lya->ReadData();
p_Rxa->ReadData();
p_Rya->ReadData();
p_Rva->ReadData();
p_R20a->ReadData();
p_AnSa->ReadData();
p_AnRa->ReadData();
p_AnVa->ReadData();
p_Rcsa->ReadData();
p_Lcsa->ReadData();
return 0; return 0;
......
...@@ -29,8 +29,17 @@ public: ...@@ -29,8 +29,17 @@ public:
virtual Int_t UserEventFunc(); virtual Int_t UserEventFunc();
virtual Int_t UserPostLoop(); virtual Int_t UserPostLoop();
TNeDet16* p_T1xa; TNeDet16* p_Lxa;
TNeDet16* p_T1ya; TNeDet16* p_Lya;
TNeDet16* p_Rxa;
TNeDet16* p_Rya;
TNeDet16* p_Rva;
TNeDet16* p_R20a;
TNeDet16* p_AnSa;
TNeDet16* p_AnRa;
TNeDet16* p_AnVa;
TNeDet16* p_Rcsa;
TNeDet16* p_Lcsa;
// TNeMParms* pMTracks; // TNeMParms* pMTracks;
ClassDef(TNeAnalysis,1) ClassDef(TNeAnalysis,1)
......
/* -*- mode:c++ c-file-style:"linux" -*- */
//=================================================================== //===================================================================
//== TNeEvent.cxx: //== TNeEvent.cxx:
//== Version: //== Version:
//=================================================================== //===================================================================
using namespace std; using namespace std;
#include "TNeEvent.h" #include "TNeEvent.h"
#include "Riostream.h" #include "Riostream.h"
#include <algorithm>
TNeEvent::TNeEvent() TNeEvent::TNeEvent()
:TGo4EventElement() :TGo4EventElement()
{ {
cout << "**** TNeEvent: Create instance" << endl; cout << "**** TNeEvent: Create instance" << endl;
} //------------------------------------------------------------------- } //-------------------------------------------------------------------
TNeEvent::TNeEvent(const char* name) TNeEvent::TNeEvent(const char* name)
:TGo4EventElement(name) :TGo4EventElement(name)
{ {
cout << "**** TNeEvent: Create instance " << name << endl; cout << "**** TNeEvent: Create instance " << name << endl;
...@@ -26,29 +29,52 @@ TNeEvent::~TNeEvent() ...@@ -26,29 +29,52 @@ TNeEvent::~TNeEvent()
void TNeEvent::Clear(Option_t *t) void TNeEvent::Clear(Option_t *t)
{ {
//================================================================== //==================================================================
//== all members should be cleared. //== all members should be cleared.
//== memset(fRawData,0, sizeof(fRawData)); //== memset(fRawData,0, sizeof(fRawData));
//================================================================== //==================================================================
// SQ // Si
memset(T1xa, 0, sizeof(T1xa)); L1.Clear();
memset(T1xa, 0, sizeof(T1xa)); memset(Lxa, 0, sizeof(Lxa));
memset(Lxt, 0, sizeof(Lxt));
memset(Lya, 0, sizeof(Lya));
memset(Lyt, 0, sizeof(Lyt));
memset(Rxa, 0, sizeof(Rxa));
memset(Rxt, 0, sizeof(Rxt));
memset(Rya, 0, sizeof(Rya));
memset(Ryt, 0, sizeof(Ryt));
memset(Rva, 0, sizeof(Rva));
memset(Rvt, 0, sizeof(Rvt));
memset(R20a, 0, sizeof(R20a));
memset(R20t, 0, sizeof(R20t));
memset(AnSa, 0, sizeof(AnSa));
memset(AnSt, 0, sizeof(AnSt));
memset(AnRa, 0, sizeof(AnRa));
memset(AnRt, 0, sizeof(AnRt));
memset(AnVa, 0, sizeof(AnVa));
memset(AnVt, 0, sizeof(AnVt));
std::fill_n(Rcsa,16,0);
std::fill_n(Rcst,16,0);
std::fill_n(Lcsa,16,0);
std::fill_n(Lcst,16,0);
// ToF // ToF
memset(F3, 0, sizeof(F3)); memset(F3, 0, sizeof(F3));
memset(tF3, 0, sizeof(tF3)); memset(tF3, 0, sizeof(tF3));
memset(F5, 0, sizeof(F5)); memset(F5, 0, sizeof(F5));
memset(tF5, 0, sizeof(tF5)); memset(tF5, 0, sizeof(tF5));
// MWPC // MWPC
memset(tMWPC, 0, sizeof(tMWPC)); memset(tMWPC, 0, sizeof(tMWPC));
nevent = 0; nevent = 0;
trigger = 0; trigger = 0;
subevents = 0; subevents = 0;
evsize = 0; evsize = 0;
mtime = 0; mtime = 0;
} //------------------------------------------------------------------- } //-------------------------------------------------------------------
/* -*- mode:c++ c-file-style:"linux" -*- */
//=================================================================== //===================================================================
//== TNeEvent.h: //== TNeEvent.h:
//== Version: //== Version:
...@@ -7,6 +8,7 @@ ...@@ -7,6 +8,7 @@
#define TNeEVENT_H #define TNeEVENT_H
#include "TGo4EventElement.h" #include "TGo4EventElement.h"
#include "TDSSD16.h"
class TNeEvent : public TGo4EventElement class TNeEvent : public TGo4EventElement
{ {
...@@ -18,11 +20,51 @@ public: ...@@ -18,11 +20,51 @@ public:
/** Method called by the framework to clear the event element. */ /** Method called by the framework to clear the event element. */
void Clear(Option_t *t=""); void Clear(Option_t *t="");
//-----SQ----- //-----Si-----
unsigned short T1xa[16]; TDSSD16 L1;
unsigned short T1xt[16]; unsigned short Lxa[16];
unsigned short T1ya[16]; unsigned short Lxt[16];
unsigned short T1yt[16]; unsigned short Lxc[16];
unsigned short Lya[16];
unsigned short Lyt[16];
unsigned short Lyc[16];
unsigned short Rxa[16];
unsigned short Rxt[16];
unsigned short Rxc[16];
unsigned short Rya[16];
unsigned short Ryt[16];
unsigned short Ryc[16];
unsigned short Rva[16];
unsigned short Rvt[16];
unsigned short Rvc[16];
unsigned short R20a[16];
unsigned short R20t[16];
unsigned short R20c[16];
unsigned short AnSa[16];
unsigned short AnSt[16];
unsigned short AnSc[16];
unsigned short AnRa[16];
unsigned short AnRt[16];
unsigned short AnRc[16];
unsigned short AnVa[16];
unsigned short AnVt[16];
unsigned short AnVc[16];
unsigned short Rcsa[16];
unsigned short Rcst[16];
unsigned short Rcsc[16];
unsigned short Lcsa[16];
unsigned short Lcst[16];
unsigned short Lcsc[16];
unsigned short F3[4]; unsigned short F3[4];
unsigned short tF3[4]; unsigned short tF3[4];
......
This diff is collapsed.
...@@ -8,17 +8,17 @@ ...@@ -8,17 +8,17 @@
//-----class TNeParam-----; //-----class TNeParam-----;
extern int otl; extern int otl;
class TNeProc : public TGo4EventProcessor class TNeProc : public TGo4EventProcessor
{ {
public: public:
TNeProc() ; TNeProc() ;
TNeProc(const char* name); TNeProc(const char* name);
virtual ~TNeProc() ; virtual ~TNeProc() ;
//! event processing function
Bool_t BuildEvent(TGo4EventElement* target); // event processing function Bool_t BuildEvent(TGo4EventElement* target);
double GetClasters(unsigned short n, unsigned short *x); double GetClasters(unsigned short n, unsigned short *x);
static long bit[32]; static long bit[32];
private: private:
TH1 *fTrigger; TH1 *fTrigger;
TH1 *fSubEvents; TH1 *fSubEvents;
...@@ -26,14 +26,63 @@ private: ...@@ -26,14 +26,63 @@ private:
// //
//-----SQ----- //-----SQ-----
//-----raw----- //-----raw-----
TH2 * hT1a; TH1 *d1Lxa[16];
TH2 * hT1t; TH1 *d1Lxt[16];
TH1 *d1T1xa[16]; TH1 *d1Lxc[16];
TH1 *d1T1xt[16]; TH1 *d1Lya[16];
TH1 *d1T1xc[16]; TH1 *d1Lyt[16];
TH1 *d1T1ya[16]; TH1 *d1Lyc[16];
TH1 *d1T1yt[16]; TH1 *d1Rxa[16];
TH1 *d1T1yc[16]; TH1 *d1Rxt[16];
TH1 *d1Rxc[16];
TH1 *d1Rya[16];
TH1 *d1Ryt[16];
TH1 *d1Ryc[16];
TH1 *d1Rva[16];
TH1 *d1Rvt[16];
TH1 *d1Rvc[16];
TH1 *d1AnSa[16];
TH1 *d1AnSt[16];
TH1 *d1AnSc[16];
TH1 *d1AnRa[16];
TH1 *d1AnRt[16];
TH1 *d1AnRc[16];
TH1 *d1AnVa[16];
TH1 *d1AnVt[16];
TH1 *d1AnVc[16];
TH1 *d1R20a[16];
TH1 *d1R20t[16];
TH1 *d1R20c[16];
TH1 *d1Rcsa[16];
TH1 *d1Rcst[16];
TH1 *d1Rcsc[16];
TH1 *d1Lcsa[16];
TH1 *d1Lcst[16];
TH1 *d1Lcsc[16];
//______________ 2 dim
TH2 *d2ede;
TH2 *d2LyLcs1;
TH2 *d2LyLcs2;
TH2 *d2LyLcs3;
TH2 *d2LyLcs4;
TH2 *d2LyLcs5;
TH2 *d2LyLcs6;
TH2 *d2LyLcs7;
TH2 *d2LyLcs8;
TH2 *d2LyLcs9;
TH2 *d2LyLcs10;
TH2 *d2LyLcs11;
TH2 *d2LyLcs12;
TH2 *d2LyLcs13;
TH2 *d2LyLcs14;
TH2 *d2LyLcs15;
TH2 *d2LyLcs16;
//-----clb----- //-----clb-----
TH1 *d1sq1_x_c[16]; TH1 *d1sq1_x_c[16];
//-----ToF+MWPC----- //-----ToF+MWPC-----
...@@ -51,7 +100,7 @@ private: ...@@ -51,7 +100,7 @@ private:
TH2 *d2ToFaF5; TH2 *d2ToFaF5;
//-----CALIBRATED----- //-----CALIBRATED-----
//-----neutrons----- //-----neutrons-----
//-----WIRES----- //-----WIRES-----
TH1 *d1X1; TH1 *d1X1;
TH1 *d1Y1; TH1 *d1Y1;
...@@ -67,6 +116,12 @@ private: ...@@ -67,6 +116,12 @@ private:
TH1 *d1CY1; TH1 *d1CY1;
TH1 *d1CX2; TH1 *d1CX2;
TH1 *d1CY2; TH1 *d1CY2;
TH2 *d2XYbeamOnTar;
double mwz1, mwx1, mwy1;
double mwz2, mwx2, mwy2;
double zbt, xbt, ybt;
ClassDef(TNeProc,1) ClassDef(TNeProc,1)
}; };
......
2
16
-0.9921 0.006043 0
-1.295 0.006109 0
-1.034 0.006167 0
-1.226 0.005974 0
-1.087 0.006062 0
-1.293 0.006128 0
-1.117 0.006241 0
-1.569 0.006415 0
-0.9381 0.005942 0
-1.331 0.005939 0
-1.029 0.00602 0
-1.252 0.006154 0
-0.9552 0.006104 0
-1.25 0.005964 0
-0.9905 0.005939 0
-1.24 0.006108 0
2
16
-1.042 0.006175 0
-1.175 0.005682 0
-0.956 0.006046 0
-1.212 0.00593 0
-1.005 0.006027 0
-1.249 0.005907 0
-1.035 0.005957 0
-1.215 0.005924 0
-1.064 0.006153 0
-1.337 0.00598 0
-1.073 0.005888 0
-1.235 0.005878 0
-1.054 0.006009 0
-1.005 0.005548 0
-1.112 0.006079 0
-1.28 0.005843 0
2
16
-0.2076 0.005729 0
-0.1873 0.00575 0
-0.1988 0.005828 0
-0.197 0.005838 0
-0.2144 0.00588 0
-0.1965 0.005734 0
-0.215 0.005697 0
-0.1958 0.005678 0
-0.2061 0.005712 0
-0.2116 0.005771 0
-0.2041 0.005894 0
-0.2219 0.005869 0
-0.2133 0.005625 0
-0.2355 0.005817 0
-0.2177 0.005723 0
-0.2396 0.005987 0
2
16
-0.331 0.01068 0
-0.3837 0.01094 0
-0.3164 0.01119 0
-0.3824 0.01105 0
-0.3201 0.01086 0
-0.3969 0.01076 0
-0.3262 0.01092 0
-0.4261 0.01109 0
-0.4124 0.01064 0
-0.4005 0.01113 0
-0.4111 0.01112 0
-0.3407 0.01073 0
-0.4172 0.01071 0
-0.3712 0.01063 1
-0.4475 0.01099 0
-0.362 0.01077 0
2
16
-0.4061 0.01084 0
-0.3753 0.01097 0
-0.4124 0.01095 0
-0.374 0.01086 0
-0.4033 0.01121 0
-0.3717 0.01077 0
-0.4068 0.01111 0
-0.3854 0.01101 0
-0.346 0.01082 0
-0.4533 0.01102 0
-0.3497 0.01072 0
-0.451 0.01108 0
-0.3556 0.01093 0
-0.4478 0.01118 0
-0.364 0.01093 0
-0.4304 0.01064 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
2
16
-1.74 0.0113 0
-2.397 0.01151 0
-1.672 0.01104 0
-2.264 0.01115 0
-1.733 0.01108 0
-2.363 0.01142 0
-1.671 0.01109 0
-2.288 0.01127 0
-1.639 0.01128 0
-2.422 0.01203 0
-1.685 0.01139 0
-2.207 0.01111 0
-1.72 0.01121 0
-2.242 0.0114 0
-1.707 0.01082 0
-2.294 0.01155 0
2
16
-1.717 0.01114 0
-2.412 0.01145 0
-1.638 0.01085 0
-2.253 0.01104 0
-1.764 0.011 0
-2.403 0.01143 0
-1.654 0.01095 0
-2.305 0.01121 0
-1.63 0.01117 0
-2.329 0.01142 0
-1.659 0.01126 0
-2.202 0.01097 0
-1.698 0.01104 0
-2.253 0.0113 0
-1.699 0.01069 0
-2.305 0.01146 0
2
16
-0.4585 0.01085 0
-0.4486 0.01123 0
-0.4754 0.01117 0
-0.2406 0.01096 0
-0.481 0.01117 0
-0.495 0.01145 0
-0.492 0.01093 0
-0.5018 0.01105 0
-0.4927 0.01129 0
-0.4857 0.01117 0
-0.4859 0.01083 0
-0.4279 0.01095 0
-0.4331 0.01089 0
-0.4436 0.01121 0
-0.4329 0.0113 0
-0.4325 0.01129 0
2
16
-0.477 0.01132 0
-0.4198 0.01142 0
-0.4798 0.01101 0
-0.3945 0.01124 0
-0.4799 0.01149 0
-0.3777 0.01094 0
-0.4694 0.01119 0
-0.4171 0.01127 0
-0.4655 0.01118 0
-0.4153 0.01118 0
-0.46 0.01105 0
-0.4163 0.01102 0
-0.4773 0.0109 0
-0.427 0.01087 0
-0.4686 0.01112 0
-0.4137 0.01091 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