Adding README file + using proper Makefile (Marian)
authormarian <marian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 18 Feb 2008 12:06:04 +0000 (12:06 +0000)
committermarian <marian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 18 Feb 2008 12:06:04 +0000 (12:06 +0000)
TPC/amoreTPC-QA/README
TPC/amoreTPC-QA/src/Makefile.inc
TPC/amoreTPC-QA/src/publisher/PublisherQA.cxx
TPC/amoreTPC-QA/src/ui/Makefile
TPC/amoreTPC-QA/src/ui/UIQA.cxx

index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..079accd08a5e157a68217184232f234bc478af36 100644 (file)
@@ -0,0 +1,26 @@
+AMORE AGENT config:
+
+
+Please enter an agent name [MyAgent1] :
+Please enter the hostname where the agent should run [pcmiranov] : localhost
+Please enter the DET code of the agent [DET] : TPC
+Please enter the hostname of the DIM node the agent should use [pcmiranov] : localhost
+Please enter the hostname which should be used as dqmPool (Should be the node which was setup with MySQL for AMORE) [pcmiranov] : localhost
+Please enter the default DATE datasource for this agent [:] : RAW
+Please enter the default AMORE PublisherModule for this agent [MyModule1] : AmoreTPCPublisher
+New amoreAgent was succesfully configured
+
+
+
+
+mysql:
+mysql -udaq -p
+
+use AMORE;
+show tables;
+select moname from CEDA;
+
+
+
+publisher:
+
index 4ab375672796c736e1652e28455b2ce80cfa2306..0b217353cfbff4b31441cfeea664c37d79284a36 100644 (file)
@@ -23,7 +23,7 @@ MYSQL_LIBS    := $(shell mysql_config --libs)
 AMORE_CPPFLAGS         := $(shell amore-config --includes)
 AMORE_CFLAGS   := $(shell amore-config --cflags) #-pg #-pedantic
 AMORE_LDFLAGS  := $(shell amore-config --ldflags) #-pg
-AMORE_LIBS     := $(shell amore-config --libs)
+AMORE_LIBS     := $(shell amore-config --libs) -lAmoreDA
 
 CPP            := g++ -E 
 CPPFLAGS       := $(ROOT_CPPFLAGS) $(DATE_CPPFLAGS) $(DATE_RCPROXYCFLAGS) $(ALIROOT_CPPFLAGS) $(MYSQL_CPPFLAGS) $(AMORE_CPPFLAGS)
index d92aa1458d6016f4ef0227d866434a1b32003a69..749e469e530f542cafceecd5ce78851f6633595e 100644 (file)
@@ -18,6 +18,7 @@
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
 #include "PublisherQA.h"
+#include <AmoreDA.h>
 
 ClassImp(amore::TPC::publisher::PublisherQA)
 
index f8d8d4fdac57460f4474b082ca67a10f4dcbccdd..37c9c73e54b8fed8b04974e7b2041773641f7a20 100644 (file)
@@ -6,10 +6,10 @@ pkginclude_HEADERS = UIQA.h
 BUILT_SOURCES = TPCUIDict.h TPCUIDict.cxx
 
 bin_PROGRAMS = libAmoreTPCUI.$(DllSuf)
-libAmoreTPCUI_CPPFLAGS = $(CPPFLAGS) -I../common
+libAmoreTPCUI_CPPFLAGS = $(CPPFLAGS) -I../common -I$(ALICE_ROOT)/TPC
 libAmoreTPCUI_CXXFLAGS = $(CXXFLAGS)
-libAmoreTPCUI_LIBS = $(LIBS) -lAmoreTPCCommon
-libAmoreTPCUI_LDFLAGS = $(LDFLAGS) -L../common -L$(AMORE_SITE)/lib -shared -Wl,-soname,$(bin_PROGRAMS) -o $(bin_PROGRAMS)
+libAmoreTPCUI_LIBS = $(LIBS)   $(AMORE)/lib/libAmoreDA.a   -lAmoreTPCCommon  -lEG -lVMC -lGeom -lMinuit -lRAWDatabase -lSTEERBase -lSTEER -lESD -lRAWDatarec -lCDB -lTPCbase -lTPCrec -lTPCsim
+libAmoreTPCUI_LDFLAGS = $(LDFLAGS) -L../common -L$(ALICE_ROOT)/lib/tgt_linux -L$(AMORE_SITE)/lib -shared -Wl,-soname,$(bin_PROGRAMS) -o $(bin_PROGRAMS)
 libAmoreTPCUI_SOURCES = TPCUIDict.cxx UIQA.cxx
 libAmoreTPCUI_OBJECTS = TPCUIDict.$(ObjSuf) $(patsubst %.$(SrcSuf),%.$(ObjSuf),$(wildcard *.$(SrcSuf)))
 
@@ -22,6 +22,7 @@ default: all
 all: $(bin_PROGRAMS)
 
 $(bin_PROGRAMS): $(libAmoreTPCUI_OBJECTS)
+       @echo Creating library..        @$(LD) $(libAmoreTPCUI_LDFLAGS) $(libAmoreTPCUI_LIBS) $^
        @$(LD) $(libAmoreTPCUI_LDFLAGS) $(libAmoreTPCUI_LIBS) $^
 #$(OutPutOpt)$@
 
index 796476d5f35d3e5ee83c1d242921c3da38b9fe69..e0306d6f7d9bc17815c32fb1c388f2ab75b3d56e 100644 (file)
@@ -18,6 +18,8 @@
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
 #include "UIQA.h"
+#include "AliTPCCalibCE.h"
+#include <AmoreDA.h>
 
 ClassImp(amore::TPC::ui::UIQA)
 
@@ -33,6 +35,9 @@ namespace ui {
 
 using amore::subscriber::Subscribe;
 
+
+
+
 UIQA::UIQA() {
 
  Construct(); // Temporary but important!!! Do not forget to put this call in the constructor for the time being!
@@ -61,33 +66,30 @@ void UIQA::Construct() { // The custom GUI is constructed here. gRootFrame is th
 
 void UIQA::SubscribeMonitorObjects() { // Before using any MonitorObject, a subscription should be made.
 
- std::ostringstream stringStream;
- amore::core::String_t sourceName="TPCQA", subscription; // The agent name acting as a source could be concatenated with all the objects it contains
- subscription=sourceName+"/moInt1";
- Subscribe(moInt1, subscription.c_str());
- subscription=sourceName+"/hHighPhosModules";
- Subscribe(subscription.c_str()); // Here you put a series of subscriptions where the string corresponds to the object name as published in the Publisher Module. As these names are internal to the QA framework, the recommended way of having consistency between AMORE and QA is to factor-out of QA the function that represents the histogram naming convention as a separate AliRoot class/function and use it from inside QA and AMORE.
+  //std::ostringstream stringStream;
+ //amore::core::String_t sourceName="CEDA/", subscription; // The agent name acting as a source could be concatenated with all the objects it contains
+ //subscription=sourceName+"CE";
+ //Subscribe(subscription.c_str()); // Here you put a series of subscriptions where the string corresponds to the object name as published in the Publisher Module. As these names are internal to the QA framework, the recommended way of having consistency between AMORE and QA is to factor-out of QA the function that represents the histogram naming convention as a separate AliRoot class/function and use it from inside QA and AMORE.
  //...
  
 }
 
 void UIQA::Update() { // This is executed after getting the updated contents of the subscribed MonitorObjects. Notice that the output of moInt[i] and moString[i] varies with time for a specific i because on the dqmAgent the "quality" check fails or succeeds. This is the essence of automatic data quality checks in AMORE. Try to use the moString[i] on a text widget to alert the shifter, or -depending of the value of moInt[i], 0 or 1- make part of the screen change color...
  std::ostringstream stringStream;
+ amore::da::AmoreDA amoreDA;
  // Example of accessing a normal TObject. The name is the name of the object in the QA framework
amore::core::MonitorObjectTObject* ptr=gSubscriber->At<amore::core::MOTObj>("TPCQA/hHighPhosModules");
TH1F* hHighPhosModules=0;
- if(ptr) {
 hHighPhosModules=(TH1F*)ptr->Object();
- }
//amore::core::MonitorObjectTObject* ptr=gSubscriber->At<amore::core::MOTObj>("CEDA/CE");
//AliTPCCalibCE* hCalibCE=0;
//if(ptr) {
//hCalibCE=(AliTPCCalibCE*)ptr->Object();
//}
  // End of access example
- fEC[0]->GetCanvas()->cd(1);
- if(hHighPhosModules) hHighPhosModules->Draw();
- for(size_t i=1; i<=4; ++i) {
-  //Fill the other pads similarly...
- }
- fEC[0]->GetCanvas()->Update();
+
+ // hCalibCE->Dump();
+ TObject *temp=0;
+ amoreDA.Receive("CEDA/CE",temp);
+ temp->Dump();
+
 
 }