ID |
Date |
Author |
Topic |
Subject |
27
|
21 Dec 2004 |
Matthias Schneebeli | Bug Report | ReadConfiguration |
> I can not change some global steering parameters.
> In my LPConfig::ReadConfiguration in LPConfig.cpp which was generated by builder.
>
> There is a line like
> xml->GetPathValue(path+"/GlobalSteeringParameters/child::SteeringParameterGroup[child::
> SPGroupName='Switch']/child::SteeringParameterGroup[child::SPGroupName='RunMode']/child::
> SteeringParameterField[child::SPName='Pedestal']/SPValue",fConfigData[index]->fGlobalSteering-
> >fRunMode->fPedestal,"");
>
> but it should be
> xml->GetPathValue(path+"/GlobalSteeringParameters/child::SteeringParameterGroup[child::
> SPGroupName='RunMode']/child::SteeringParameterField[child::SPName='Pedestal']/
> SPValue",fConfigData[index]->fGlobalSteering->fRunMode->fPedestal,"");
>
>
> ****
> one small other bug.
> when I start my framework with -h option, rome shows
> -i Configuration file (default ROMEConfig.xml)
> but default is romeConfig.xml
> ***
>
> <GlobalSteeringParameters>
> <SteeringParameterGroup>
> <SPGroupName>Switch</SPGroupName>
> <SteeringParameterField>
> <SPFieldName>ADC1</SPFieldName>
> <SPFieldType>Bool_t</SPFieldType>
> <SPFieldInitialization>1</SPFieldInitialization>
> </SteeringParameterField>
> <SteeringParameterField>
> <SPFieldName>WriteDataBase</SPFieldName>
> <SPFieldType>Bool_t</SPFieldType>
> <SPFieldInitialization>0</SPFieldInitialization>
> </SteeringParameterField>
> </SteeringParameterGroup>
> <SteeringParameterGroup>
> <SPGroupName>RunMode</SPGroupName>
> <SteeringParameterField>
> <SPFieldName>Pedestal</SPFieldName>
> <SPFieldType>Short_t</SPFieldType>
> <SPFieldInitialization>0</SPFieldInitialization>
> </SteeringParameterField>
> <SteeringParameterField>
> <SPFieldName>Normal</SPFieldName>
> <SPFieldType>Short_t</SPFieldType>
> <SPFieldInitialization>1</SPFieldInitialization>
> </SteeringParameterField>
> </SteeringParameterGroup>
> </GlobalSteeringParameters>
done |
28
|
21 Dec 2004 |
Matthias Schneebeli | Bug Report | -e option |
> When I used "-e" option in generated framework. It stopped immediately after starting analysis.
>
> When I commented out following two lines in ROMEEventLoop.cpp. It worked.
>
> // check event numbers
> int status = gROME->CheckEventNumber(event);
> if (status==0) {
> // this->SetContinue();
> // return true;
> }
the syntax is : -e 100-200,205,300-400 |
29
|
01 Jan 2005 |
Ryu Sawada | Bug Report | Multiple TTree writing |
When I make two TTree's write flag true. Both TTrees is written in one file. And the other file is empty.
I added some lines to fix it in ROMEEventLoop.cpp
-------
This is other topic.
Probably, to close TFile after each run is good.
Because, when program runs for several run,
even if program aborts after some runs, files of former runs are safe.
-------
941 // Write non accumulative output tree files
942 ROMEString filename;
943 ROMETree *romeTree;
944 TTree *tree;
945 TFile *fTreeFile;
946 ROMEString runNumberString;
947 gROME->GetCurrentRunNumberString(runNumberString);
948 for (int j=0;j<gROME->GetTreeObjectEntries();j++) {
949 romeTree = gROME->GetTreeObjectAt(j);
950 fTreeFile = fTreeFiles[j];
951 if (romeTree->isWrite() && !gROME->isTreeAccumulation()) {
952 tree = romeTree->GetTree();
953 cout << "Writing Root-File " << tree->GetName() << runNumberString.Data() << ".root"
<< endl;
954 fTreeFile->cd();
955 tree->Write("",TObject::kOverwrite);
956 }
957 }
958 cout << endl; |
30
|
04 Jan 2005 |
Matthias Schneebeli | Bug Report | Multiple TTree writing |
> When I make two TTree's write flag true. Both TTrees is written in one file. And the other file is empty.
>
> I added some lines to fix it in ROMEEventLoop.cpp
>
> -------
> This is other topic.
> Probably, to close TFile after each run is good.
> Because, when program runs for several run,
> even if program aborts after some runs, files of former runs are safe.
>
>
>
> -------
> 941 // Write non accumulative output tree files
> 942 ROMEString filename;
> 943 ROMETree *romeTree;
> 944 TTree *tree;
> 945 TFile *fTreeFile;
> 946 ROMEString runNumberString;
> 947 gROME->GetCurrentRunNumberString(runNumberString);
> 948 for (int j=0;j<gROME->GetTreeObjectEntries();j++) {
> 949 romeTree = gROME->GetTreeObjectAt(j);
> 950 fTreeFile = fTreeFiles[j];
> 951 if (romeTree->isWrite() && !gROME->isTreeAccumulation()) {
> 952 tree = romeTree->GetTree();
> 953 cout << "Writing Root-File " << tree->GetName() << runNumberString.Data() << ".root"
> << endl;
> 954 fTreeFile->cd();
> 955 tree->Write("",TObject::kOverwrite);
> 956 }
> 957 }
> 958 cout << endl;
Thanks |
32
|
09 Jan 2005 |
Ryu Sawada | Bug Report | long task description |
When I made task description longer than about 80 characters. The description was not written in html
file propery. It was shorten.
I guess following lines in ROMEBuilder.cpp are relating to this.
-----------
pos = (char*)taskDescription[iTask].Data();
lenTot = taskDescription[iTask].Length();
while (pos-taskDescription[iTask].Data() < lenTot) {
if (lenTot+(taskDescription[iTask].Data()-pos)<74)
i=TMath::Min(75,lenTot);
else for (i=74;pos[i]!=32&&i>0;i--) {}
if (i<=0)
i=TMath::Min(75,lenTot);
pos[i] = 0;
buffer.AppendFormatted("// %-74.74s \n",pos);
pos = pos+i+1;
} |
33
|
10 Jan 2005 |
Matthias Schneebeli | Bug Report | long task description |
> When I made task description longer than about 80 characters. The description was not written in html
> file propery. It was shorten.
>
> I guess following lines in ROMEBuilder.cpp are relating to this.
>
>
> -----------
> pos = (char*)taskDescription[iTask].Data();
> lenTot = taskDescription[iTask].Length();
> while (pos-taskDescription[iTask].Data() < lenTot) {
> if (lenTot+(taskDescription[iTask].Data()-pos)<74)
> i=TMath::Min(75,lenTot);
> else for (i=74;pos[i]!=32&&i>0;i--) {}
> if (i<=0)
> i=TMath::Min(75,lenTot);
> pos[i] = 0;
> buffer.AppendFormatted("// %-74.74s \n",pos);
> pos = pos+i+1;
> }
done. thanks. |
34
|
10 Jan 2005 |
Matthias Schneebeli | Bug Report | long task description |
> When I made task description longer than about 80 characters. The description was not written in html
> file propery. It was shorten.
>
> I guess following lines in ROMEBuilder.cpp are relating to this.
>
>
> -----------
> pos = (char*)taskDescription[iTask].Data();
> lenTot = taskDescription[iTask].Length();
> while (pos-taskDescription[iTask].Data() < lenTot) {
> if (lenTot+(taskDescription[iTask].Data()-pos)<74)
> i=TMath::Min(75,lenTot);
> else for (i=74;pos[i]!=32&&i>0;i--) {}
> if (i<=0)
> i=TMath::Min(75,lenTot);
> pos[i] = 0;
> buffer.AppendFormatted("// %-74.74s \n",pos);
> pos = pos+i+1;
> }
done. thanks. |
36
|
12 Jan 2005 |
Ryu Sawada | Bug Report | invalid header |
When I built my application with romebuilder.
It complained like,
Error : File './/src/tasks/LPTXEGainCalib.cpp' has an invalid header !!!
Error : File './/src/tasks/LPTXETimeCalib.cpp' has an invalid header !!!
Error : File './/src/tasks/LPTUTTask.cpp' has an invalid header !!!
Headers looks like,
//// Author: Ryu Sawada
/////////////^@//////////////////////////////////////////////////////////////////
// //
Thre first time to build Just after I removed ^@, builder stopped warning.
But after that ^@ appeared again and builder starts warning.
I have several task files, but builder adds ^@ always these three files.
My source files are here.
cvs -d :ext:pc4466.psi.ch:/usr/local/cvsroot co lpframework |
37
|
16 Jan 2005 |
Ryu Sawada | Bug Report | user input |
After change of ROMEEventLoop.cpp 1.39, Program steerings don't work on Linux. |
38
|
17 Jan 2005 |
Matthias Schneebeli | Bug Report | user input |
> After change of ROMEEventLoop.cpp 1.39, Program steerings don't work on Linux.
Sorry. |
47
|
05 Feb 2005 |
Ryu Sawada | Bug Report | small problem of XML definition file |
About <EventHeader> in xml definition file.
In description page in ROME homepage, It is wirtten that <EventId> specifies the field.
But It seems that 'd' shoud be capital. |
50
|
09 Mar 2005 |
Ryu Sawada | Bug Report | Unanalyzed events |
In online mode, ROME often stops before finishing to analyze all events of runs.
When it happens, gAnalyzer->GetCurrentEventNumber() starts not from 1 but from analyzed event
number at previous run. And unanalyzed events at the previous run are mixed with the new run.
In mana.c of MIDAS, I found a part to wait until all events in buffers are analyzed when analyzer gets
TR_STOP signal, while ROME does not have.
I personaly don't need that all events are analyzed, but it is really problem that data of two runs are
mixed.
One way is to take similar way as midas analyzer, and the another way is just discard unanalyzed
events. |
51
|
09 Mar 2005 |
Ryu Sawada | Bug Report | default values in romeConfig.xml |
Recently, default values of steering parameters in romeConfig.xml are always 0. They are not as same
as values in SPFieldInitialization of definition XML file. |
52
|
10 Mar 2005 |
Ryu Sawada | Bug Report | ResetFolders |
In ROMEEventLoop.cpp::ReadEvent
this->ResetFolders is called before fActiveDAQ->ReadEvent, so data in event headers are not updated
properly. |
56
|
21 Mar 2005 |
Matthias Schneebeli | Bug Report | small problem of XML definition file |
> About <EventHeader> in xml definition file.
>
> In description page in ROME homepage, It is wirtten that <EventId> specifies the field.
> But It seems that 'd' shoud be capital.
done |
58
|
21 Mar 2005 |
Matthias Schneebeli | Bug Report | ResetFolders |
> In ROMEEventLoop.cpp::ReadEvent
> this->ResetFolders is called before fActiveDAQ->ReadEvent, so data in event headers are not updated
> properly.
done |
59
|
21 Mar 2005 |
Matthias Schneebeli | Bug Report | Unanalyzed events |
> In online mode, ROME often stops before finishing to analyze all events of runs.
> When it happens, gAnalyzer->GetCurrentEventNumber() starts not from 1 but from analyzed event
> number at previous run. And unanalyzed events at the previous run are mixed with the new run.
>
> In mana.c of MIDAS, I found a part to wait until all events in buffers are analyzed when analyzer gets
> TR_STOP signal, while ROME does not have.
>
> I personaly don't need that all events are analyzed, but it is really problem that data of two runs are
> mixed.
>
> One way is to take similar way as midas analyzer, and the another way is just discard unanalyzed
> events.
done |
60
|
21 Mar 2005 |
Ryu Sawada | Bug Report | ResetFolders |
> > In ROMEEventLoop.cpp::ReadEvent
> > this->ResetFolders is called before fActiveDAQ->ReadEvent, so data in event headers are not updated
> > properly.
>
> done
I wonder if this is the reason why Jan couldn't read scaler events.
Event ID was shifted by two events, so when scaler event comes, ROME can always recognize it as trigger events. |
62
|
23 Mar 2005 |
Matthias Schneebeli | Bug Report | ResetFolders |
> > > In ROMEEventLoop.cpp::ReadEvent
> > > this->ResetFolders is called before fActiveDAQ->ReadEvent, so data in event headers are not updated
> > > properly.
> >
> > done
> I wonder if this is the reason why Jan couldn't read scaler events.
> Event ID was shifted by two events, so when scaler event comes, ROME can always recognize it as trigger events.
No the reason for Jan's problem was that rome never requested scaler events from the frontend. This is fixed now. |
64
|
26 Mar 2005 |
Ryu Sawada | Bug Report | problem after changing xml library |
After changing xml library from libxml2 to mxml, examples (sample and MEG) can not be compiled.
My project does not work too. What is necessary to make it work? |