X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TOF%2FTOFPreprocessor.C;h=1a95a4e9388f3b44f3a89910fa4e44e610c4d503;hb=f96a5cb161f7e7f121354906e69ae3ba8230585c;hp=a8bf04fe2e4a8e03e7f934b1184b27f4772ce7d8;hpb=4541173cc7a1729f6aa51eac04e1d39e7b4184db;p=u%2Fmrichter%2FAliRoot.git diff --git a/TOF/TOFPreprocessor.C b/TOF/TOFPreprocessor.C index a8bf04fe2e4..1a95a4e9388 100644 --- a/TOF/TOFPreprocessor.C +++ b/TOF/TOFPreprocessor.C @@ -11,17 +11,22 @@ $Id$ // CreateInputFilesMap() creates a list of local files, that can be accessed by the shuttle extern TBenchmark *gBenchmark; -void TOFPreprocessor() +void TOFPreprocessor(Char_t * RunType="PHYSICS") { - gSystem->Load("$ALICE/SHUTTLE/TestShuttle/libTestShuttle.so"); + gSystem->Load("$ALICE_ROOT/SHUTTLE/TestShuttle/libTestShuttle.so"); - AliLog::SetClassDebugLevel("AliTOFPreprocessor",1); + AliLog::SetClassDebugLevel("AliTOFPreprocessor",2); // initialize location of CDB - AliTestShuttle::SetMainCDB("local://$ALICE_ROOT/SHUTTLE/TestShuttle/TestCDB"); - AliTestShuttle::SetMainRefStorage("local://$ALICE_ROOT/SHUTTLE/TestShuttle/TestReference"); + AliTestShuttle::SetMainCDB("local://$ALICE_ROOT/OCDB/SHUTTLE/TestShuttle/TestCDB"); + AliTestShuttle::SetMainRefStorage("local://$ALICE_ROOT/OCDB/SHUTTLE/TestShuttle/TestReference"); // create AliTestShuttle instance - AliTestShuttle* shuttle = new AliTestShuttle(0, 0, 1000); + Int_t nrun = 104892; + AliTestShuttle* shuttle = new AliTestShuttle(nrun, 30, 980); + //setting run type to physiscs + shuttle->SetInputRunType(RunType); + shuttle->SetTimeCreated(20); + shuttle->SetDCSQueryOffset(20); // Generation of "fake" input DCS data TMap* dcsAliasMap = CreateDCSAliasMap(); @@ -30,18 +35,28 @@ void TOFPreprocessor() shuttle->SetDCSInput(dcsAliasMap); // processing files. for the time being, the files are local. + shuttle->AddInputFile(AliTestShuttle::kDAQ, "TOF", "HITS", "MON", "$ALICE_ROOT/TOF/ShuttleInput/Hits.root"); + shuttle->AddInputFile(AliTestShuttle::kDAQ, "TOF", "CALIB", "MON", "$ALICE_ROOT/TOF/ShuttleInput/Calib.root"); + shuttle->AddInputFile(AliTestShuttle::kDAQ, "TOF", "READOUT", "MON", "$ALICE_ROOT/TOF/ShuttleInput/Readout.root"); shuttle->AddInputFile(AliTestShuttle::kDAQ, "TOF", "DELAYS", "MON", "$ALICE_ROOT/TOF/ShuttleInput/Total.root"); shuttle->AddInputFile(AliTestShuttle::kDAQ, "TOF", "RUNLevel", "MON", "$ALICE_ROOT/TOF/ShuttleInput/Partial.root"); - char filename[100]; - char LDCname[5]; + shuttle->AddInputFile(AliTestShuttle::kDCS, "TOF", "TofFeeLightMap", "", "$ALICE_ROOT/TOF/ShuttleInput/TOFFEElight.20101028.133932.8000"); + shuttle->AddInputFile(AliTestShuttle::kDCS, "TOF", "TofFeeMap", "", "$ALICE_ROOT/TOF/ShuttleInput/TOFFEE.20091217.194708.105517"); + + TString filename; + TString LDCname; + //char filename[100]; + //char LDCname[5]; + for (Int_t iLDC=0;iLDC<2;iLDC++){ - sprintf(filename,"$ALICE_ROOT/TOF/ShuttleInput/TOFoutPulserLDC_%02i.root",iLDC*2); - sprintf(LDCname,"LDC%i",iLDC*2); + filename.Form("$ALICE_ROOT/TOF/ShuttleInput/TOFoutPulserLDC_%02i.root",iLDC*2); + LDCname.Form("LDC%i",iLDC*2); shuttle->AddInputFile(AliTestShuttle::kDAQ, "TOF", "PULSER", LDCname, filename); - sprintf(filename,"$ALICE_ROOT/TOF/ShuttleInput/TOFoutNoiseLDC_%02i.root",iLDC*2); - sprintf(LDCname,"LDC%i",iLDC*2); + filename.Form("$ALICE_ROOT/TOF/ShuttleInput/TOFoutNoiseLDC_%02i.root",iLDC*2); + LDCname.Form("LDC%i",iLDC*2); shuttle->AddInputFile(AliTestShuttle::kDAQ, "TOF", "NOISE", LDCname, filename); } + // instantiation of the preprocessor AliPreprocessor* pp = new AliTOFPreprocessor(shuttle); @@ -52,22 +67,10 @@ void TOFPreprocessor() gBenchmark->Stop("process"); gBenchmark->Print("process"); - // checking the file which should have been created - AliCDBEntry* chkEntry = AliCDBManager::Instance()->GetStorage(AliShuttleInterface::GetMainCDB())->Get("TOF/Calib/ParOnline", 0); - if (!chkEntry) - { - printf("The file is not there. Something went wrong.\n"); - return; - } - - AliTOFDataDCS* output = dynamic_cast (chkEntry->GetObject()); - // If everything went fine, draw the result - if (output) - printf("Output found.\n"); - // output->Draw(); } + TMap* CreateDCSAliasMap() { // Creates a DCS structure @@ -85,40 +88,35 @@ TMap* CreateDCSAliasMap() aliasMap->SetOwner(1); TRandom random; + /* TDatime *datime = new TDatime(); Int_t time = datime->GetTime(); Int_t date = datime->GetDate(); Int_t pid = gSystem->GetPid(); delete datime; Int_t iseed = TMath::Abs(10000 * pid + time - date); + */ - //Float_t thrHVv=7.75, thrHVc=3, thrLVv=2.75, thrLVc=2.5, - //thrFEEthr=1.5, thrFEEt=10, thrTemp=35, thrPress=1000; - //Float_t tentHVv=6.75, tentHVc=2, tentLVv=1.75, tentLVc=1.5, - // tentFEEthr=0.5, te result=0; - //ntFEEt=20, tentTemp=25, tentPress=900; - //Float_t sigmaHVv=1, sigmaHVc=0.25, sigmaLVv=0.25, sigmaLVc=0.25, - // sigmaFEEthr=0.05, sigmaFEEt=5, sigmaTemp=1, sigmaPress=10; - - Float_t tentHVv=6500, tentHVi=80, tentLVv=2.7, tentLVi=4.5, - tentLVv33=3.3, tentLVv50=5.0, tentLVv48=48, - tentLVi33=100, tentLVi50=3.0, tentLVi48=10, - tentFEEthr=1.0, tentFEEtfeac=25, tentFEEttrm=45; - Float_t sigmaHVv=10, sigmaHVi=10, sigmaLVv=0.2, sigmaLVi=1.0, - sigmaLVv33=0.1, sigmaLVv50=0.1, sigmaLVv48=1, - sigmaLVi33=10, sigmaLVi50=0.5, sigmaLVi48=2, - sigmaFEEthr=0.1, sigmaFEEtfeac=10, sigmaFEEttrm=4; - - Float_t tent=0, sigma=0, thr=0; - Int_t NAliases=10514, NHV=90, NLV=576, NLV33=72, NLV50=72, NLV48=72, NFEEthr=1152, NFEEtfeac=576, NFEEttrm=6840, NT=1, NP=1; + + Float_t tentHVv=6500, tentHVi=80; + Float_t sigmaHVv=10, sigmaHVi=10; + + Float_t tent=0, sigma=0;//, thr=0; + // to have all the aliases, decomment the following line: + Int_t NAliases=360, NHV=90; + + + // if not all the aliases are there, use this: + //Int_t NAliases=120, NHV=90; + + TString sindex; + TString aliasName; for(int nAlias=0;nAliasSetOwner(1); - TString sindex; - TString aliasName; if (nAliassigma){ + AliDCSValue* dcsVal = new AliDCSValue(gaussvalue, timeStamp); + valueSet->Add(dcsVal); + } } - else if (nAliasAdd(new TObjString(aliasName), valueSet); + + } + + + + + const Int_t kNsectors = 18; + const Int_t kNplates = 5; + + UInt_t baseWord = 0; + UInt_t oldBaseWord = 0; + + for(int i=0;iSetOwner(1); + + aliasName = "TOF_HVSTATUS_"; + sindex.Form("SM%02dMOD%1d",i,j); aliasName += sindex; - tent=tentLVi50; - sigma=sigmaLVi50; - //thr=thrLVc; + + + //for (int timeStamp=0;timeStamp<6000;timeStamp+=600) { + for (int timeStamp=0;timeStamp<1201;timeStamp+=600) { + if (timeStamp==0 /*|| timeStamp==1200*/) { + baseWord = CreateHVword(i,j, kTRUE); + oldBaseWord = baseWord; + AliDCSValue* dcsVal = new AliDCSValue(baseWord, timeStamp); + valueSetHV->Add(dcsVal); + } + else { + if (random.Uniform(0.,1.)>=0.5) { + baseWord = CreateHVword(i,j, kFALSE); + if (baseWord<=oldBaseWord) { + oldBaseWord = baseWord; + AliDCSValue* dcsVal = new AliDCSValue(baseWord, timeStamp); + valueSetHV->Add(dcsVal); + } + else { + AliDCSValue* dcsVal = new AliDCSValue(oldBaseWord, timeStamp); + valueSetHV->Add(dcsVal); + } + //Info(Form(" %2d %1d %s %d %d",i,j,aliasName,timeStamp,baseWord)); + } + } + } + + /* + baseWord = CreateHVword(i,j, kTRUE); + AliDCSValue* dcsVal0 = new AliDCSValue(baseWord, 0); + valueSetHV->Add(dcsVal0); + + if ((i==0 && j==2) || (i==9 && j==4)) { + baseWord = CreateHVword(i,j, kFALSE); + AliDCSValue* dcsVal1 = new AliDCSValue(baseWord, 600); + valueSetHV->Add(dcsVal1); + } + + baseWord = CreateHVword(i,j, kTRUE); + AliDCSValue* dcsVal2 = new AliDCSValue(baseWord, 1200); + valueSetHV->Add(dcsVal2); + */ + + aliasMap->Add(new TObjString(aliasName), valueSetHV); + } - else if (nAliasSetOwner(1); + + aliasName = "TOF_FEACSTATUS_"; + sindex.Form("%02d",i); + aliasName += sindex; + + + //for (int timeStamp=0;timeStamp<6000;timeStamp+=600) { + for (int timeStamp=0;timeStamp<1201;timeStamp+=400) { + if (timeStamp==0 /*|| timeStamp==1200*/) { + baseWord = CreateLVword(kTRUE); + AliDCSValue* dcsVal = new AliDCSValue(baseWord, timeStamp); + valueSetLV->Add(dcsVal); + oldBaseWord = baseWord; + //Info(Form(" %2d %s %d %d",i,aliasName,timeStamp,baseWord)); + } + else { + if (random.Uniform(0.,1.)>=0.5) { + baseWord = CreateLVword(kFALSE); + if (baseWord<=oldBaseWord) { + oldBaseWord = baseWord; + AliDCSValue* dcsVal = new AliDCSValue(baseWord, timeStamp); + valueSetLV->Add(dcsVal); + } + else { + AliDCSValue* dcsVal = new AliDCSValue(oldBaseWord, timeStamp); + valueSetLV->Add(dcsVal); + } + //Info(Form(" %2d %1d %s %d %d",i,j,aliasName,timeStamp,baseWord)); + } + } } - else if (nAliasAdd(dcsVal0); + + if (i==7 || i==9) { + baseWord = CreateLVword(kFALSE); + AliDCSValue* dcsVal1 = new AliDCSValue(baseWord, 400); + valueSetLV->Add(dcsVal1); } - else if (nAliasAdd(dcsVal2); } - else if (nAliasSetDefaultStorage("local://$ALICE_ROOT/SHUTTLE/TestShuttle/TestCDB"); + AliCDBManager::Instance()->SetDefaultStorage("local://$ALICE_ROOT/OCDB/SHUTTLE/TestShuttle/TestCDB"); AliCDBManager::Instance()->Put(dcsAliasMap, id, &metaData); } + +