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 e69de29..079accd 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 4ab3756..0b21735 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 d92aa14..749e469 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 f8d8d4f..37c9c73 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 796476d..e0306d6 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();
+
 
 }